|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.aop.target.AbstractLazyCreationTargetSource
public abstract class AbstractLazyCreationTargetSource
TargetSource
that will lazily create a user-managed object.
Creation of the lazy target object is controlled by the user by implementing the
createObject()
method. This TargetSource
will invoke this
method the first time the proxy is accessed.
Useful when you need to pass a reference to some dependency to an object but you don't actually want the dependency to be created until it is first used. A typical scenario for this is a connection to a remote resource
createObject()
Field Summary | |
---|---|
protected Log |
logger
Log instance for this class and sub-classes |
Constructor Summary | |
---|---|
AbstractLazyCreationTargetSource()
|
Method Summary | |
---|---|
protected abstract Object |
createObject()
Sub-classes should implement this method to return the lazy initialized object. |
Object |
getTarget()
Returns the lazy-initialized target object, creating it if it doesn't exist. |
Class |
getTargetClass()
Default implementation returns null if the target is null
(it is hasn't yet been initialized) or the target class if the target has already
been initialized. |
boolean |
isInitialized()
Return whether the lazy target object of this TargetSource has already been fetched. |
boolean |
isStatic()
Will all calls to TargetSource.getTarget() return the same object? |
void |
releaseTarget(Object target)
No need to release target - no op. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final Log logger
Log
instance for this class and sub-classes
Constructor Detail |
---|
public AbstractLazyCreationTargetSource()
Method Detail |
---|
public Class getTargetClass()
null
if the target is null
(it is hasn't yet been initialized) or the target class if the target has already
been initialized. Subclasses may wish to override this method to provide more
meaningful values when the target is still null
.
getTargetClass
in interface TargetSource
TargetSource
public boolean isStatic()
TargetSource
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()
.
isStatic
in interface TargetSource
true
if the target is immutableTargetSource.getTarget()
public Object getTarget() throws Exception
getTarget
in interface TargetSource
Exception
- if the target object can't be resolvedcreateObject()
public boolean isInitialized()
public void releaseTarget(Object target) throws Exception
releaseTarget
in interface TargetSource
target
- object obtained from a call to TargetSource.getTarget()
Exception
- if the object can't be releasedprotected abstract Object createObject() throws Exception
Exception
- if creation failed
|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |