Class LazySingletonAspectInstanceFactoryDecorator
- java.lang.Object
- org.springframework.aop.aspectj.annotation.LazySingletonAspectInstanceFactoryDecorator
- All Implemented Interfaces:
Serializable
,MetadataAwareAspectInstanceFactory
,AspectInstanceFactory
,Ordered
public class LazySingletonAspectInstanceFactoryDecorator extends Object implements MetadataAwareAspectInstanceFactory, Serializable
Decorator to cause aMetadataAwareAspectInstanceFactory
to instantiate only once.- Since:
- 2.0
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
- Serialized Form
Field Summary
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor Summary
Constructors Constructor Description LazySingletonAspectInstanceFactoryDecorator(MetadataAwareAspectInstanceFactory maaif)
Create a new lazily initializing decorator for the given AspectInstanceFactory.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ClassLoader
getAspectClassLoader()
Expose the aspect class loader that this factory uses.Object
getAspectCreationMutex()
Return the best possible creation mutex for this factory.Object
getAspectInstance()
Create an instance of this factory's aspect.AspectMetadata
getAspectMetadata()
Return the AspectJ AspectMetadata for this factory's aspect.int
getOrder()
Get the order value of this object.boolean
isMaterialized()
String
toString()
Constructor Detail
LazySingletonAspectInstanceFactoryDecorator
public LazySingletonAspectInstanceFactoryDecorator(MetadataAwareAspectInstanceFactory maaif)
Create a new lazily initializing decorator for the given AspectInstanceFactory.- Parameters:
maaif
- the MetadataAwareAspectInstanceFactory to decorate
Method Detail
getAspectInstance
public Object getAspectInstance()
Description copied from interface:AspectInstanceFactory
Create an instance of this factory's aspect.- Specified by:
getAspectInstance
in interfaceAspectInstanceFactory
- Returns:
- the aspect instance (never
null
)
isMaterialized
public boolean isMaterialized()
getAspectClassLoader
public ClassLoader getAspectClassLoader()
Description copied from interface:AspectInstanceFactory
Expose the aspect class loader that this factory uses.- Specified by:
getAspectClassLoader
in interfaceAspectInstanceFactory
- Returns:
- the aspect class loader (never
null
)
getAspectMetadata
public AspectMetadata getAspectMetadata()
Description copied from interface:MetadataAwareAspectInstanceFactory
Return the AspectJ AspectMetadata for this factory's aspect.- Specified by:
getAspectMetadata
in interfaceMetadataAwareAspectInstanceFactory
- Returns:
- the aspect metadata
getAspectCreationMutex
public Object getAspectCreationMutex()
Description copied from interface:MetadataAwareAspectInstanceFactory
Return the best possible creation mutex for this factory.- Specified by:
getAspectCreationMutex
in interfaceMetadataAwareAspectInstanceFactory
- Returns:
- the mutex object (may be
null
for no mutex to use)
getOrder
public int getOrder()
Description copied from interface:Ordered
Get the order value of this object.Higher values are interpreted as lower priority. As a consequence, the object with the lowest value has the highest priority (somewhat analogous to Servlet
load-on-startup
values).Same order values will result in arbitrary sort positions for the affected objects.
- Specified by:
getOrder
in interfaceOrdered
- Returns:
- the order value
- See Also:
Ordered.HIGHEST_PRECEDENCE
,Ordered.LOWEST_PRECEDENCE