Ввод простого языка выражений в java

В моем приложении Java пользователи могут указать, как называть свои файлы из серии полей метаданных. т.е.

%artist% - %album% - %disctotal%

Затем мой код анализирует эти поля и соответствующим образом переименовывает файл. Но я хочу, чтобы пользователь мог использовать «язык выражения», чтобы он мог говорить такие вещи, как:

$if(%disctotal% >= 01,%discno%) 

Используйте ifelse , сравнивайте длину и регистр и т. Д.

Я не хочу писать это с нуля, есть ли что-то, что предлагает мне это, что я могу просто добавить в свой код?

РЕДАКТИРОВАТЬ: Я думаю, у меня было несколько хороших ответов,но мои знания подводят меня. Давайте упростим проблему. Я хочу, чтобы пользователь мог написать

$ if (% disctotal%> = 01,% discno%)

в поле графического интерфейса.

Затем позже в моем Java-коде Я хочу иметь возможность применить это выражение к набору файлов, поэтому для каждого файла у меня есть значение disctotal и discno, но я хочу иметь возможность преобразовать выражение во что-то вроде

if (discTotal> = 1 ) { возврат диска } еще { вернуть "" }

Чего я не хочу, так это писать код, распознающий строку (" $ if (% disctotal%> = 01,% discno%) "является оператором if, потому что это неудобно делать.

Затем, расширяя это, я хотел бы, чтобы выражение позволяло такие вещи, как использование заглавных букв в полях, проверка длины поля и т. д.

В качестве альтернативы: возможно, это должно работать таким образом, пользователь вводит выражение, а затем позднее для каждого файла код Java заменяет каждую переменную реальным значением

, т.е. $ if (% disctotal%> = 01,% discno%) -> $ if (2> = 01,1)

тогда это передается на язык выражения для анализа и выдачи результата,

Это Идея Javascript?

5
задан Paul Taylor 9 June 2011 в 08:14
поделиться