org.esa.beam.framework.param
Class ParamGroup

java.lang.Object
  extended by org.esa.beam.framework.param.ParamGroup

public class ParamGroup
extends Object

The ParamGroup class represents a ordered list of parameters.

Version:
$Revision$ $Date$
Author:
Norman Fomferra, Sabine Embacher

Constructor Summary
ParamGroup()
          Constructs a new parameter group.
 
Method Summary
 void addParamChangeListener(ParamChangeListener listener)
          Adds a parameter change listener to all parameters in this group.
 void addParameter(Parameter parameter)
          Adds the given parameter to this group.
static ParamGroup create(PropertyMap propertyMap)
          Adds and configures parameters supplied through the given properties.
 Parameter createParameter(String name)
          Creates a parameter for the given name.
 int getNumParameters()
          Returns the number of parameters in this group.
 Parameter getParameter(String name)
          Returns the parameter with the given name.
 Parameter getParameterAt(int index)
          Returns the parameter with the given index.
 int getParameterIndex(String name)
          Returns the index of the parameter with the given name.
 PropertyMap getParameterValues()
          Gets the parameter values in this group as a property map instance.
 PropertyMap getParameterValues(PropertyMap propertyMap)
          Gets the parameter values in this group as a property map instance.
 void removeParamChangeListener(ParamChangeListener listener)
          Removes the parameter change listener from all parameters in this group.
 void removeParameter(Parameter parameter)
          Removes the given parameter from this group.
 void setParameterValues(PropertyMap propertyMap, ParamExceptionHandler handler)
          Sets parameter values supplied through the given property map.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ParamGroup

public ParamGroup()
Constructs a new parameter group.

Method Detail

create

public static ParamGroup create(PropertyMap propertyMap)
Adds and configures parameters supplied through the given properties.

For each entry in the properties having the form any-string.name = param-name the method creates a new parameter with the name given by param-name if it does not already exists in this list. Then, for each entry of the form param-name.attrib-name = attrib-value contained in the given properties, the method sets/creates a new parameter attribute for the parameter's getProperties() field.

If a parameter found in the properties has the null value, the method sets the value of this parameter to the value given by param-name.defaultValue = default-value, if it can be found in the properties.

Parameters:
propertyMap - the properties used to add and configure new parameters
See Also:
Parameter.getProperties(), ParamProperties

setParameterValues

public void setParameterValues(PropertyMap propertyMap,
                               ParamExceptionHandler handler)
Sets parameter values supplied through the given property map.

For each parameter contained in this list having the name param-name this method searches for entries in the property ma having the form param-name = param-value. If it can be found, the parameter is set to the given textual value using the parameter's setValueAsText method.

Parameters:
propertyMap - the property map, must not be null
handler - an optional error handler, can be null
See Also:
Parameter.setValueAsText(java.lang.String)

getParameterValues

public PropertyMap getParameterValues()
Gets the parameter values in this group as a property map instance.

Simply returns getParameterValues(null).

Returns:
the property map, never null
See Also:
getParameterValues(PropertyMap)

getParameterValues

public PropertyMap getParameterValues(PropertyMap propertyMap)
Gets the parameter values in this group as a property map instance.

For each parameter contained in this list a new entry in the property map instance is created. The key is always the paramer's name and the value is created by using the parameter's getValueAsText method.

Parameters:
propertyMap - if not null used as return value, otherwise a new Properties instance will be created and returned
Returns:
the property map, never null
See Also:
Parameter.getValueAsText()

getNumParameters

public int getNumParameters()
Returns the number of parameters in this group.


getParameterAt

public Parameter getParameterAt(int index)
Returns the parameter with the given index.

Parameters:
index - the parameter index
Throws:
IndexOutOfBoundsException - if the index is negative or greater or equal to getNumParameters().

getParameter

public Parameter getParameter(String name)
Returns the parameter with the given name.

Returns:
the parameter or null if the a parameter with the given name was not found in this group

createParameter

public Parameter createParameter(String name)
Creates a parameter for the given name. If a parameter with the given name already exists in this group, its reference is returned.

Returns:
the parameter, never null

getParameterIndex

public int getParameterIndex(String name)
Returns the index of the parameter with the given name. If a parameter with the given name was not found, -1 is returned.

Returns:
the parameter index, or -1 if it was not found

addParameter

public void addParameter(Parameter parameter)
Adds the given parameter to this group. If the parameter is null or the parameter already exists in this group, nothing happens.

Parameters:
parameter - the parameter to be added

removeParameter

public void removeParameter(Parameter parameter)
Removes the given parameter from this group. If the parameter is null or the parameter does not exists in this group, nothing happens.

Parameters:
parameter - the parameter to be removed

addParamChangeListener

public void addParamChangeListener(ParamChangeListener listener)
Adds a parameter change listener to all parameters in this group.

Parameters:
listener - the listener to be added to all parameters

removeParamChangeListener

public void removeParamChangeListener(ParamChangeListener listener)
Removes the parameter change listener from all parameters in this group.

Parameters:
listener - the listener to be removed from all parameters


Copyright © 2002-2013 Brockmann Consult GmbH. All Rights Reserved.