## org.springframework.aop.aspectj.annotation
Class AspectMetadata

    java.lang.Object
      org.springframework.aop.aspectj.annotation.AspectMetadata

    public class AspectMetadata

extends Object

Metadata for an AspectJ aspect class, with an additional Spring AOP pointcut for the per clause.

Uses AspectJ 5 AJType reflection API, so is only supported on Java 5. Enables us to work with different AspectJ instantiation models such as "singleton", "pertarget" and "perthis".

Since:
  2.0
Author:
  Rod Johnson, Juergen Hoeller
See Also:
  `AspectJExpressionPointcut`

Constructor Summary
`AspectMetadata(Class<?> aspectClass, String aspectName)` Create a new AspectMetadata instance for the given aspect class.

Method Summary
`org.aspectj.lang.reflect.AjType` `getAjType()` Return AspectJ reflection information.
`Class` `getAspectClass()` Return the aspect class.
`String` `getAspectName()` Return the aspect class.
`Pointcut` `getPerClausePointcut()` Return a Spring pointcut expression for a singleton aspect.
`boolean` `isLazilyInstantiated()` Return whether the aspect needs to be lazily instantiated.
`boolean` `isPerThisOrPerTarget()` Return whether the aspect is defined as "perthis" or "pertarget".
`boolean` `isPerTypeWithin()` Return whether the aspect is defined as "pertypewithin".

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AspectMetadata

    public AspectMetadata(Class<?> aspectClass,
                          String aspectName)

  Create a new AspectMetadata instance for the given aspect class.

  Parameters:
    `aspectClass` - the aspect class
    `aspectName` - the name of the aspect

Method Detail

### getAjType

    public org.aspectj.lang.reflect.AjType getAjType()

  Return AspectJ reflection information.

### getAspectClass

    public Class getAspectClass()

  Return the aspect class.

### getAspectName

    public String getAspectName()

  Return the aspect class.

### getPerClausePointcut

    public Pointcut getPerClausePointcut()

  Return a Spring pointcut expression for a singleton aspect. (e.g. `Pointcut.TRUE` if it's a singleton).

### isPerThisOrPerTarget

    public boolean isPerThisOrPerTarget()

  Return whether the aspect is defined as "perthis" or "pertarget".

### isPerTypeWithin

    public boolean isPerTypeWithin()

  Return whether the aspect is defined as "pertypewithin".

### isLazilyInstantiated

    public boolean isLazilyInstantiated()

  Return whether the aspect needs to be lazily instantiated.