Class WebApplicationObjectSupport
- java.lang.Object
- org.springframework.context.support.ApplicationObjectSupport
- org.springframework.web.context.support.WebApplicationObjectSupport
- All Implemented Interfaces:
Aware
,ApplicationContextAware
,ServletContextAware
- Direct Known Subclasses:
AbstractCachingViewResolver
,AbstractHandlerMapping
,AbstractView
,BeanNameViewResolver
,ContentNegotiatingViewResolver
,ServerEndpointExporter
,WebContentGenerator
public abstract class WebApplicationObjectSupport extends ApplicationObjectSupport implements ServletContextAware
Convenient superclass for application objects running in aWebApplicationContext
. ProvidesgetWebApplicationContext()
,getServletContext()
, andgetTempDir()
accessors.Note: It is generally recommended to use individual callback interfaces for the actual callbacks needed. This broad base class is primarily intended for use within the framework, in case of
ServletContext
access etc typically being needed.- Since:
- 28.08.2003
- Author:
- Juergen Hoeller
- See Also:
SpringBeanAutowiringSupport
Field Summary
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
Constructor Summary
Constructors Constructor Description WebApplicationObjectSupport()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ServletContext
getServletContext()
Return the current ServletContext.protected File
getTempDir()
Return the temporary directory for the current web application, as provided by the servlet container.protected WebApplicationContext
getWebApplicationContext()
Return the current application context as WebApplicationContext.protected void
initApplicationContext(ApplicationContext context)
CallsinitServletContext(javax.servlet.ServletContext)
if the given ApplicationContext is aWebApplicationContext
.protected void
initServletContext(ServletContext servletContext)
Subclasses may override this for custom initialization based on the ServletContext that this application object runs in.protected boolean
isContextRequired()
Overrides the base class behavior to enforce running in an ApplicationContext.void
setServletContext(ServletContext servletContext)
Set theServletContext
that this object runs in.Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, requiredContextClass, setApplicationContext
Constructor Detail
WebApplicationObjectSupport
public WebApplicationObjectSupport()
Method Detail
setServletContext
public final void setServletContext(ServletContext servletContext)
Description copied from interface:ServletContextAware
Set theServletContext
that this object runs in.Invoked after population of normal bean properties but before an init callback like InitializingBean's
afterPropertiesSet
or a custom init-method. Invoked after ApplicationContextAware'ssetApplicationContext
.- Specified by:
setServletContext
in interfaceServletContextAware
- Parameters:
servletContext
- ServletContext object to be used by this object- See Also:
InitializingBean.afterPropertiesSet()
,ApplicationContextAware.setApplicationContext(org.springframework.context.ApplicationContext)
isContextRequired
protected boolean isContextRequired()
Overrides the base class behavior to enforce running in an ApplicationContext. All accessors will throw IllegalStateException if not running in a context.
initApplicationContext
protected void initApplicationContext(ApplicationContext context)
CallsinitServletContext(javax.servlet.ServletContext)
if the given ApplicationContext is aWebApplicationContext
.- Overrides:
initApplicationContext
in classApplicationObjectSupport
- Parameters:
context
- the containing ApplicationContext- See Also:
ApplicationObjectSupport.setApplicationContext(org.springframework.context.ApplicationContext)
initServletContext
protected void initServletContext(ServletContext servletContext)
Subclasses may override this for custom initialization based on the ServletContext that this application object runs in.The default implementation is empty. Called by
initApplicationContext(org.springframework.context.ApplicationContext)
as well assetServletContext(javax.servlet.ServletContext)
.- Parameters:
servletContext
- the ServletContext that this application object runs in (nevernull
)
getWebApplicationContext
protected final WebApplicationContext getWebApplicationContext() throws IllegalStateException
Return the current application context as WebApplicationContext.NOTE: Only use this if you actually need to access WebApplicationContext-specific functionality. Preferably use
getApplicationContext()
orgetServletContext()
else, to be able to run in non-WebApplicationContext environments as well.- Throws:
IllegalStateException
- if not running in a WebApplicationContext- See Also:
ApplicationObjectSupport.getApplicationContext()
getServletContext
protected final ServletContext getServletContext() throws IllegalStateException
Return the current ServletContext.- Throws:
IllegalStateException
- if not running within a ServletContext
getTempDir
protected final File getTempDir() throws IllegalStateException
Return the temporary directory for the current web application, as provided by the servlet container.- Returns:
- the File representing the temporary directory
- Throws:
IllegalStateException
- if not running within a ServletContext- See Also:
WebUtils.getTempDir(javax.servlet.ServletContext)