Я хочу использовать beanshell (bsh) для оценки пользовательских выражений. Я хочу, чтобы эти выражения имели своего рода подстановку макросов, например:
boolean isTrue = i.eval("@something == 5");
Есть ли способ, чтобы bsh перезвонил моей java для замены переменных, когда он анализирует приведенный выше пример перед оценкой?
РЕДАКТИРОВАНИЕ Мое намерение состоит в том, чтобы позволить пользователю указать выражение (например, @something == 5
), где @something
является ключом и требует замены фактического значения. Я хочу иметь возможность передать всю строку оценки, как указано пользователем, и хотел бы, чтобы beanshell вызывал обработчик типа «преобразователь» во время синтаксического анализа.
Заранее спасибо -- Франк