DefaultPropertyReader.java |
/*************************************** * * * JBoss: The OpenSource J2EE WebOS * * * * Distributable under LGPL license. * * See terms of license at gnu.org. * * * ***************************************/ package org.jboss.util.property; import org.jboss.util.Objects; import org.jboss.util.CoercionException; /** * Reads properties from files specified via a system property. * * <p>Unless otherwise specified, propertie filenames will be read from * the <tt>org.jboss.properties</tt> singleton or array property. * * @version <tt>$Revision: 1.3 $</tt> * @author <a href="mailto:jason@planet57.com">Jason Dillon</a> */ public final class DefaultPropertyReader extends FilePropertyReader { // // Might want to have a org.jboss.properties.property.name or something // property to determine what property name to read from. // // For now just use 'properties' // /** Default property name to read filenames from */ public static final String DEFAULT_PROPERTY_NAME = "properties"; /** * Construct a <tt>DefaultPropertyReader</tt> with a specified property * name. * * @param name Property name. */ public DefaultPropertyReader(final String propertyName) { super(getFilenames(propertyName)); } /** * Construct a <tt>DefaultPropertyReader</tt>. */ public DefaultPropertyReader() { this(DEFAULT_PROPERTY_NAME); } /** * Get an array of filenames to load. * * @param propertyName Property to read filenames from. * @return Array of filenames. */ public static String[] getFilenames(final String propertyName) throws PropertyException { String filenames[]; // check for singleton property first Object filename = PropertyManager.getProperty(propertyName); if (filename != null) { filenames = new String[] { String.valueOf(filename) }; } else { // if no singleton property exists then look for array props Object[] values = PropertyManager.getArrayProperty(propertyName); try { // return coerced string objects filenames = (String[])Objects.coerce(values, String[].class); } catch (CoercionException e) { throw new PropertyException(e); } } return filenames; } }
DefaultPropertyReader.java |