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  }