## org.springframework.web.context.support
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, 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)`