Package org.springframework.aop.target
Class SingletonTargetSource
- java.lang.Object
- org.springframework.aop.target.SingletonTargetSource
- All Implemented Interfaces:
Serializable
,TargetClassAware
,TargetSource
public class SingletonTargetSource extends Object implements TargetSource, Serializable
Implementation of theTargetSource
interface that holds a given object. This is the default implementation of the TargetSource interface, as used by the Spring AOP framework. There is usually no need to create objects of this class in application code.This class is serializable. However, the actual serializability of a SingletonTargetSource will depend on whether the target is serializable.
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
AdvisedSupport.setTarget(Object)
, Serialized Form
Constructor Summary
Constructors Constructor Description SingletonTargetSource(Object target)
Create a new SingletonTargetSource for the given target.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object other)
Two invoker interceptors are equal if they have the same target or if the targets or the targets are equal.Object
getTarget()
Return a target instance.Class<?>
getTargetClass()
Return the type of targets returned by thisTargetSource
.int
hashCode()
SingletonTargetSource uses the hash code of the target object.boolean
isStatic()
Will all calls toTargetSource.getTarget()
return the same object?void
releaseTarget(Object target)
Release the given target object obtained from theTargetSource.getTarget()
method, if any.String
toString()
Constructor Detail
SingletonTargetSource
public SingletonTargetSource(Object target)
Create a new SingletonTargetSource for the given target.- Parameters:
target
- the target object
Method Detail
getTargetClass
public Class<?> getTargetClass()
Description copied from interface:TargetSource
Return the type of targets returned by thisTargetSource
.Can return
null
, although certain usages of aTargetSource
might just work with a predetermined target class.- Specified by:
getTargetClass
in interfaceTargetClassAware
- Specified by:
getTargetClass
in interfaceTargetSource
- Returns:
- the type of targets returned by this
TargetSource
getTarget
public Object getTarget()
Description copied from interface:TargetSource
Return a target instance. Invoked immediately before the AOP framework calls the "target" of an AOP method invocation.- Specified by:
getTarget
in interfaceTargetSource
- Returns:
- the target object which contains the joinpoint, or
null
if there is no actual target instance
releaseTarget
public void releaseTarget(Object target)
Description copied from interface:TargetSource
Release the given target object obtained from theTargetSource.getTarget()
method, if any.- Specified by:
releaseTarget
in interfaceTargetSource
- Parameters:
target
- object obtained from a call toTargetSource.getTarget()
isStatic
public boolean isStatic()
Description copied from interface:TargetSource
Will all calls toTargetSource.getTarget()
return the same object?In that case, there will be no need to invoke
TargetSource.releaseTarget(Object)
, and the AOP framework can cache the return value ofTargetSource.getTarget()
.- Specified by:
isStatic
in interfaceTargetSource
- Returns:
true
if the target is immutable- See Also:
TargetSource.getTarget()
equals
public boolean equals(Object other)
Two invoker interceptors are equal if they have the same target or if the targets or the targets are equal.
hashCode
public int hashCode()
SingletonTargetSource uses the hash code of the target object.