org.springframework.aop.aspectj.annotation

## Class SimpleMetadataAwareAspectInstanceFactory

- java.lang.Object
- - org.springframework.aop.aspectj.SimpleAspectInstanceFactory
  - - org.springframework.aop.aspectj.annotation.SimpleMetadataAwareAspectInstanceFactory

- All Implemented Interfaces:
    MetadataAwareAspectInstanceFactory, AspectInstanceFactory, Ordered

      public class SimpleMetadataAwareAspectInstanceFactory
      extends SimpleAspectInstanceFactory
      implements MetadataAwareAspectInstanceFactory

  Implementation of `MetadataAwareAspectInstanceFactory` that creates a new instance of the specified aspect class for every `SimpleAspectInstanceFactory.getAspectInstance()` call.
  Since:
    2.0.4
  Author:
    Juergen Hoeller

- - ### Field Summary

    - ### Fields inherited from interface org.springframework.core.Ordered

      `HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleMetadataAwareAspectInstanceFactory(Class aspectClass, String aspectName)` Create a new SimpleMetadataAwareAspectInstanceFactory for the given aspect class.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `AspectMetadata` | `getAspectMetadata()` Return the AspectJ AspectMetadata for this factory's aspect.
    `protected int` | `getOrderForAspectClass(Class<?> aspectClass)` Determine a fallback order for the case that the aspect instance does not express an instance-specific order through implementing the `Ordered` interface.

    - ### Methods inherited from class org.springframework.aop.aspectj.SimpleAspectInstanceFactory

      `getAspectClass, getAspectClassLoader, getAspectInstance, getOrder`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.springframework.aop.aspectj.AspectInstanceFactory

      `getAspectClassLoader, getAspectInstance`

    - ### Methods inherited from interface org.springframework.core.Ordered

      `getOrder`

- - ### Constructor Detail

    - #### SimpleMetadataAwareAspectInstanceFactory

          public SimpleMetadataAwareAspectInstanceFactory(Class aspectClass,
                                                  String aspectName)

      Create a new SimpleMetadataAwareAspectInstanceFactory for the given aspect class.
      Parameters:
        `aspectClass` - the aspect class
        `aspectName` - the aspect name

  - ### Method Detail

    - #### getAspectMetadata

          public final AspectMetadata getAspectMetadata()

      Description copied from interface: `MetadataAwareAspectInstanceFactory`
      Return the AspectJ AspectMetadata for this factory's aspect.
      Specified by:
        `getAspectMetadata` in interface `MetadataAwareAspectInstanceFactory`
      Returns:
        the aspect metadata

    - #### getOrderForAspectClass

          protected int getOrderForAspectClass(Class<?> aspectClass)

      Determine a fallback order for the case that the aspect instance does not express an instance-specific order through implementing the `Ordered` interface.

      The default implementation simply returns `Ordered.LOWEST_PRECEDENCE`.

      Overrides:
        `getOrderForAspectClass` in class `SimpleAspectInstanceFactory`
      Parameters:
        `aspectClass` - the aspect class