org.springframework.aop.aspectj.annotation

## Interface MetadataAwareAspectInstanceFactory

- All Superinterfaces:
    AspectInstanceFactory, Ordered
  All Known Implementing Classes:
    BeanFactoryAspectInstanceFactory, LazySingletonAspectInstanceFactoryDecorator, PrototypeAspectInstanceFactory, SimpleMetadataAwareAspectInstanceFactory, SingletonMetadataAwareAspectInstanceFactory

      public interface MetadataAwareAspectInstanceFactory
      extends AspectInstanceFactory

  Subinterface of `AspectInstanceFactory` that returns `AspectMetadata` associated with AspectJ-annotated classes.
  Since:
    2.0
  Author:
    Rod Johnson
  See Also:
    `AspectMetadata`, `AjType`

- - ### Field Summary

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

      `HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `getAspectCreationMutex()` Get the best possible creation mutex for this factory.
    `AspectMetadata` | `getAspectMetadata()` Get the AspectJ AspectMetadata for this factory's aspect.

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

      `getAspectClassLoader, getAspectInstance`

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

      `getOrder`

- - ### Method Detail

    - #### getAspectMetadata

          AspectMetadata getAspectMetadata()

      Get the AspectJ AspectMetadata for this factory's aspect.
      Returns:
        the aspect metadata

    - #### getAspectCreationMutex

          @Nullable
          Object getAspectCreationMutex()

      Get the best possible creation mutex for this factory.
      Returns:
        the mutex object (may be `null` for no mutex to use)
      Since:
        4.3