@BeanProperty
генерирует простые методы get
/set
. Есть ли способ автоматически генерировать такие методы с поддержкой событий изменения свойства (например, я хочу использовать его с JFace Databinding?)
@BeanProperty с поддержкой PropertyChangeListener?
Ответы (2)
У меня был тот же вопрос, и я внимательно следил за возможными ответами. Я думаю, что я только что наткнулся на один (хотя я еще не пробовал). В Scala 2.9 есть функция обработки динамических вызовов (я подозреваю, что она предназначена для интеграции с динамическими языками). По сути, вызовы несуществующих методов перенаправляются в метод с именем applyDynamic. Реализация этого метода может использовать отражение для проверки того, что сигнатура метода соответствует свойству (возможно, с аннотацией, похожей на @BeanProperty). Если есть совпадение, он может обработать событие.
Может быть, это то, где пользовательский плагин компилятора может помочь. К сожалению, я понятия не имею, как написать такой плагин. Но по крайней мере думал, что я даю вам этот указатель.
Мне было бы очень интересно, если бы вы придумали что-то в этом роде.