org.hibernate.util

Class PropertiesHelper


public final class PropertiesHelper
extends java.lang.Object

Collection of helper methods for dealing with java.util.Properties objects.
Authors:
Gavin King
Steve Ebersole

Method Summary

static String
extractPropertyValue(String propertyName, Properties properties)
Extract a property value by name from the given properties object.
static boolean
getBoolean(String propertyName, Properties properties)
Get a property value as a boolean.
static boolean
getBoolean(String propertyName, Properties properties, boolean defaultValue)
Get a property value as a boolean.
static int
getInt(String propertyName, Properties properties, int defaultValue)
Get a property value as an int.
static Integer
getInteger(String propertyName, Properties properties)
Get a property value as an Integer.
static String
getString(String propertyName, Properties properties, String defaultValue)
Get a property value as a string.
static Properties
maskOut(Properties props, String key)
replace a property by a starred version
static String
resolvePlaceHolder(String property)
Handles interpolation processing for a single property.
static void
resolvePlaceHolders(Properties properties)
Handles interpolation processing for all entries in a properties object.
static Map
toMap(String propertyName, String delim, Properties properties)
Constructs a map from a property value.
static String[]
toStringArray(String stringForm, String delim)
Convert a string to an array of strings.
static String[]
toStringArray(String propertyName, String delim, Properties properties)
Get a property value as a string array.

Method Details

extractPropertyValue

public static String extractPropertyValue(String propertyName,
                                          Properties properties)
Extract a property value by name from the given properties object.

Both null and empty string are viewed as the same, and return null.

Parameters:
propertyName - The name of the property for which to extract value
properties - The properties object
Returns:
The property value; may be null.

getBoolean

public static boolean getBoolean(String propertyName,
                                 Properties properties)
Get a property value as a boolean. Shorthand for calling getBoolean(String, java.util.Properties, boolean) with false as the default value.
Parameters:
propertyName - The name of the property for which to retrieve value
properties - The properties object
Returns:
The property value.

getBoolean

public static boolean getBoolean(String propertyName,
                                 Properties properties,
                                 boolean defaultValue)
Get a property value as a boolean.

First, the string value is extracted, and then Boolean.valueOf(String) is used to determine the correct boolean value.

Parameters:
propertyName - The name of the property for which to retrieve value
properties - The properties object
defaultValue - The default property value to use.
Returns:
The property value.
See Also:
extractPropertyValue(String, java.util.Properties)

getInt

public static int getInt(String propertyName,
                         Properties properties,
                         int defaultValue)
Get a property value as an int.

First, the string value is extracted, and then Integer.parseInt(String) is used to determine the correct int value for any non-null property values.

Parameters:
propertyName - The name of the property for which to retrieve value
properties - The properties object
defaultValue - The default property value to use.
Returns:
The property value.
See Also:
extractPropertyValue(String, java.util.Properties)

getInteger

public static Integer getInteger(String propertyName,
                                 Properties properties)
Get a property value as an Integer.

First, the string value is extracted, and then Integer.valueOf(String) is used to determine the correct boolean value for any non-null property values.

Parameters:
propertyName - The name of the property for which to retrieve value
properties - The properties object
Returns:
The property value; may be null.
See Also:
extractPropertyValue(String, java.util.Properties)

getString

public static String getString(String propertyName,
                               Properties properties,
                               String defaultValue)
Get a property value as a string.
Parameters:
propertyName - The name of the property for which to retrieve value
properties - The properties object
defaultValue - The default property value to use.
Returns:
The property value; may be null.
See Also:
extractPropertyValue(String, java.util.Properties)

maskOut

public static Properties maskOut(Properties props,
                                 String key)
replace a property by a starred version
Parameters:
props - properties to check
key - proeprty to mask
Returns:
cloned and masked properties

resolvePlaceHolder

public static String resolvePlaceHolder(String property)
Handles interpolation processing for a single property.
Parameters:
property - The property value to be processed for interpolation.
Returns:
The (possibly) interpolated property value.

resolvePlaceHolders

public static void resolvePlaceHolders(Properties properties)
Handles interpolation processing for all entries in a properties object.
Parameters:
properties - The properties object.

toMap

public static Map toMap(String propertyName,
                        String delim,
                        Properties properties)
Constructs a map from a property value.

The exact behavior here is largely dependant upon what is passed in as the delimiter.

Parameters:
propertyName - The name of the property for which to retrieve value
delim - The string defining tokens used as both entry and key/value delimiters.
properties - The properties object
Returns:
The resulting map; never null, though perhaps empty.
See Also:
extractPropertyValue(String, java.util.Properties)

toStringArray

public static String[] toStringArray(String stringForm,
                                     String delim)
Convert a string to an array of strings. The assumption is that the individual array elements are delimited in the source stringForm param by the delim param.
Parameters:
stringForm - The string form of the string array.
delim - The delimiter used to separate individual array elements.
Returns:
The array; never null, though may be empty.

toStringArray

public static String[] toStringArray(String propertyName,
                                     String delim,
                                     Properties properties)
Get a property value as a string array.
Parameters:
propertyName - The name of the property for which to retrieve value
delim - The delimiter used to separate individual array elements.
properties - The properties object
Returns:
The array; never null, though may be empty.