org.objectledge.parameters
Class DefaultParameters

java.lang.Object
  extended by org.objectledge.parameters.DefaultParameters
All Implemented Interfaces:
Parameters
Direct Known Subclasses:
DirectoryParameters, SortedParameters

public class DefaultParameters
extends Object
implements Parameters

A simple implementation of parameters container.

Version:
$Id: DefaultParameters.java,v 1.24 2005/12/20 09:09:32 pablo Exp $
Author:
Pawel Potempski

Field Summary
protected  Map<String,String[]> map
          The main parameters map.
static String TRUE
          string representation for boolean true value.
 
Constructor Summary
DefaultParameters()
          Create the empty container.
DefaultParameters(InputStream is, String encoding)
          Create the container and feed it with configuration given as string.
DefaultParameters(Parameters source)
          Create the container as a copy of source container.
DefaultParameters(String configuration)
          Create the container and feed it with configuration given as string.
 
Method Summary
 void add(Parameters parameters, boolean overwrite)
          Adds all parameters from another container to this container.
 void add(String name, boolean value)
          Add the parameter.
 void add(String name, boolean[] values)
          Add the parameter.
 void add(String name, Date value)
          Add the parameter.
 void add(String name, Date[] values)
          Add the parameter.
 void add(String name, float value)
          Add the parameter.
 void add(String name, float[] values)
          Add the parameter.
 void add(String name, int value)
          Add the parameter.
 void add(String name, int[] values)
          Add the parameter.
 void add(String name, long value)
          Add the parameter.
 void add(String name, long[] values)
          Add the parameter.
 void add(String name, String value)
          Add the parameter.
 void add(String name, String[] values)
          Add the parameter.
 String get(String name)
          Return the parameter with specified name.
 String get(String name, String defaultValue)
          Return the parameter with specified name.
 boolean getBoolean(String name)
          Return the parameter with specified name.
 boolean getBoolean(String name, boolean defaultValue)
          Return the parameter with specified name.
 boolean[] getBooleans(String name)
          Return all values of the parameter with specified name as an array.
 Parameters getChild(String prefix)
          Return a parameters object that represents a subset of parameters with specified prefix.
 Date getDate(String name)
          Return the parameter with specified name.
 Date getDate(String name, Date defaultValue)
          Return the parameter with specified name.
 Date[] getDates(String name)
          Return all values of the parameter with specified name as an array.
 float getFloat(String name)
          Return the parameter with specified name.
 float getFloat(String name, float defaultValue)
          Return the parameter with specified name.
 float[] getFloats(String name)
          Return all values of the parameter with specified name as an array.
 int getInt(String name)
          Return the parameter with specified name.
 int getInt(String name, int defaultValue)
          Return the parameter with specified name.
 int[] getInts(String name)
          Return all values of the parameter with specified name as an array.
 long getLong(String name)
          Return the parameter with specified name.
 long getLong(String name, long defaultValue)
          Return the parameter with specified name.
 long[] getLongs(String name)
          Return the parameter as array of long values.
 String[] getParameterNames()
          Return the names of all parameters.
protected  String getSingleValue(String name)
          Returns the value of the parameter, or null if it is undefined.
 String[] getStrings(String name)
          Return all values of the parameter with specified name as an array.
 boolean isDefined(String name)
          Checks whether parameter is defined.
private  void loadParameters(LineNumberReader reader)
           
 void remove()
          Remove all parameters.
 void remove(Set keys)
          Remove all parameters with a name contained in given set.
 void remove(String name)
          Remove all parameters with a specified name.
 void remove(String name, Date value)
          Remove all parameters with a specified name and value.
 void remove(String name, float value)
          Remove all parameters with a specified name and value.
 void remove(String name, int value)
          Remove all parameters with a specified name and value.
 void remove(String name, long value)
          Remove all parameters with a specified name and value.
 void remove(String name, String value)
          Remove all parameters with a specified name and string value.
 void removeExcept(Set keys)
          Remove all except those with a keys specified in the set.
 void set(Parameters parameters)
          Reset state to equal with given parameters.
 void set(String name, boolean value)
          Set the parameter.
 void set(String name, boolean[] values)
          Set the parameter.
 void set(String name, Date value)
          Set the parameter.
 void set(String name, Date[] values)
          Set the parameter.
 void set(String name, float value)
          Set the parameter.
 void set(String name, float[] values)
          Set the parameter.
 void set(String name, int value)
          Set the parameter.
 void set(String name, int[] values)
          Set the parameter.
 void set(String name, long value)
          Set the parameter.
 void set(String name, long[] values)
          Set the parameter.
 void set(String name, String value)
          Set the parameter.
 void set(String name, String[] values)
          Set the parameter.
