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 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:
  - `AdvisedSupport.setTarget(Object)`
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`SingletonTargetSource(Object target)`
Create a new SingletonTargetSource for the given target.

## Method Summary

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 this `TargetSource`.
`int`
`hashCode()`
SingletonTargetSource uses the hash code of the target object.
`boolean`
`isStatic()`
Will all calls to `TargetSource.getTarget()` return the same object?
`String`
`toString()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.springframework.aop.TargetSource

`releaseTarget`

## 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:
  - `TargetSource.getTarget()`

### 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`