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