protected  void setupMap()
          Method used in constructors to choose backing Map implementation.
 String toString()
          Returns the contained properties as a parsable String.
static String toString(String[] values)
          Create a string represenation of value array.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TRUE

public static final String TRUE
string representation for boolean true value.

See Also:
Constant Field Values

map

protected Map<String,String[]> map
The main parameters map.

Constructor Detail

DefaultParameters

public DefaultParameters()
Create the empty container.


DefaultParameters

public DefaultParameters(String configuration)
Create the container and feed it with configuration given as string.

Parameters:
configuration - the string representation of the container.

DefaultParameters

public DefaultParameters(InputStream is,
                         String encoding)
                  throws IOException,
                         UnsupportedEncodingException
Create the container and feed it with configuration given as string.

Parameters:
is - the stream with byte representation of the container.
encoding - the encoding of the source.
Throws:
UnsupportedEncodingException - if the specified encoding is not supported by the JVM.
IOException - if there is an error reading data from the stream.

DefaultParameters

public DefaultParameters(Parameters source)
Create the container as a copy of source container.

Parameters:
source - the source container.
Method Detail

toString

public static String toString(String[] values)
Create a string represenation of value array.

Values will be emmited comma separated, with any contained commas backslash-escaped.

Parameters:
values - value arrary.
Returns:
the string representation of the values.

setupMap

protected void setupMap()
Method used in constructors to choose backing Map implementation. By default a HashMap is used.


get

public String get(String name)
Return the parameter with specified name.

Specified by:
get in interface Parameters
Parameters:
name - the name of the parameter.
Returns:
the string value of the parameter.

getSingleValue

protected String getSingleValue(String name)
                         throws AmbiguousParameterException
Returns the value of the parameter, or null if it is undefined.

This method will return null in any of the following situations:

Parameters:
name - the name of the parameter.
Returns:
value of the parameter if undefined (see above).
Throws:
AmbiguousParameterException - if the parameter has more than one value.

get

public String get(String name,
                  String defaultValue)
Return the parameter with specified name.

Specified by:
get in interface Parameters
Parameters:
name - the name of the parameter.
defaultValue - the default value of the parameter.
Returns:
the string value of the parameter.

getStrings

public String[] getStrings(String name)
Return all values of the parameter with specified name as an array.

Specified by:
getStrings in interface Parameters
Parameters:
name - the name of the parameters.
Returns:
the array of the string values of the parameter.

getBoolean

public boolean getBoolean(String name)
Return the parameter with specified name.

Specified by:
getBoolean in interface Parameters
Parameters:
name - the name of the parameter.
Returns:
the boolean value of the parameter.

getBoolean

public boolean getBoolean(String name,
                          boolean defaultValue)
Return the parameter with specified name.

Specified by:
getBoolean in interface Parameters
Parameters:
name - the name of the parameter.
defaultValue - the default value of the parameter.
Returns:
the boolean value of the parameter.

getBooleans

public boolean[] getBooleans(String name)
Return all values of the parameter with specified name as an array.

Specified by:
getBooleans in interface Parameters
Parameters:
name - the name of the parameters.
Returns:
the array of the boolean values of the parameter.

getDate

public Date getDate(String name)
Return the parameter with specified name. The assumed String value of this parameter is a decimal representation of a Unix time-stamp.

Specified by:
getDate in interface Parameters
Parameters:
name - the name of the parameter.
Returns:
the date value of the parameter.

getDate

public Date getDate(String name,
                    Date defaultValue)
Return the parameter with specified name. The assumed String value of this parameter is a decimal representation of a Unix time-stamp.

Specified by:
getDate in interface Parameters
Parameters:
name - the name of the parameter.
defaultValue - the default value of the parameter.
Returns:
the date value of the parameter.

