Я хочу написать аспект, который будет генерировать геттеры/сеттеры для полей класса, в котором он используется.Создание Getters/Setters с AspectJ
Я новичок в AspectJ, может кто-нибудь указать мне в правильном направлении? Образец будет приятным.
Я хочу написать аспект, который будет генерировать геттеры/сеттеры для полей класса, в котором он используется.Создание Getters/Setters с AspectJ
Я новичок в AspectJ, может кто-нибудь указать мне в правильном направлении? Образец будет приятным.
То, что вы ищете, это Project Lombok. Он генерирует геттеры/сеттеры и различные другие удобные методы. Он интегрируется с Eclipse, поэтому видны технически не существующие аксессоры.
(не совсем уверен, но ...) Я боюсь, что аспектное программирование может добавить поведение к классам, а не к интерфейсу. Если бы вы могли генерировать getters/seters во время выполнения ... в любом случае вы не можете называть их в своем коде, потому что они еще не существовали. У вас будет ошибка времени компиляции.
Возможно, вы можете использовать какой-либо источник источника IDE. Как в Eclipse: Source menu -> generate getters/seters.
На самом деле, с помощью ITD вы можете добавлять поведение к интерфейсам и абстрактным классам, так как они будут действовать как Mixins. Вы по-прежнему не сможете создавать интерфейсы, но каждый класс, реализующий его, будет иметь поведение, добавленное к интерфейсам. – EdMelo
Отъезд Spring Roo, который генерирует геттеры и сеттеры, генерируя AspectJ ITD.
Не самая элегантная вещь, но она выполняет работу без затрат времени на другие вещи, такие как lambok.
Ломбок не имеет накладных расходов. –
Это почти то, что мне нужно, но мне нужно будет динамически добавлять '@ Getter' и' @ Setter', возможно ли это с AspectJ? –
Проект Lombok работает во время компиляции. Динамическое добавление аннотаций не решит вашу проблему. – EdMelo