The Spring Framework

## org.springframework.aop.aspectj.annotation
Class LazySingletonAspectInstanceFactoryDecorator

    java.lang.Object
      org.springframework.aop.aspectj.annotation.LazySingletonAspectInstanceFactoryDecorator

All Implemented Interfaces:
  MetadataAwareAspectInstanceFactory, AspectInstanceFactory, Ordered

    public class LazySingletonAspectInstanceFactoryDecorator

extends Object
implements MetadataAwareAspectInstanceFactory

Decorator to cause a MetadataAwareAspectInstanceFactory to instantiate only once.

Since:
  2.0
Author:
  Rod Johnson, Juergen Hoeller

Field Summary

Fields inherited from interface org.springframework.core.Ordered
`HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

Constructor Summary
`LazySingletonAspectInstanceFactoryDecorator(MetadataAwareAspectInstanceFactory maaif)` Create a new lazily initializing decorator for the given AspectInstanceFactory.

Method Summary
`ClassLoader` `getAspectClassLoader()` Expose the aspect class loader that this factory uses.
`Object` `getAspectInstance()` Create an instance of this factory's aspect.
`AspectMetadata` `getAspectMetadata()` Return the AspectJ AspectMetadata for this factory's aspect.
`int` `getOrder()` Return the order value of this object, with a higher value meaning greater in terms of sorting.
`boolean` `isMaterialized()`
`String` `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

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 interface `AspectInstanceFactory`
  Returns:
    the aspect instance (never `null`)

### getAspectClassLoader

    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 (never `null`)

### isMaterialized

    public boolean isMaterialized()

### getAspectMetadata

    public AspectMetadata getAspectMetadata()

  Description copied from interface: `MetadataAwareAspectInstanceFactory`
  Return the AspectJ AspectMetadata for this factory's aspect.

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

### getOrder

    public int getOrder()

  Description copied from interface: `Ordered`
  Return the order value of this object, with a higher value meaning greater in terms of sorting.

  Normally starting with 0 or 1, with `Ordered.LOWEST_PRECEDENCE` indicating greatest. Same order values will result in arbitrary positions for the affected objects.

  Higher value can be interpreted as lower priority, consequently the first object has highest priority (somewhat analogous to Servlet "load-on-startup" values).

  Note that order values below 0 are reserved for framework purposes. Application-specified values should always be 0 or greater, with only framework components (internal or third-party) supposed to use lower values.

  Specified by:
    `getOrder` in interface `Ordered`
  Returns:
    the order value
  See Also:
    `Ordered.LOWEST_PRECEDENCE`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

The Spring Framework

Copyright © 2002-2008 The Spring Framework.