/*
* Copyright 2006 (C) TJDO.
* All rights reserved.
*
* This software is distributed under the terms of the TJDO License version 1.0.
* See the terms of the TJDO License in the documentation provided with this software.
*
* $Id: SystemProperty.java,v 1.1 2006/10/11 23:37:23 jackknifebarber Exp $
*/
/**
* Static methods for retrieving and system properties and converting them to
* various types.
*
* These methods are very similar to others in java.lang; for example,
* {@link #intValue} is nearly the same as Integer.getInteger(String,int).
* The main difference is that these methods log warnings for invalid property
* values.
*
* @author Mike Martin
* @version $Revision: 1.1 $
*/
public final class SystemProperty
{
/** Private constructor prevents instantiation. */
private SystemProperty()
{
}
/**
* Returns the value of a system property as a boolean.
* If such a system property exists it is converted to a boolean with
* Boolean.valueOf(String).
* Returns the specified default value if no such system property exists or
* the property value is invalid.
*
* @return
* the boolean value of the specified property
*/
public static boolean booleanValue(String propName, boolean defaultValue)
{
String prop = System.getProperty(propName);
boolean val;
if (prop == null)
val = defaultValue;
else
val = Boolean.valueOf(prop.trim()).booleanValue();
return val;
}
/**
* Returns the value of a system property as an integer.
* If such a system property exists it is converted to an integer with
* Integer.decode(String).
* Returns the specified default value if no such system property exists or
* the property value is invalid.
*
* @return
* the integer value of the specified property
*/
public static int intValue(String propName, int defaultValue)
{
String prop = System.getProperty(propName);
int val;
if (prop == null)
val = defaultValue;
else
{
try
{
val = Integer.decode(prop.trim()).intValue();
}
catch (NumberFormatException e)
{
val = defaultValue;
}
}
return val;
}
/**
* Returns the value of a system property as a String.
* Returns the specified default value if no such system property exists.
*
* @return
* the String value of the specified property
*/
public static String stringValue(String propName, String defaultValue)
{
String val = System.getProperty(propName);
if (val == null)
val = defaultValue;
return val;
}
}