Вы можете сделать это, но вы не должны изменять класс, содержащий аннотации. (Уловка, на которую вы ссылаетесь, использует API дерева компиляции для изменения генерируемого байт-кода ...) Это не поддерживается и, вероятно, будет защищено в последующих Java SDK.
Правильный способ сделать это - создать класс суперкласса, подкласса или класса-оболочки.
Я написал набор аннотаций, которые генерируют геттеры / сеттеры и другие забавные вещи. Я генерирую суперкласс.
См. http://code.google.com/p/javadude/wiki/Annotations
Вы можете делать такие вещи, как
package sample;
import com.javadude.annotation.Bean;
import com.javadude.annotation.Property;
import com.javadude.annotation.PropertyKind;
@Bean(properties={
@Property(name="name"),
@Property(name="phone", bound=true),
@Property(name="friend", type=Person.class, kind=PropertyKind.LIST)
})
public class Person extends PersonGen {
}
и он сгенерирует для вас PersonGen с полями / получателями / сеттерами и поддержкой связанных свойств.