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 the TargetSource 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:
  • Constructor Details

    • SingletonTargetSource

      public SingletonTargetSource(Object target)
      Create a new SingletonTargetSource for the given target.
      Parameters:
      target - the target object
  • Method Details

    • getTargetClass

      public Class<?> getTargetClass()
      Description copied from interface: TargetSource
      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
      Specified by:
      getTargetClass in interface TargetSource
      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 interface TargetSource
      Returns:
      the target object which contains the joinpoint, or null if there is no actual target instance
    • isStatic

      public boolean isStatic()
      Description copied from interface: TargetSource
      Will all calls to TargetSource.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 of TargetSource.getTarget().

      The default implementation returns false.

      Specified by:
      isStatic in interface TargetSource
      Returns:
      true if the target is immutable
      See Also:
    • equals

      public boolean equals(@Nullable Object other)
      Two invoker interceptors are equal if they have the same target or if the targets or the targets are equal.
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      SingletonTargetSource uses the hash code of the target object.
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object