org.springframework.web.context.support
Class WebApplicationObjectSupport

java.lang.Object
  extended by org.springframework.context.support.ApplicationObjectSupport
      extended by org.springframework.web.context.support.WebApplicationObjectSupport
All Implemented Interfaces:
ApplicationContextAware, ServletContextAware
Direct Known Subclasses:
AbstractCachingViewResolver, AbstractHandlerMapping, AbstractView, BeanNameViewResolver, ContentNegotiatingViewResolver, TilesConfigurer, WebContentGenerator

public abstract class WebApplicationObjectSupport
extends ApplicationObjectSupport
implements ServletContextAware

Convenient superclass for application objects running in a WebApplicationContext. Provides getWebApplicationContext(), getServletContext(), and getTempDir() methods.

Since:
28.08.2003
Author:
Juergen Hoeller
See Also:
SpringBeanAutowiringSupport

Field Summary
 
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
 
Constructor Summary
WebApplicationObjectSupport()
           
 
Method Summary
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)
          Calls initServletContext(javax.servlet.ServletContext) if the given ApplicationContext is a WebApplicationContext.
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 the ServletContext that this object runs in.
 
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, requiredContextClass, setApplicationContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WebApplicationObjectSupport

public WebApplicationObjectSupport()
Method Detail

setServletContext

public final void setServletContext(ServletContext servletContext)
Description copied from interface: ServletContextAware
Set the ServletContext 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's setApplicationContext.

Specified by:
setServletContext in interface ServletContextAware
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.

Overrides:
isContextRequired in class ApplicationObjectSupport
See Also:
ApplicationObjectSupport.getApplicationContext(), ApplicationObjectSupport.getMessageSourceAccessor(), getWebApplicationContext(), getServletContext(), getTempDir()

initApplicationContext

protected void initApplicationContext(ApplicationContext context)
Calls initServletContext(javax.servlet.ServletContext) if the given ApplicationContext is a WebApplicationContext.

Overrides:
initApplicationContext in class ApplicationObjectSupport
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 as setServletContext(javax.servlet.ServletContext).

Parameters:
servletContext - the ServletContext that this application object runs in (never null)

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() or getServletContext() 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)