org.aspectj.weaver
Interface ReferenceTypeDelegate

All Known Implementing Classes:
AbstractReferenceTypeDelegate, BcelObjectType, GeneratedReferenceTypeDelegate, Java15ReflectionBasedReferenceTypeDelegate, ReflectionBasedReferenceTypeDelegate

public interface ReferenceTypeDelegate

Abstraction over a type - a reference type is Object or a descendant of Object, other types (int/etc) are considered primitive types. Abstract implementation provided by AbstractReferenceTypeDelegate.


Method Summary
 boolean canAnnotationTargetType()
           
 boolean copySourceContext()
           
 boolean doesNotExposeShadowMungers()
           
 void ensureConsistent()
          Implementations need to clear state
 AnnotationAJ[] getAnnotations()
           
 AnnotationTargetKind[] getAnnotationTargetKinds()
           
 ResolvedType[] getAnnotationTypes()
           
 int getCompilerVersion()
          If known, return the compiler/weaver version used to build this delegate.
 ResolvedMember[] getDeclaredFields()
           
 java.lang.String getDeclaredGenericSignature()
           
 ResolvedType[] getDeclaredInterfaces()
           
 ResolvedMember[] getDeclaredMethods()
           
 ResolvedMember[] getDeclaredPointcuts()
           
 java.util.Collection<Declare> getDeclares()
           
 int getModifiers()
           
 ResolvedType getOuterClass()
           
 PerClause getPerClause()
           
 java.util.Collection<ResolvedMember> getPrivilegedAccesses()
           
 ReferenceType getResolvedTypeX()
           
 java.lang.String getRetentionPolicy()
           
 ISourceContext getSourceContext()
           
 java.lang.String getSourcefilename()
           
 ResolvedType getSuperclass()
           
 java.util.Collection<ConcreteTypeMunger> getTypeMungers()
           
 TypeVariable[] getTypeVariables()
           
 WeaverStateInfo getWeaverState()
           
 boolean hasAnnotation(UnresolvedType ofType)
           
 boolean hasBeenWoven()
           
 boolean isAnnotation()
           
 boolean isAnnotationStyleAspect()
           
 boolean isAnnotationWithRuntimeRetention()
           
 boolean isAnonymous()
           
 boolean isAspect()
           
 boolean isCacheable()
          TODO Caching of methods besides getDeclaredInterfaces() may also be dependent on this flag - which?
 boolean isClass()
           
 boolean isEnum()
           
 boolean isExposedToWeaver()
           
 boolean isGeneric()
           
 boolean isInterface()
           
 boolean isNested()
           
 boolean isWeavable()
           
 

Method Detail

isAspect

boolean isAspect()

isAnnotationStyleAspect

boolean isAnnotationStyleAspect()
Returns:
true if the type is an annotation style aspect (a type marked @Aspect)

isInterface

boolean isInterface()

isEnum

boolean isEnum()

isAnnotation

boolean isAnnotation()

getRetentionPolicy

java.lang.String getRetentionPolicy()

canAnnotationTargetType

boolean canAnnotationTargetType()
Returns:
true if this annotation type can be on a regular type (ie. it doesn't specify anything or it specifies TYPE)

getAnnotationTargetKinds

AnnotationTargetKind[] getAnnotationTargetKinds()
Returns:
all the possible targets that this annotation can be placed upon

isAnnotationWithRuntimeRetention

boolean isAnnotationWithRuntimeRetention()
Returns:
true if this annotation type has a retention policy of RUNTIME

isClass

boolean isClass()

isGeneric

boolean isGeneric()

isAnonymous

boolean isAnonymous()

isNested

boolean isNested()
Returns:
true if this class is nested (this includes: member classes, local classes, anonymous classes)

hasAnnotation

boolean hasAnnotation(UnresolvedType ofType)

getAnnotations

AnnotationAJ[] getAnnotations()

getAnnotationTypes

ResolvedType[] getAnnotationTypes()

getDeclaredFields

ResolvedMember[] getDeclaredFields()

getDeclaredInterfaces

ResolvedType[] getDeclaredInterfaces()

getDeclaredMethods

ResolvedMember[] getDeclaredMethods()

getDeclaredPointcuts

ResolvedMember[] getDeclaredPointcuts()

getTypeVariables

TypeVariable[] getTypeVariables()

getModifiers

int getModifiers()

getPerClause

PerClause getPerClause()
Returns:
for an aspect declaration, return the

getDeclares

java.util.Collection<Declare> getDeclares()

getTypeMungers

java.util.Collection<ConcreteTypeMunger> getTypeMungers()

getPrivilegedAccesses

java.util.Collection<ResolvedMember> getPrivilegedAccesses()

getSuperclass

ResolvedType getSuperclass()

getWeaverState

WeaverStateInfo getWeaverState()

getResolvedTypeX

ReferenceType getResolvedTypeX()

isExposedToWeaver

boolean isExposedToWeaver()

doesNotExposeShadowMungers

boolean doesNotExposeShadowMungers()

getSourceContext

ISourceContext getSourceContext()

getSourcefilename

java.lang.String getSourcefilename()

getDeclaredGenericSignature

java.lang.String getDeclaredGenericSignature()

getOuterClass

ResolvedType getOuterClass()

copySourceContext

boolean copySourceContext()

isCacheable

boolean isCacheable()
TODO Caching of methods besides getDeclaredInterfaces() may also be dependent on this flag - which?

Returns:
true if something the result of getDeclaredInterfaces() can be cached by the caller

getCompilerVersion

int getCompilerVersion()
If known, return the compiler/weaver version used to build this delegate. Default is the most recent level as specified in AjAttribute.WeaverVersionInfo.

Returns:
the major version

ensureConsistent

void ensureConsistent()
Implementations need to clear state


isWeavable

boolean isWeavable()

hasBeenWoven

boolean hasBeenWoven()