I've asked this question on StackOverflow and have not gotten an answer after 115 views so I thought I would ask here. You can post your answer on SO too if you'd like the rep. http://stackoverflow.com/questions/5901690/turning-one-annotation-into-many-annotations-with-aspectj
I have discovered a pattern in my JPA mappings that I would like to codify. A simple example follows: @OneToMany(fetch=FetchType.EAGER) @Sort(type=SortType.NATURAL) private SortedSet<Item> items; I would like to create a single annotation called SortedOneToMany that I can apply to the above set: public @interface SortedOneToMany { FetchType fetch() default EAGER; SortType sort() default NATURAL; Class comparator() default void.class; } I have written the following aspect to "attach" the JPA annotations whenever it sees my annotation: public aspect SortedOneToManyAspect { declare @field: @SortedOneToMany * * : @OneToMany(fetch=FetchType.EAGER); declare @field: @SortedOneToMany * * : @Sort(type=SortType.NATURAL); } But I don't know how can I access the values of the SortedOneToMany annotation parameters and use them when defining the OneToMany and Sort annotations. There may be cases where I want to change one of the default values like so: @SortedOneToMany(sort=SortType.COMPARATOR,comparator=ItemComparator.class) private SortedSet<Item> items; So how can I pass the annotation values from SortedOneToMany to the Sort annotation? Thanks. -- Adam
_______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org https://dev.eclipse.org/mailman/listinfo/aspectj-users