package com.c2kernel.utils; import java.util.Enumeration; import java.util.Properties; public class ObjectProperties extends Properties { public ObjectProperties() { // TODO Auto-generated constructor stub } public ObjectProperties(Properties defaults) { super(defaults); // TODO Auto-generated constructor stub } public String getString(String propName) { return super.getProperty(propName); } public String getString(String propName, String defaultValue) { return super.getProperty(propName, defaultValue); } /** * ogattaz proposal * * @param propName * the name of the property * @return the object value of the property. Returns null if the property * doesn't exist or if the properties of the gateway is null */ public Object getObject(String propName) { return getObject(propName, null); } /** * ogattaz proposal * * @param aPropertyName * the name of the property * @param defaultValue * the default value. * @return the object value of the property. Returns the default value if the property * doesn't exist or if the properties of the gateway is null. * @return */ public Object getObject(String propName, Object defaultValue) { Object wValue = get(propName); if (wValue == null) { return defaultValue; } return wValue; } /** * ogattaz proposal * * @param propName * the name of the paroperty * @return the boolean value of the property. Returns false if the property * doesn't exist or if the value is not a String or a Boolean * instance */ public boolean getBoolean(String aPropertyName) { return getBoolean(aPropertyName, Boolean.FALSE); } /** * ogattaz proposal * * @param propName * the name of the parameter stored in the clc file * @param defaultValue * the default value * @return the boolean value of the property. Returns the default value if * the property doesn't exist or if the value is not a String or a * Boolean instance */ public boolean getBoolean(String aPropertyName, boolean defaultValue) { Object wValue = getObject(aPropertyName, new Boolean(defaultValue)); if (wValue instanceof Boolean) { return ((Boolean) wValue).booleanValue(); } if (wValue instanceof String) { return Boolean.parseBoolean((String) wValue); } Logger.error("getBoolean(): unable to retrieve a int value for ["+aPropertyName+"]. Returning default value ["+defaultValue+"]. object found="+wValue); return defaultValue; } /** * ogattaz proposal * * @param propName * the name of the property * @return the int value of the property. Returns -1 if the property doesn't * exist or if the value is not a String or an Integer instance */ public int getInt(String aPropertyName) { return getInt(aPropertyName, -1); } /** * ogattaz proposal * * @param propName * the name of the property * @param defaultValue * the default value * @return the int value of the property. Returns the default vakue if the * property doesn't exist or if the value is not a String or an * Integer instance */ public int getInt(String aPropertyName, int defaultValue) { Object wValue = getObject(aPropertyName, new Integer(defaultValue)); if (wValue instanceof Integer) { return ((Integer) wValue).intValue(); } if (wValue instanceof String) { try { return Integer.parseInt((String) wValue); } catch (NumberFormatException ex) { } } Logger.error("getInt(): unable to retrieve a int value for ["+aPropertyName+"]. Returning default value ["+defaultValue+"]. object found="+wValue); return defaultValue; } /** * Allow setting of properties as Objects * * @param aPropertyName * the name of the property * @param aPropertyValue */ public void setProperty(String aPropertyName, Object aPropertyValue) { put(aPropertyName, aPropertyValue); } public void dumpProps(int logLevel) { Logger.msg(logLevel, "Properties:"); for (Enumeration e = propertyNames(); e.hasMoreElements();) { String name = (String) e.nextElement(); Logger.msg(" "+name+" ("+getObject(name).getClass().getSimpleName()+"): "+getObject(name).toString()); } } }