Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.aop
Interface TargetSource

All Superinterfaces:
  TargetClassAware

All Known Implementing Classes:
  AbstractBeanFactoryBasedTargetSource, AbstractLazyCreationTargetSource, AbstractPoolingTargetSource, AbstractPrototypeBasedTargetSource, AbstractRefreshableTargetSource, BeanFactoryRefreshableTargetSource, CommonsPoolTargetSource, EmptyTargetSource, HotSwappableTargetSource, JndiObjectTargetSource, LazyInitTargetSource, PrototypeTargetSource, RefreshableScriptTargetSource, SimpleBeanTargetSource, SingletonTargetSource, ThreadLocalTargetSource

    public interface TargetSource

extends TargetClassAware

A `TargetSource` is used to obtain the current "target" of an AOP invocation, which will be invoked via reflection if no around advice chooses to end the interceptor chain itself.

If a `TargetSource` is "static", it will always return the same target, allowing optimizations in the AOP framework. Dynamic target sources can support pooling, hot swapping, etc.

Application developers don't usually need to work with `TargetSources` directly: this is an AOP framework interface.

Author:
  Rod Johnson

Method Summary
`java.lang.Object` | `getTarget()` Return a target instance.
`java.lang.Class<?>` | `getTargetClass()` Return the type of targets returned by this `TargetSource`.
`boolean` | `isStatic()` Will all calls to `getTarget()` return the same object?
`void` | `releaseTarget(java.lang.Object target)` Release the given target object obtained from the `getTarget()` method.

Method Detail

### getTargetClass

    java.lang.Class<?> getTargetClass()

  Return the type of targets returned by this `TargetSource`.

  Can return `null`, although certain usages of a `TargetSource` might just work with a predetermined target class.

  Specified by:
    `getTargetClass` in interface `TargetClassAware`
  Returns:
    the type of targets returned by this `TargetSource`

### isStatic

    boolean isStatic()

  Will all calls to `getTarget()` return the same object?

  In that case, there will be no need to invoke `releaseTarget(Object)`, and the AOP framework can cache the return value of `getTarget()`.

  Returns:
    `true` if the target is immutable
  See Also:
    `getTarget()`

### getTarget

    java.lang.Object getTarget()
                               throws java.lang.Exception

  Return a target instance. Invoked immediately before the AOP framework calls the "target" of an AOP method invocation.

  Returns:
    the target object, which contains the joinpoint
  Throws:
    `java.lang.Exception` - if the target object can't be resolved

### releaseTarget

    void releaseTarget(java.lang.Object target)
                       throws java.lang.Exception

  Release the given target object obtained from the `getTarget()` method.

  Parameters:
    `target` - object obtained from a call to `getTarget()`
  Throws:
    `java.lang.Exception` - if the object can't be released

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD