View Javadoc

    1   //========================================================================
    2   //$Id: Configuration.java,v 1.2 2005/10/26 20:48:48 gregwilkins Exp $
    3   //Copyright 2004-2005 Mort Bay Consulting Pty. Ltd.
    4   //------------------------------------------------------------------------
    5   //Licensed under the Apache License, Version 2.0 (the "License");
    6   //you may not use this file except in compliance with the License.
    7   //You may obtain a copy of the License at
    8   //http://www.apache.org/licenses/LICENSE-2.0
    9   //Unless required by applicable law or agreed to in writing, software
    10  //distributed under the License is distributed on an "AS IS" BASIS,
    11  //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  //See the License for the specific language governing permissions and
    13  //limitations under the License.
    14  //========================================================================
    15
    16  package org.mortbay.jetty.webapp;
    17
    18  import java.io.Serializable;
    19
    20  /* ------------------------------------------------------------------------------- */
    21  /** Base Class for WebApplicationContext Configuration.
    22   * This class can be extended to customize or extend the configuration
    23   * of the WebApplicationContext.  If WebApplicationContext.setConfiguration is not
    24   * called, then an XMLConfiguration instance is created.
    25   *
    26   * @author gregw
    27   */
    28  public interface Configuration extends Serializable
    29  {
    30      /* ------------------------------------------------------------------------------- */
    31      /** Set up a context on which to perform the configuration.
    32       * @param context
    33       */
    34      public void setWebAppContext (WebAppContext context);
    35
    36      /* ------------------------------------------------------------------------------- */
    37      /** Get the context on which the configuration is performed.
    38       */
    39      public WebAppContext getWebAppContext();
    40
    41      /* ------------------------------------------------------------------------------- */
    42      /** Configure ClassPath.
    43       * This method is called to configure the context ClassLoader.  It is called just
    44       * after a new WebAppClassLoader is constructed and before it has been used.
    45       * Class paths may be added, options changed or the loader totally replaced.
    46       * @throws Exception
    47       */
    48      public void configureClassLoader()
    49      throws Exception;
    50
    51      /* ------------------------------------------------------------------------------- */
    52      /** Configure Defaults.
    53       * This method is called to intialize the context to the containers default configuration.
    54       * Typically this would mean application of the webdefault.xml file.
    55       * @throws Exception
    56       */
    57      public  void configureDefaults()
    58      throws Exception;
    59
    60
    61      /* ------------------------------------------------------------------------------- */
    62      /** Configure WebApp.
    63       * This method is called to apply the standard and vendor deployment descriptors.
    64       * Typically this is web.xml and jetty-web.xml.
    65       * @throws Exception
    66       */
    67      public  void configureWebApp()
    68      throws Exception;
    69
    70      /* ------------------------------------------------------------------------------- */
    71      /** DeConfigure WebApp.
    72       * This method is called to undo all configuration done to this webapphandler. This is
    73       * called to allow the context to work correctly over a stop/start cycle
    74       * @throws Exception
    75       */
    76      public  void deconfigureWebApp()
    77      throws Exception;
    78
    79
    80  }