## org.aspectj.lang.reflect
Interface AjType<T>

All Superinterfaces:
  java.lang.reflect.AnnotatedElement, java.lang.reflect.Type

    public interface AjType<T>

extends java.lang.reflect.Type, java.lang.reflect.AnnotatedElement

The runtime representation of a type (Aspect, Class, Interface, Annotation, Enum, or Array) in an AspectJ program.

Method Summary
`Advice[]` `getAdvice(AdviceKind... ofTypes)` Returns all of the advice for this type, of an advice kind contained in the parameter list.
`Advice` `getAdvice(java.lang.String name)` Returns the advice with the given name.
`AjType<?>[]` `getAjTypes()` Returns an array containing all the public types that are members of this type
`java.lang.reflect.Constructor` `getConstructor(AjType<?>... parameterTypes)` Returns the constructor object for the specified public constructor of this type
`java.lang.reflect.Constructor[]` `getConstructors()` Returns all of the public constructors of this type
`DeclareAnnotation[]` `getDeclareAnnotations()` Return all of the declare annotation members of this type, including declare annotation members inherited from super-types
`Advice[]` `getDeclaredAdvice(AdviceKind... ofTypes)` Returns all of the advice declared by this type, of an advice kind contained in the parameter list.
`Advice` `getDeclaredAdvice(java.lang.String name)` Returns the advice declared in this type with the given name.
`AjType<?>[]` `getDeclaredAjTypes()` Returns an array containing all the types declared by this type
`java.lang.reflect.Constructor` `getDeclaredConstructor(AjType<?>... parameterTypes)` Returns the constructor object for the specified constructor of this type
`java.lang.reflect.Constructor[]` `getDeclaredConstructors()` Returns all the constructors declared in this type
`java.lang.reflect.Field` `getDeclaredField(java.lang.String name)` Return the field declared in this type with the given name
`java.lang.reflect.Field[]` `getDeclaredFields()` Returns all the fields declared in this type
`InterTypeConstructorDeclaration` `getDeclaredITDConstructor(AjType<?> target, AjType<?>... parameterTypes)` Return the inter-type constructor declared by this type matching the given specification
`InterTypeConstructorDeclaration[]` `getDeclaredITDConstructors()` Returns all of the inter-type constructors declared by this type
`InterTypeFieldDeclaration` `getDeclaredITDField(java.lang.String name, AjType<?> target)` Return the inter-type field declared in this type with the given specification
`InterTypeFieldDeclaration[]` `getDeclaredITDFields()` Return all of the inter-type fields declared in this type
`InterTypeMethodDeclaration` `getDeclaredITDMethod(java.lang.String name, AjType<?> target, AjType<?>... parameterTypes)` Return the inter-type method declared by this type matching the given specification
`InterTypeMethodDeclaration[]` `getDeclaredITDMethods()` Return all of the inter-type methods declared by this type
`java.lang.reflect.Method` `getDeclaredMethod(java.lang.String name, AjType<?>... parameterTypes)` Return the method object for the specified method declared in this type
`java.lang.reflect.Method[]` `getDeclaredMethods()` Return all the methods declared by this type
`Pointcut` `getDeclaredPointcut(java.lang.String name)` Return the pointcut object representing the specified pointcut declared by this type
`Pointcut[]` `getDeclaredPointcuts()` Returns all of the pointcuts declared by this type
`DeclareErrorOrWarning[]` `getDeclareErrorOrWarnings()` Returns all of the declare error and declare warning members of this type, including declare error/warning members inherited from super-types
`DeclareParents[]` `getDeclareParents()` Returns all of the declare parents members of this type, including declare parent members inherited from super-types
`DeclarePrecedence[]` `getDeclarePrecedence()` Return all of the declare precedence members of this type, including declare precedence members inherited from super-types
`DeclareSoft[]` `getDeclareSofts()` Return all of the declare soft members of this type, including declare soft members inherited from super-types
`AjType<?>` `getDeclaringType()` If this type is a member of another type, return the AjType representing the type in which it was declared.
`java.lang.reflect.Constructor` `getEnclosingConstructor()` If this type represents a local or anonymous type declared within a constructor, return then enclosing Method object.
`java.lang.reflect.Method` `getEnclosingMethod()` If this type represents a local or anonymous type declared within a method, return then enclosing Method object.
`AjType<?>` `getEnclosingType()` Returns the immediately enclosing type of this type.
`T[]` `getEnumConstants()` Returns the elements of this enum class, or null if this type does not represent an enum type.
`java.lang.reflect.Field` `getField(java.lang.String name)` Return the public field with the given name
`java.lang.reflect.Field[]` `getFields()` Return the public fields declared by this type
`java.lang.reflect.Type` `getGenericSupertype()` The generic supertype of this type, as defined by Class.getGenericSupertype
`AjType<?>[]` `getInterfaces()` The interfaces implemented by this type
`InterTypeConstructorDeclaration` `getITDConstructor(AjType<?> target, AjType<?>... parameterTypes)` Return the public inter-type constructor matching the given specification
`InterTypeConstructorDeclaration[]` `getITDConstructors()` Return all of the public inter-type constructors of this type
`InterTypeFieldDeclaration` `getITDField(java.lang.String name, AjType<?> target)` Return the public inter-type field matching the given specification
`InterTypeFieldDeclaration[]` `getITDFields()` Return all of the public inter-type fields for this type
`InterTypeMethodDeclaration` `getITDMethod(java.lang.String name, AjType<?> target, AjType<?>... parameterTypes)` Return the public inter-type method of this type matching the given specification
`InterTypeMethodDeclaration[]` `getITDMethods()` Return all of the public inter-type declared methods of this type
`java.lang.Class<T>` `getJavaClass()` The java.lang.Class that corresponds to this AjType
`java.lang.reflect.Method` `getMethod(java.lang.String name, AjType<?>... parameterTypes)` Return the method object for the specified public method declared in this type
`java.lang.reflect.Method[]` `getMethods()` Returns all the public methods of this type
`int` `getModifiers()` The modifiers declared for this type.
`java.lang.String` `getName()` The name of this type, in the same format as returned by Class.getName()
`java.lang.Package` `getPackage()` The package in which this type is declared
`PerClause` `getPerClause()` If this type represents an aspect, returns the associated per-clause.
`Pointcut` `getPointcut(java.lang.String name)` Return the pointcut object representing the specified public pointcut
`Pointcut[]` `getPointcuts()` Returns all of the public pointcuts of this type
`AjType<?>` `getSupertype()` The supertype of this type.
`java.lang.reflect.TypeVariable<java.lang.Class<T>>[]` `getTypeParameters()` Returns an array of TypeVariable objects that represent the type variables declared by this type (if any)
`boolean` `isArray()` Return true if this is an array type
`boolean` `isAspect()` Return true if this is an aspect type
`boolean` `isEnum()` True if this is an enum type
`boolean` `isInstance(java.lang.Object o)` True if the given object is assignment-compatible with an object of the type represented by this AjType
`boolean` `isInterface()` True if this is an interface type
`boolean` `isLocalClass()` Returns true if and only if the underlying type is a local class
`boolean` `isMemberAspect()` Returns true if and only if the underlying type is a member aspect
`boolean` `isMemberClass()` Returns true if and only if the underlying type is a member class
`boolean` `isPrimitive()` Return true if this object represents a primitive type
`boolean` `isPrivileged()` Returns true if and only if the underlying type is a privileged aspect

