diff options
author | acolyer <acolyer> | 2005-10-03 16:17:15 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-10-03 16:17:15 +0000 |
commit | 0fae66242efd3fd91dc7ace349cdcf7e5ebc2ade (patch) | |
tree | 85dda17da70b10b31b422853d1323421a82b3a21 /aspectj5rt/java5-src/org/aspectj/lang | |
parent | c86fa6de889e521ebe8224d1a7579269c53ac357 (diff) | |
download | aspectj-0fae66242efd3fd91dc7ace349cdcf7e5ebc2ade.tar.gz aspectj-0fae66242efd3fd91dc7ace349cdcf7e5ebc2ade.zip |
completes all of the MAP bar ITDs
Diffstat (limited to 'aspectj5rt/java5-src/org/aspectj/lang')
4 files changed, 58 insertions, 3 deletions
diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java index 581c5a5fb..03be6c7f1 100644 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java +++ b/aspectj5rt/java5-src/org/aspectj/lang/reflect/Advice.java @@ -11,6 +11,8 @@ * ******************************************************************/ package org.aspectj.lang.reflect; +import java.lang.reflect.Type; + /** * Runtime representation of an advice declaration inside an aspect */ @@ -36,6 +38,21 @@ public interface Advice { String getName(); /** + * The advice parameters + */ + AjType<?>[] getParameterTypes(); + + /** + * The generic parameter types, @see java.lang.reflect.Method.getGenericParameterTypes + */ + Type[] getGenericParameterTypes(); + + /** + * The declared thrown exceptions by the advice + */ + AjType<?>[] getExceptionTypes(); + + /** * The pointcut expression associated with the advice declaration. */ PointcutExpression getPointcutExpression(); diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareAnnotation.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareAnnotation.java index 4e0f78aa7..faee5d495 100644 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareAnnotation.java +++ b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareAnnotation.java @@ -11,10 +11,46 @@ * ******************************************************************/ package org.aspectj.lang.reflect; +import java.lang.annotation.Annotation; + /** * The AspectJ runtime representation of a declare annotation member in an aspect. * */ public interface DeclareAnnotation { - + + public enum Kind { Field, Method, Constructor, Type }; + + /** + * The aspect that declared this member. + */ + AjType<?> getDeclaringType(); + + /** + * The target element kind + */ + Kind getKind(); + + /** + * The target signature pattern. Returns null if getKind() == Type + */ + SignaturePattern getSignaturePattern(); + + /** + * The target type pattern. Returns null if getKind() != Type + */ + TypePattern getTypePattern(); + + /** + * The declared annotation. If the declared annotation does not have runtime retention, + * this method returns null. + */ + Annotation getAnnotation(); + + /** + * Returns the text of the annotation as declared in this member. Available for + * both runtime and class-file retention annotations + */ + String getAnnotationAsText(); + } diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareParents.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareParents.java index f8ee5c99d..8d3c98b78 100644 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareParents.java +++ b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareParents.java @@ -11,6 +11,8 @@ * ******************************************************************/ package org.aspectj.lang.reflect; +import java.lang.reflect.Type; + /** * A declare parents member defined inside an aspect */ @@ -40,6 +42,6 @@ public interface DeclareParents { * The set of types that the types matching getTargetTypesPattern are * declared to implement or extend */ - AjType[] getParentTypes(); + Type[] getParentTypes() throws ClassNotFoundException; } diff --git a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareSoft.java b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareSoft.java index b397c94f3..cc607d680 100644 --- a/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareSoft.java +++ b/aspectj5rt/java5-src/org/aspectj/lang/reflect/DeclareSoft.java @@ -24,7 +24,7 @@ public interface DeclareSoft { /** * The softened exception type */ - AjType getSoftenedExceptionType(); + AjType getSoftenedExceptionType() throws ClassNotFoundException; /** * The pointcut determining the join points at which the exception is to be softened. |