public interface

TargetSource

implements TargetClassAware
org.springframework.aop.TargetSource
Known Indirect Subclasses

Class Overview

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.

Summary

Public Methods
abstract Object getTarget()
Return a target instance.
abstract Class<?> getTargetClass()
Return the type of targets returned by this TargetSource.
abstract 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().

abstract void releaseTarget(Object target)
Release the given target object obtained from the getTarget() method.
[Expand]
Inherited Methods
From interface org.springframework.aop.TargetClassAware

Public Methods

public abstract Object getTarget ()

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
Exception if the target object can't be resolved

public abstract 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.

Returns

public abstract 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

public abstract void releaseTarget (Object target)

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

Parameters
target object obtained from a call to getTarget()
Throws
Exception if the object can't be released