diff options
author | aclement <aclement> | 2009-03-04 00:53:46 +0000 |
---|---|---|
committer | aclement <aclement> | 2009-03-04 00:53:46 +0000 |
commit | 957181a21c6606399b00b5f2b86b15e8e7cbaaae (patch) | |
tree | d9d642ed7409f61e8c57de8e63376af8ebf89b63 /aspectj5rt | |
parent | 98e2ebf7aec2dfe18c49a452a59d1412b4fbe9a2 (diff) | |
download | aspectj-957181a21c6606399b00b5f2b86b15e8e7cbaaae.tar.gz aspectj-957181a21c6606399b00b5f2b86b15e8e7cbaaae.zip |
declaremixin
Diffstat (limited to 'aspectj5rt')
-rw-r--r-- | aspectj5rt/java5-src/org/aspectj/lang/annotation/DeclareMixin.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/aspectj5rt/java5-src/org/aspectj/lang/annotation/DeclareMixin.java b/aspectj5rt/java5-src/org/aspectj/lang/annotation/DeclareMixin.java new file mode 100644 index 000000000..b0991773b --- /dev/null +++ b/aspectj5rt/java5-src/org/aspectj/lang/annotation/DeclareMixin.java @@ -0,0 +1,34 @@ +package org.aspectj.lang.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * DeclareMixin annotation - see design and usage in + * https://bugs.eclipse.org/bugs/show_bug.cgi?id=266552 + * + * <p>Attached to a factory method, this annotation indicates that any types + * matching the pattern specified in the annotation value will have new + * methods mixed in. The methods will be selected based on a combination + * of the return type of the factory method, possibly sub-setted by any + * list of interfaces specified in the interfaces annotation value. + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.METHOD) +public @interface DeclareMixin { + + /** + * The target types expression + */ + String value(); + + /** + * Array of interfaces that are to be mixed in. This is optional and if not + * specified the return type of the annotated method will be used to + * determine the interface/class to mix in. + */ + Class[] interfaces() default { Object.class }; + +} |