Итак, я разместил этот вопрос
Ввод простого языка выражений в Java
и получил отличный ответ об использовании ScriptEngine, чтобы позволить пользователю писать javascript, что я и сделал, и это, похоже, работает
Но пока такое выражение, как
(artist.length>0 ? artist + '-' :'') + (album.length>0 ? album + '-' :'')
работает с полным оператором if, а не
if(artist.length>0) {artist + ':-'} + (album.length>0 ? album + '-' :'')
Вы можете спросить, почему я это делаю, я надеялся, что смогу использовать оператор if: else if: else, и это был шаг к этому