Methods inherited from interface java.lang.reflect.AnnotatedElement
`getAnnotation, getAnnotations, getDeclaredAnnotations, isAnnotationPresent`

Method Detail

### getName

    java.lang.String getName()

  The name of this type, in the same format as returned by Class.getName()

### getPackage

    java.lang.Package getPackage()

  The package in which this type is declared

### getInterfaces

    AjType<?>[] getInterfaces()

  The interfaces implemented by this type

### getModifiers

    int getModifiers()

  The modifiers declared for this type. The return value can be interpreted using java.lang.reflect.Modifier

### getJavaClass

    java.lang.Class<T> getJavaClass()

  The java.lang.Class that corresponds to this AjType

### getSupertype

    AjType<?> getSupertype()

  The supertype of this type. If this type represents Object or a primitive type then null is returned.

### getGenericSupertype

    java.lang.reflect.Type getGenericSupertype()

  The generic supertype of this type, as defined by Class.getGenericSupertype

### getEnclosingMethod

    java.lang.reflect.Method getEnclosingMethod()

  If this type represents a local or anonymous type declared within a method, return then enclosing Method object.

### getEnclosingConstructor

    java.lang.reflect.Constructor getEnclosingConstructor()

  If this type represents a local or anonymous type declared within a constructor, return then enclosing Method object.

### getEnclosingType

    AjType<?> getEnclosingType()

  Returns the immediately enclosing type of this type.

### getDeclaringType

    AjType<?> getDeclaringType()

  If this type is a member of another type, return the AjType representing the type in which it was declared.

### getPerClause

    PerClause getPerClause()

  If this type represents an aspect, returns the associated per-clause. Returns null for non-aspect types.

