Package org.springframework.aop.aspectj

# Class SimpleAspectInstanceFactory

java.lang.Object
org.springframework.aop.aspectj.SimpleAspectInstanceFactory

All Implemented Interfaces:
  `AspectInstanceFactory`, `org.springframework.core.Ordered`

Direct Known Subclasses:
  `SimpleMetadataAwareAspectInstanceFactory`

public class SimpleAspectInstanceFactory extends Object implements AspectInstanceFactory
Implementation of `AspectInstanceFactory` that creates a new instance of the specified aspect class for every `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
`SimpleAspectInstanceFactory(Class<?> aspectClass)`
Create a new SimpleAspectInstanceFactory for the given aspect class.

## Method Summary

Modifier and Type
Method
Description
`final Class<?>`
`getAspectClass()`
Return the specified aspect class (never `null`).
`ClassLoader`
`getAspectClassLoader()`
Expose the aspect class loader that this factory uses.
`final Object`
`getAspectInstance()`
Create an instance of this factory's aspect.
`int`
`getOrder()`
Determine the order for this factory's aspect instance, either an instance-specific order expressed through implementing the `Ordered` interface, or a fallback order.
`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 java.lang.Object

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

## Constructor Details

### SimpleAspectInstanceFactory

public SimpleAspectInstanceFactory(Class<?> aspectClass)
Create a new SimpleAspectInstanceFactory for the given aspect class.

Parameters:
  `aspectClass` - the aspect class

## Method Details

### getAspectClass

public final Class<?> getAspectClass()
Return the specified aspect class (never `null`).

### getAspectInstance

public final Object getAspectInstance()
Description copied from interface: `AspectInstanceFactory`
Create an instance of this factory's aspect.

Specified by:
  `getAspectInstance` in interface `AspectInstanceFactory`
Returns:
  the aspect instance (never `null`)

### getAspectClassLoader

@Nullable public ClassLoader getAspectClassLoader()
Description copied from interface: `AspectInstanceFactory`
Expose the aspect class loader that this factory uses.

Specified by:
  `getAspectClassLoader` in interface `AspectInstanceFactory`
Returns:
  the aspect class loader (or `null` for the bootstrap loader)
See Also:
  - `ClassUtils.getDefaultClassLoader()`

### getOrder

public int getOrder()
Determine the order for this factory's aspect instance, either an instance-specific order expressed through implementing the `Ordered` interface, or a fallback order.

Specified by:
  `getOrder` in interface `org.springframework.core.Ordered`
See Also:
  - `Ordered`
  - `getOrderForAspectClass(java.lang.Class<?>)`

### 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`.

Parameters:
  `aspectClass` - the aspect class