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 }