### getAjTypes

    AjType<?>[] getAjTypes()

  Returns an array containing all the public types that are members of this type

### getDeclaredAjTypes

    AjType<?>[] getDeclaredAjTypes()

  Returns an array containing all the types declared by this type

### getConstructor

    java.lang.reflect.Constructor getConstructor(AjType<?>... parameterTypes)
                                                 throws java.lang.NoSuchMethodException

  Returns the constructor object for the specified public constructor of this type

  Throws:
    `java.lang.NoSuchMethodException`

### getConstructors

    java.lang.reflect.Constructor[] getConstructors()

  Returns all of the public constructors of this type

### getDeclaredConstructor

    java.lang.reflect.Constructor getDeclaredConstructor(AjType<?>... parameterTypes)
                                                         throws java.lang.NoSuchMethodException

  Returns the constructor object for the specified constructor of this type

  Throws:
    `java.lang.NoSuchMethodException`

### getDeclaredConstructors

    java.lang.reflect.Constructor[] getDeclaredConstructors()

  Returns all the constructors declared in this type

### getDeclaredField

    java.lang.reflect.Field getDeclaredField(java.lang.String name)
                                             throws java.lang.NoSuchFieldException

  Return the field declared in this type with the given name

  Throws:
    `java.lang.NoSuchFieldException`

### getDeclaredFields

    java.lang.reflect.Field[] getDeclaredFields()

  Returns all the fields declared in this type

### getField

    java.lang.reflect.Field getField(java.lang.String name)
                                     throws java.lang.NoSuchFieldException

  Return the public field with the given name

  Throws:
    `java.lang.NoSuchFieldException`

### getFields

    java.lang.reflect.Field[] getFields()

  Return the public fields declared by this type

### getDeclaredMethod

    java.lang.reflect.Method getDeclaredMethod(java.lang.String name,
                                               AjType<?>... parameterTypes)
                                               throws java.lang.NoSuchMethodException

  Return the method object for the specified method declared in this type

  Throws:
    `java.lang.NoSuchMethodException`

### getMethod

    java.lang.reflect.Method getMethod(java.lang.String name,
                                       AjType<?>... parameterTypes)
                                       throws java.lang.NoSuchMethodException

  Return the method object for the specified public method declared in this type

  Throws:
    `java.lang.NoSuchMethodException`

### getDeclaredMethods

    java.lang.reflect.Method[] getDeclaredMethods()

  Return all the methods declared by this type

### getMethods

    java.lang.reflect.Method[] getMethods()

  Returns all the public methods of this type

### getDeclaredPointcut

    Pointcut getDeclaredPointcut(java.lang.String name)
                                 throws NoSuchPointcutException

  Return the pointcut object representing the specified pointcut declared by this type

  Throws:
    `NoSuchPointcutException`

### getPointcut

    Pointcut getPointcut(java.lang.String name)
                         throws NoSuchPointcutException

  Return the pointcut object representing the specified public pointcut

  Throws:
    `NoSuchPointcutException`

### getDeclaredPointcuts

    Pointcut[] getDeclaredPointcuts()

  Returns all of the pointcuts declared by this type

### getPointcuts

    Pointcut[] getPointcuts()

  Returns all of the public pointcuts of this type

### getDeclaredAdvice

    Advice[] getDeclaredAdvice(AdviceKind... ofTypes)

  Returns all of the advice declared by this type, of an advice kind contained in the parameter list.

### getAdvice

    Advice[] getAdvice(AdviceKind... ofTypes)

  Returns all of the advice for this type, of an advice kind contained in the parameter list.

### getAdvice

    Advice getAdvice(java.lang.String name)
                     throws NoSuchAdviceException

  Returns the advice with the given name. For an @AspectJ declared advice member, this is the name of the annotated method. For a code-style advice declaration, this is the name given in the @AdviceName annotation if present.

  Throws:
    `NoSuchAdviceException`

### getDeclaredAdvice

    Advice getDeclaredAdvice(java.lang.String name)
                             throws NoSuchAdviceException

  Returns the advice declared in this type with the given name. For an @AspectJ declared advice member, this is the name of the annotated method. For a code-style advice declaration, this is the name given in the @AdviceName annotation if present.

  Throws:
    `NoSuchAdviceException`

### getDeclaredITDMethod

    InterTypeMethodDeclaration getDeclaredITDMethod(java.lang.String name,
                                                    AjType<?> target,
                                                    AjType<?>... parameterTypes)
                                                    throws java.lang.NoSuchMethodException

  Return the inter-type method declared by this type matching the given specification

  Throws:
    `java.lang.NoSuchMethodException`

