View Javadoc

    1   //========================================================================
    2   //$Id: FileConfigurationManager.java 1096 2006-10-12 20:59:46Z janb $
    3   //Copyright 2006 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.deployer;
    17
    18  import java.io.FileNotFoundException;
    19  import java.io.IOException;
    20  import java.net.MalformedURLException;
    21  import java.util.Map;
    22  import java.util.Properties;
    23
    24  import org.mortbay.resource.Resource;
    25
    26  /**
    27   * FileConfigurationManager
    28   *
    29   * Supplies properties defined in a file.
    30   */
    31  public class FileConfigurationManager implements ConfigurationManager
    32  {
    33      private Resource _file;
    34      private Properties _properties = new Properties();
    35
    36      public FileConfigurationManager()
    37      {
    38      }
    39
    40
    41      public void setFile (String filename)
    42      throws MalformedURLException, IOException
    43      {
    44          _file = Resource.newResource(filename);
    45      }
    46
    47
    48      /**
    49       * @see org.mortbay.jetty.deployer.ConfigurationManager#getProperties()
    50       */
    51      public Map getProperties()
    52      {
    53          try
    54          {
    55              loadProperties();
    56              return _properties;
    57          }
    58          catch (Exception e)
    59          {
    60              throw new RuntimeException(e);
    61          }
    62      }
    63
    64
    65      private void loadProperties ()
    66      throws FileNotFoundException, IOException
    67      {
    68          if (_properties.isEmpty())
    69              _properties.load(_file.getInputStream());
    70      }
    71  }