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, 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

    Constructors
    Constructor and Description
    `WebApplicationObjectSupport()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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)` 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)`