Package 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`, `org.springframework.core.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
Description
`SimpleMetadataAwareAspectInstanceFactory(Class<?> aspectClass, String aspectName)`
Create a new SimpleMetadataAwareAspectInstanceFactory for the given aspect class.

## Method Summary

Modifier and Type
Method
Description
`Object`
`getAspectCreationMutex()`
Get the best possible creation mutex for this factory.
`final AspectMetadata`
`getAspectMetadata()`
Get 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 Details

### 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 Details

### getAspectMetadata

public final AspectMetadata getAspectMetadata()
Description copied from interface: `MetadataAwareAspectInstanceFactory`
Get the AspectJ AspectMetadata for this factory's aspect.

Specified by:
  `getAspectMetadata` in interface `MetadataAwareAspectInstanceFactory`
Returns:
  the aspect metadata

### getAspectCreationMutex

public Object getAspectCreationMutex()
Description copied from interface: `MetadataAwareAspectInstanceFactory`
Get the best possible creation mutex for this factory.

Specified by:
  `getAspectCreationMutex` in interface `MetadataAwareAspectInstanceFactory`
Returns:
  the mutex object (may be `null` for no mutex to use)

### getOrderForAspectClass

protected int getOrderForAspectClass(Class<?> aspectClass)
Description copied from class: `SimpleAspectInstanceFactory`
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