Spring Framework

org.springframework.aop.aspectj.annotation
Class PrototypeAspectInstanceFactory

java.lang.Object
  extended by org.springframework.aop.aspectj.annotation.BeanFactoryAspectInstanceFactory
      extended by org.springframework.aop.aspectj.annotation.PrototypeAspectInstanceFactory
All Implemented Interfaces:
MetadataAwareAspectInstanceFactory, AspectInstanceFactory, Ordered

public class PrototypeAspectInstanceFactory
extends BeanFactoryAspectInstanceFactory

AspectInstanceFactory backed by a BeanFactory-provided prototype, enforcing prototype semantics.

Note that this may instantiate multiple times, which probably won't give the semantics you expect. Use a LazySingletonAspectInstanceFactoryDecorator to wrap this to ensure only one new aspect comes back.

Since:
2.0
Author:
Rod Johnson, Juergen Hoeller
See Also:
BeanFactory, LazySingletonAspectInstanceFactoryDecorator

Field Summary
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
PrototypeAspectInstanceFactory(BeanFactory beanFactory, java.lang.String name)
          Create a PrototypeAspectInstanceFactory.
 
Method Summary
 
Methods inherited from class org.springframework.aop.aspectj.annotation.BeanFactoryAspectInstanceFactory
getAspectClassLoader, getAspectInstance, getAspectMetadata, getOrder, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PrototypeAspectInstanceFactory

public PrototypeAspectInstanceFactory(BeanFactory beanFactory,
                                      java.lang.String name)
Create a PrototypeAspectInstanceFactory. AspectJ will be called to introspect to create AJType metadata using the type returned for the given bean name from the BeanFactory.

Parameters:
beanFactory - the BeanFactory to obtain instance(s) from
name - the name of the bean

Spring Framework