Можно ли получить динамический доступ к свойствам с помощью #evaluate? Заранее извиняюсь за длину, но большая часть этого - всего лишь пример кода, чтобы полностью проиллюстрировать мою проблему.
У меня есть класс предпочтений, который выглядит следующим образом:
public class DefaultUserPreferences implements Preferences {
//Getters and setters left off for "brevity…"
private Panel defaultPanel;
private OrderByColumn mostActiveSortOrder;
private OrderByColumn recentlyModifiedAccountsSortColumn;
}
Каждый из этих типов является просто настраиваемым перечислением.
public enum OrderByColumn {
NAME,
LAST_ACTIVITY,
GROUP
}
public enum Panel {
MOST_ACTIVE,
RECENTLY_MODIFIED;
public String getCamelCase() {
String[] words = StringUtils.split(this.name(), "_");
String rval = StringUtils.EMPTY;
if (words != null && words.length >= 1) {
rval = StringUtils.lowerCase(words[0]);
for(int i = 1; I < words.length; i++) {
rval += StringUtils.capitalize(words[i].toLowerCase());
}
}
return rval;
}
}
] Ниже приведен фрагмент того, как я хотел бы отображать предпочтения для пользователей, но я не могу вызвать вызов геттера (я получаю следующее, если оцениваю его для получения текста: (скрыто) мой геттер Кажется, что никогда не вызывается в настройках. Я добавил каждую из частей в контекст, и у меня нет проблем с повторением по панелям, я просто не могу получить синтаксис для динамического вызова методов получения свойств . Возможно ли это в версии 1.7?