### getDeclaredITDMethods

    InterTypeMethodDeclaration[] getDeclaredITDMethods()

  Return all of the inter-type methods declared by this type

### getITDMethod

    InterTypeMethodDeclaration getITDMethod(java.lang.String name,
                                            AjType<?> target,
                                            AjType<?>... parameterTypes)
                                            throws java.lang.NoSuchMethodException

  Return the public inter-type method of this type matching the given specification

  Throws:
    `java.lang.NoSuchMethodException`

### getITDMethods

    InterTypeMethodDeclaration[] getITDMethods()

  Return all of the public inter-type declared methods of this type

### getDeclaredITDConstructor

    InterTypeConstructorDeclaration getDeclaredITDConstructor(AjType<?> target,
                                                              AjType<?>... parameterTypes)
                                                              throws java.lang.NoSuchMethodException

  Return the inter-type constructor declared by this type matching the given specification

  Throws:
    `java.lang.NoSuchMethodException`

### getDeclaredITDConstructors

    InterTypeConstructorDeclaration[] getDeclaredITDConstructors()

  Returns all of the inter-type constructors declared by this type

### getITDConstructor

    InterTypeConstructorDeclaration getITDConstructor(AjType<?> target,
                                                      AjType<?>... parameterTypes)
                                                      throws java.lang.NoSuchMethodException

  Return the public inter-type constructor matching the given specification

  Throws:
    `java.lang.NoSuchMethodException`

### getITDConstructors

    InterTypeConstructorDeclaration[] getITDConstructors()

  Return all of the public inter-type constructors of this type

### getDeclaredITDField

    InterTypeFieldDeclaration getDeclaredITDField(java.lang.String name,
                                                  AjType<?> target)
                                                  throws java.lang.NoSuchFieldException

  Return the inter-type field declared in this type with the given specification

  Throws:
    `java.lang.NoSuchFieldException`

### getDeclaredITDFields

    InterTypeFieldDeclaration[] getDeclaredITDFields()

  Return all of the inter-type fields declared in this type

### getITDField

    InterTypeFieldDeclaration getITDField(java.lang.String name,
                                          AjType<?> target)
                                          throws java.lang.NoSuchFieldException

  Return the public inter-type field matching the given specification

  Throws:
    `java.lang.NoSuchFieldException`

### getITDFields

    InterTypeFieldDeclaration[] getITDFields()

  Return all of the public inter-type fields for this type

### getDeclareErrorOrWarnings

    DeclareErrorOrWarning[] getDeclareErrorOrWarnings()

  Returns all of the declare error and declare warning members of this type, including declare error/warning members inherited from super-types

### getDeclareParents

    DeclareParents[] getDeclareParents()

  Returns all of the declare parents members of this type, including declare parent members inherited from super-types

### getDeclareSofts

    DeclareSoft[] getDeclareSofts()

  Return all of the declare soft members of this type, including declare soft members inherited from super-types

### getDeclareAnnotations

    DeclareAnnotation[] getDeclareAnnotations()

  Return all of the declare annotation members of this type, including declare annotation members inherited from super-types

### getDeclarePrecedence

    DeclarePrecedence[] getDeclarePrecedence()

  Return all of the declare precedence members of this type, including declare precedence members inherited from super-types

### getEnumConstants

    T[] getEnumConstants()

  Returns the elements of this enum class, or null if this type does not represent an enum type.

### getTypeParameters

    java.lang.reflect.TypeVariable<java.lang.Class<T>>[] getTypeParameters()

  Returns an array of TypeVariable objects that represent the type variables declared by this type (if any)

### isEnum

    boolean isEnum()

  True if this is an enum type

### isInstance

    boolean isInstance(java.lang.Object o)

  True if the given object is assignment-compatible with an object of the type represented by this AjType

### isInterface

    boolean isInterface()

  True if this is an interface type

### isLocalClass

    boolean isLocalClass()

  Returns true if and only if the underlying type is a local class

### isMemberClass

    boolean isMemberClass()

  Returns true if and only if the underlying type is a member class

### isArray

    boolean isArray()

  Return true if this is an array type

### isPrimitive

    boolean isPrimitive()

  Return true if this object represents a primitive type

### isAspect

    boolean isAspect()

  Return true if this is an aspect type

### isMemberAspect

    boolean isMemberAspect()

  Returns true if and only if the underlying type is a member aspect

### isPrivileged

    boolean isPrivileged()

  Returns true if and only if the underlying type is a privileged aspect