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
ServletContextaccess 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 ServletContextgetServletContext()Return the current ServletContext.protected FilegetTempDir()Return the temporary directory for the current web application, as provided by the servlet container.protected WebApplicationContextgetWebApplicationContext()Return the current application context as WebApplicationContext.protected voidinitApplicationContext(ApplicationContext context)CallsinitServletContext(javax.servlet.ServletContext)if the given ApplicationContext is aWebApplicationContext.protected voidinitServletContext(ServletContext servletContext)Subclasses may override this for custom initialization based on the ServletContext that this application object runs in.protected booleanisContextRequired()Overrides the base class behavior to enforce running in an ApplicationContext.voidsetServletContext(ServletContext servletContext)Set theServletContextthat this object runs in.Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContext
Constructor Detail
WebApplicationObjectSupport
public WebApplicationObjectSupport()
Method Detail
setServletContext
public final void setServletContext(ServletContext servletContext)
Description copied from interface:ServletContextAwareSet theServletContextthat this object runs in.Invoked after population of normal bean properties but before an init callback like InitializingBean's
afterPropertiesSetor a custom init-method. Invoked after ApplicationContextAware'ssetApplicationContext.- Specified by:
setServletContextin interfaceServletContextAware- Parameters:
servletContext- the 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:
initApplicationContextin 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
@Nullable 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
@Nullable protected final ServletContext getServletContext() throws IllegalStateException
Return the current ServletContext.- Throws:
IllegalStateException- if not running within a required ServletContext- See Also:
isContextRequired()
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)