org.eclipse.jetty.webapp

## Class WebInfConfiguration

- java.lang.Object
- - org.eclipse.jetty.webapp.AbstractConfiguration
  - - org.eclipse.jetty.webapp.WebInfConfiguration

- All Implemented Interfaces:
    Configuration

      public class WebInfConfiguration
      extends AbstractConfiguration

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Resource` | `_preUnpackBaseResource`
    `static String` | `CONTAINER_JAR_PATTERN`
    `static String` | `RESOURCE_URLS` If set, to a list of URLs, these resources are added to the context resource base as a resource collection.
    `static String` | `TEMPDIR_CONFIGURED`
    `static String` | `WEBINF_JAR_PATTERN`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WebInfConfiguration()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `cloneConfigure(WebAppContext template, WebAppContext context)` Clone configuration instance.
    `void` | `configure(WebAppContext context)` Configure WebApp.
    `void` | `deconfigure(WebAppContext context)` DeConfigure WebApp.
    `protected List<Resource>` | `findJars(WebAppContext context)` Look for jars in WEB-INF/lib
    `File` | `findWorkDirectory(WebAppContext context)`
    `static String` | `getCanonicalNameForWebAppTmpDir(WebAppContext context)` Create a canonical name for a webapp temp directory.
    `boolean` | `isTempWorkDirectory(File tmpDir)` Check if the tmpDir itself is called "work", or if the tmpDir is in a directory called "work".
    `void` | `makeTempDirectory(File parent, WebAppContext context, boolean deleteExisting)`
    `void` | `preConfigure(WebAppContext context)` Set up for configuration.
    `void` | `resolveTempDirectory(WebAppContext context)` Get a temporary directory in which to unpack the war etc etc.
    `void` | `unpack(WebAppContext context)`

    - ### Methods inherited from class org.eclipse.jetty.webapp.AbstractConfiguration

      `destroy, postConfigure`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### TEMPDIR_CONFIGURED

          public static final String TEMPDIR_CONFIGURED

      See Also:
        Constant Field Values

    - #### CONTAINER_JAR_PATTERN

          public static final String CONTAINER_JAR_PATTERN

      See Also:
        Constant Field Values

    - #### WEBINF_JAR_PATTERN

          public static final String WEBINF_JAR_PATTERN

      See Also:
        Constant Field Values

    - #### RESOURCE_URLS

          public static final String RESOURCE_URLS

      If set, to a list of URLs, these resources are added to the context resource base as a resource collection.
      See Also:
        Constant Field Values

    - #### _preUnpackBaseResource

          protected Resource _preUnpackBaseResource

  - ### Constructor Detail

    - #### WebInfConfiguration

          public WebInfConfiguration()

  - ### Method Detail

    - #### preConfigure

          public void preConfigure(WebAppContext context)
                            throws Exception

      Description copied from interface: `Configuration`
      Set up for configuration.

      Typically this step discovers configuration resources

      Specified by:
        `preConfigure` in interface `Configuration`
      Overrides:
        `preConfigure` in class `AbstractConfiguration`
      Parameters:
        `context` - The context to configure
      Throws:
        `Exception`

    - #### configure

          public void configure(WebAppContext context)
                         throws Exception

      Description copied from interface: `Configuration`
      Configure WebApp.

      Typically this step applies the discovered configuration resources to either the `WebAppContext` or the associated `MetaData`.

      Specified by:
        `configure` in interface `Configuration`
      Overrides:
        `configure` in class `AbstractConfiguration`
      Parameters:
        `context` - The context to configure
      Throws:
        `Exception`

    - #### deconfigure

          public void deconfigure(WebAppContext context)
                           throws Exception

      Description copied from interface: `Configuration`
      DeConfigure WebApp. This method is called to undo all configuration done. This is called to allow the context to work correctly over a stop/start cycle
      Specified by:
        `deconfigure` in interface `Configuration`
      Overrides:
        `deconfigure` in class `AbstractConfiguration`
      Parameters:
        `context` - The context to configure
      Throws:
        `Exception`

    - #### cloneConfigure

          public void cloneConfigure(WebAppContext template,
                            WebAppContext context)
                              throws Exception

      Description copied from interface: `Configuration`
      Clone configuration instance.

      Configure an instance of a WebAppContext, based on a template WebAppContext that has previously been configured by this Configuration.

      Specified by:
        `cloneConfigure` in interface `Configuration`
      Overrides:
        `cloneConfigure` in class `AbstractConfiguration`
      Parameters:
        `template` - The template context
        `context` - The context to configure
      Throws:
        `Exception`
      See Also:
        `AbstractConfiguration.cloneConfigure(org.eclipse.jetty.webapp.WebAppContext, org.eclipse.jetty.webapp.WebAppContext)`

    - #### resolveTempDirectory

          public void resolveTempDirectory(WebAppContext context)

      Get a temporary directory in which to unpack the war etc etc. The algorithm for determining this is to check these alternatives in the order shown:

      A. Try to use an explicit directory specifically for this webapp:

      1. Iff an explicit directory is set for this webapp, use it. Do NOT set delete on exit.
      2. Iff javax.servlet.context.tempdir context attribute is set for this webapp && exists && writeable, then use it. Do NOT set delete on exit.

      B. Create a directory based on global settings. The new directory will be called "Jetty_"+host+"_"+port+"__"+context+"_"+virtualhost Work out where to create this directory:

      1. Iff $(jetty.home)/work exists create the directory there. Do NOT set delete on exit. Do NOT delete contents if dir already exists.
      2. Iff WEB-INF/work exists create the directory there. Do NOT set delete on exit. Do NOT delete contents if dir already exists.
      3. Else create dir in $(java.io.tmpdir). Set delete on exit. Delete contents if dir already exists.

    - #### makeTempDirectory

          public void makeTempDirectory(File parent,
                               WebAppContext context,
                               boolean deleteExisting)
                                 throws IOException

      Throws:
        `IOException`

    - #### unpack

          public void unpack(WebAppContext context)
                      throws IOException

      Throws:
        `IOException`

    - #### findWorkDirectory

          public File findWorkDirectory(WebAppContext context)
                                 throws IOException

      Throws:
        `IOException`

    - #### isTempWorkDirectory

          public boolean isTempWorkDirectory(File tmpDir)

      Check if the tmpDir itself is called "work", or if the tmpDir is in a directory called "work".
      Returns:
        true if File is a temporary or work directory

    - #### getCanonicalNameForWebAppTmpDir

          public static String getCanonicalNameForWebAppTmpDir(WebAppContext context)

      Create a canonical name for a webapp temp directory. The form of the name is: `"Jetty_"+host+"_"+port+"__"+resourceBase+"_"+context+"_"+virtualhost+base36_hashcode_of_whole_string` host and port uniquely identify the server context and virtual host uniquely identify the webapp
      Returns:
        the canonical name for the webapp temp directory

    - #### findJars

          protected List<Resource> findJars(WebAppContext context)
                                     throws Exception

      Look for jars in WEB-INF/lib
      Parameters:
        `context` -
      Returns:
        the list of jar resources found within context
      Throws:
        `Exception`

Copyright © 1995-2015 Mort Bay Consulting. All Rights Reserved.