|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.context.support.ApplicationObjectSupport
public abstract class ApplicationObjectSupport
Convenient superclass for application objects that want to be aware of the application context, e.g. for custom lookup of collaborating beans or for context-specific resource access. It saves the application context reference and provides an initialization callback method. Furthermore, it offers numerous convenience methods for message lookup.
There is no requirement to subclass this class: It just makes things a little easier if you need access to the context, e.g. for access to file resources or to the message source. Note that many application objects do not need to be aware of the application context at all, as they can receive collaborating beans via bean references.
Many framework classes are derived from this class, particularly within the web support.
WebApplicationObjectSupport
Field Summary | |
---|---|
protected Log |
logger
Logger that is available to subclasses |
Constructor Summary | |
---|---|
ApplicationObjectSupport()
|
Method Summary | |
---|---|
ApplicationContext |
getApplicationContext()
Return the ApplicationContext that this object is associated with. |
protected MessageSourceAccessor |
getMessageSourceAccessor()
Return a MessageSourceAccessor for the application context used by this object, for easy message access. |
protected void |
initApplicationContext()
Subclasses can override this for custom initialization behavior. |
protected void |
initApplicationContext(ApplicationContext context)
Subclasses can override this for custom initialization behavior. |
protected boolean |
isContextRequired()
Determine whether this application object needs to run in an ApplicationContext. |
protected Class |
requiredContextClass()
Determine the context class that any context passed to setApplicationContext must be an instance of. |
void |
setApplicationContext(ApplicationContext context)
Set the ApplicationContext that this object runs in. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final Log logger
Constructor Detail |
---|
public ApplicationObjectSupport()
Method Detail |
---|
public final void setApplicationContext(ApplicationContext context) throws BeansException
ApplicationContextAware
Invoked after population of normal bean properties but before an init callback such
as InitializingBean.afterPropertiesSet()
or a custom init-method. Invoked after ResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)
,
ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)
and
MessageSourceAware
, if applicable.
setApplicationContext
in interface ApplicationContextAware
context
- the ApplicationContext object to be used by this object
ApplicationContextException
- in case of context initialization errors
BeansException
- if thrown by application context methodsBeanInitializationException
protected boolean isContextRequired()
Default is "false". Can be overridden to enforce running in a context (i.e. to throw IllegalStateException on accessors if outside a context).
getApplicationContext()
,
getMessageSourceAccessor()
protected Class requiredContextClass()
setApplicationContext
must be an instance of.
Can be overridden in subclasses.
setApplicationContext(org.springframework.context.ApplicationContext)
protected void initApplicationContext(ApplicationContext context) throws BeansException
setApplicationContext
after setting the context instance.
Note: Does not get called on reinitialization of the context but rather just on first initialization of this object's context reference.
The default implementation calls the overloaded initApplicationContext()
method without ApplicationContext reference.
context
- the containing ApplicationContext
ApplicationContextException
- in case of initialization errors
BeansException
- if thrown by ApplicationContext methodssetApplicationContext(org.springframework.context.ApplicationContext)
protected void initApplicationContext() throws BeansException
The default implementation is empty. Called by
initApplicationContext(org.springframework.context.ApplicationContext)
.
ApplicationContextException
- in case of initialization errors
BeansException
- if thrown by ApplicationContext methodssetApplicationContext(org.springframework.context.ApplicationContext)
public final ApplicationContext getApplicationContext() throws IllegalStateException
IllegalStateException
- if not running in an ApplicationContextprotected final MessageSourceAccessor getMessageSourceAccessor() throws IllegalStateException
IllegalStateException
- if not running in an ApplicationContext
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |