org.springframework.aop.aspectj
Class SimpleAspectInstanceFactory

java.lang.Object
  extended by org.springframework.aop.aspectj.SimpleAspectInstanceFactory
All Implemented Interfaces:
AspectInstanceFactory, Ordered
Direct Known Subclasses:
SimpleMetadataAwareAspectInstanceFactory

public class SimpleAspectInstanceFactory
extends java.lang.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
private  java.lang.Class aspectClass
           
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
SimpleAspectInstanceFactory(java.lang.Class aspectClass)
          Create a new SimpleAspectInstanceFactory for the given aspect class.
 
Method Summary
 java.lang.Class getAspectClass()
          Return the specified aspect class (never null).
 java.lang.ClassLoader getAspectClassLoader()
          Expose the aspect class loader that this factory uses.
 java.lang.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(java.lang.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
 

Field Detail

aspectClass

private final java.lang.Class aspectClass
Constructor Detail

SimpleAspectInstanceFactory

public SimpleAspectInstanceFactory(java.lang.Class aspectClass)
Create a new SimpleAspectInstanceFactory for the given aspect class.

Parameters:
aspectClass - the aspect class
Method Detail

getAspectClass

public final java.lang.Class getAspectClass()
Return the specified aspect class (never null).


getAspectInstance

public final java.lang.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

public java.lang.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 (never null)

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 Ordered
Returns:
the order value
See Also:
Ordered, getOrderForAspectClass(java.lang.Class)

getOrderForAspectClass

protected int getOrderForAspectClass(java.lang.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