getDates

public Date[] getDates(String name)
Return all values of the parameter with specified name as an array. The assumed String values of this parameter is are decimal representations of Unix time-stamps.

Specified by:
getDates in interface Parameters
Parameters:
name - the name of the parameters.
Returns:
the array of the date values of the parameter.

getFloat

public float getFloat(String name)
               throws NumberFormatException
Return the parameter with specified name.

Specified by:
getFloat in interface Parameters
Parameters:
name - the name of the parameter.
Returns:
the float value of the parameter.
Throws:
NumberFormatException - if parameter is not a number.

getFloat

public float getFloat(String name,
                      float defaultValue)
Return the parameter with specified name.

Specified by:
getFloat in interface Parameters
Parameters:
name - the name of the parameter.
defaultValue - the default value of the parameter.
Returns:
the float value of the parameter.

getFloats

public float[] getFloats(String name)
                  throws NumberFormatException
Return all values of the parameter with specified name as an array.

Specified by:
getFloats in interface Parameters
Parameters:
name - the name of the parameters.
Returns:
the array of the float values of the parameter.
Throws:
NumberFormatException - if anyone of the values is not a number.

getInt

public int getInt(String name)
           throws NumberFormatException
Return the parameter with specified name.

Specified by:
getInt in interface Parameters
Parameters:
name - the name of the parameter.
Returns:
the integer value of the parameter.
Throws:
NumberFormatException - if parameter is not a number.

getInt

public int getInt(String name,
                  int defaultValue)
Return the parameter with specified name.

Specified by:
getInt in interface Parameters
Parameters:
name - the name of the parameter.
defaultValue - the default value of the parameter.
Returns:
the integer value of the parameter.

getInts

public int[] getInts(String name)
Return all values of the parameter with specified name as an array.

Specified by:
getInts in interface Parameters
Parameters:
name - the name of the parameters.
Returns:
the array of the integer values of the parameter.

getLong

public long getLong(String name)
             throws NumberFormatException
Return the parameter with specified name.

Specified by:
getLong in interface Parameters
Parameters:
name - the name of the parameter.
Returns:
the integer value of the parameter.
Throws:
NumberFormatException - if parameter is not a number.

getLong

public long getLong(String name,
                    long defaultValue)
Return the parameter with specified name.

Specified by:
getLong in interface Parameters
Parameters:
name - the name of the parameter.
defaultValue - the default value of the parameter.
Returns:
the integer value of the parameter.

getLongs

public long[] getLongs(String name)
                throws NumberFormatException
Return the parameter as array of long values.

Specified by:
getLongs in interface Parameters
Parameters:
name - the name of the parameter.
Returns:
the array of parameter values.
Throws:
NumberFormatException - if parameter is not a number.

getParameterNames

public String[] getParameterNames()
Return the names of all parameters.

Specified by:
getParameterNames in interface Parameters
Returns:
the parameter names.

isDefined

public boolean isDefined(String name)
Checks whether parameter is defined.

Specified by:
isDefined in interface Parameters
Parameters:
name - the name of the parameter.
Returns:
true if parameter is defined.

remove

public void remove()
Remove all parameters.

Specified by:
remove in interface Parameters

remove

public void remove(String name)
Remove all parameters with a specified name.

Specified by:
remove in interface Parameters
Parameters:
name - the parameter name.

remove

public void remove(String name,
                   String value)
Remove all parameters with a specified name and string value.

Specified by:
remove in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

remove

public void remove(String name,
                   Date value)
Remove all parameters with a specified name and value.

Specified by:
remove in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

remove

public void remove(String name,
                   float value)
Remove all parameters with a specified name and value.

Specified by:
remove in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

remove

public void remove(String name,
                   int value)
Remove all parameters with a specified name and value.

Specified by:
remove in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

remove

public void remove(String name,
                   long value)
Remove all parameters with a specified name and value.

Specified by:
remove in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

remove

public void remove(Set keys)
Remove all parameters with a name contained in given set.

Specified by:
remove in interface Parameters
Parameters:
keys - the set of keys.

removeExcept

public void removeExcept(Set keys)
Remove all except those with a keys specified in the set.

