View Javadoc

1   /***
2    * Jetrix TetriNET Server
3    * Copyright (C) 2001-2003  Emmanuel Bourg
4    *
5    * This program is free software; you can redistribute it and/or
6    * modify it under the terms of the GNU General Public License
7    * as published by the Free Software Foundation; either version 2
8    * of the License, or (at your option) any later version.
9    *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   * GNU General Public License for more details.
14   *
15   * You should have received a copy of the GNU General Public License
16   * along with this program; if not, write to the Free Software
17   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18   */
19  
20  package net.jetrix.config;
21  
22  import java.util.Properties;
23  
24  /***
25   * A generic configuration.
26   *
27   * @author Emmanuel Bourg
28   * @version $Revision: 794 $, $Date: 2009-02-17 20:08:39 +0100 (Tue, 17 Feb 2009) $
29   */
30  public class Configuration
31  {
32      protected Properties props;
33  
34      public void setParameter(String name, String value)
35      {
36          if (props == null)
37          {
38              props = new Properties();
39          }
40          props.setProperty(name, value);
41      }
42  
43      public int getInt(String key, int defaultValue)
44      {
45          int value;
46  
47          try
48          {
49              value = Integer.parseInt(props.getProperty(key));
50          }
51          catch (Exception e)
52          {
53              value = defaultValue;
54          }
55  
56          return value;
57      }
58  
59      public boolean getBoolean(String key, boolean defaultValue)
60      {
61          boolean value;
62  
63          try
64          {
65              String property = props.getProperty(key).trim().toLowerCase();
66              if ("true".equals(property) || "false".equals(property))
67              {
68                  value = new Boolean(property).booleanValue();
69              }
70              else
71              {
72                  value = defaultValue;
73              }
74  
75          }
76          catch (Exception e)
77          {
78              value = defaultValue;
79          }
80  
81          return value;
82      }
83  
84      public String getString(String key, String defaultValue)
85      {
86          String value = props != null ? props.getProperty(key) : null;
87          return value != null ? value : defaultValue;
88      }
89  
90      /***
91       * Return the underlying Properties.
92       *
93       * @since 0.2
94       */
95      public Properties getProperties()
96      {
97          return props;
98      }
99  }