Specified by:
removeExcept in interface Parameters
Parameters:
keys - the set of names.

set

public void set(String name,
                String value)
Set the parameter.

Specified by:
set in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

set

public void set(String name,
                String[] values)
Set the parameter.

Specified by:
set in interface Parameters
Parameters:
name - the parameter name.
values - the parameter values.

set

public void set(String name,
                boolean value)
Set the parameter.

Specified by:
set in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

set

public void set(String name,
                boolean[] values)
Set the parameter.

Specified by:
set in interface Parameters
Parameters:
name - the parameter name.
values - the parameter values.

set

public void set(String name,
                Date value)
Set the parameter.

Specified by:
set in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

set

public void set(String name,
                Date[] values)
Set the parameter.

Specified by:
set in interface Parameters
Parameters:
name - the parameter name.
values - the parameter values.

set

public void set(String name,
                float value)
Set the parameter.

Specified by:
set in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

set

public void set(String name,
                float[] values)
Set the parameter.

Specified by:
set in interface Parameters
Parameters:
name - the parameter name.
values - the parameter values.

set

public void set(String name,
                int value)
Set the parameter.

Specified by:
set in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

set

public void set(String name,
                int[] values)
Set the parameter.

Specified by:
set in interface Parameters
Parameters:
name - the parameter name.
values - the parameter values.

set

public void set(String name,
                long value)
Set the parameter.

Specified by:
set in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

set

public void set(String name,
                long[] values)
Set the parameter.

Specified by:
set in interface Parameters
Parameters:
name - the parameter name.
values - the parameter values.

set

public void set(Parameters parameters)
Reset state to equal with given parameters.

Specified by:
set in interface Parameters
Parameters:
parameters - the source parameters.

add

public void add(String name,
                String value)
Add the parameter.

Specified by:
add in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

add

public void add(String name,
                String[] values)
Add the parameter.

Specified by:
add in interface Parameters
Parameters:
name - the parameter name.
values - the parameter values.

add

public void add(String name,
                boolean value)
Add the parameter.

Specified by:
add in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

add

public void add(String name,
                boolean[] values)
Add the parameter.

Specified by:
add in interface Parameters
Parameters:
name - the parameter name.
values - the parameter values.

add

public void add(String name,
                Date value)
Add the parameter.

Specified by:
add in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

add

public void add(String name,
                Date[] values)
Add the parameter.

Specified by:
add in interface Parameters
Parameters:
name - the parameter name.
values - the parameter values.

add

public void add(String name,
                float value)
Add the parameter.

Specified by:
add in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

add

public void add(String name,
                float[] values)
Add the parameter.

Specified by:
add in interface Parameters
Parameters:
name - the parameter name.
values - the parameter values.

add

public void add(String name,
                int value)
Add the parameter.

Specified by:
add in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

add

public void add(String name,
                int[] values)
Add the parameter.

Specified by:
add in interface Parameters
Parameters:
name - the parameter name.
values - the parameter values.

add

public void add(String name,
                long value)
Add the parameter.

Specified by:
add in interface Parameters
Parameters:
name - the parameter name.
value - the parameter value.

add

public void add(String name,
                long[] values)
Add the parameter.

Specified by:
add in interface Parameters
Parameters:
name - the parameter name.
values - the parameter values.

add

public void add(Parameters parameters,
                boolean overwrite)
Adds all parameters from another container to this container. If overwrite is set to true all conflicting parameters from this container will be replaced, otherwise all parameters from another container will be added.

Specified by:
add in interface Parameters
Parameters:
parameters - the parameters object.
overwrite - the overwrite switch.

toString

public String toString()
Returns the contained properties as a parsable String.

Specified by:
toString in interface Parameters
Overrides:
toString in class Object
Returns:
parsable String representation of the contained properties.

getChild

public Parameters getChild(String prefix)
Return a parameters object that represents a subset of parameters with specified prefix.

Specified by:
getChild in interface Parameters
Parameters:
prefix - the prefix.
Returns:
the nested parameters object.

loadParameters

private void loadParameters(LineNumberReader reader)
                     throws IOException
Throws:
IOException


Copyright © 2003-2006 objectledge.org. All Rights Reserved.