com.rapidminer.parameter
Class Parameters

java.lang.Object
  extended by com.rapidminer.tools.AbstractObservable<java.lang.String>
      extended by com.rapidminer.parameter.Parameters
All Implemented Interfaces:
Observable<java.lang.String>, java.lang.Cloneable, java.lang.Iterable<java.lang.String>

public class Parameters
extends AbstractObservable<java.lang.String>
implements java.lang.Cloneable, java.lang.Iterable<java.lang.String>

This class is a collection of the parameter values of a single operator. Instances of Parameters are created with respect to the declared list of ParameterTypes of an operator. If parameters are set using the setParameter() method and the value exceeds the range, it is automatically corrected. If parameters are queried that are not set, their default value is returned.
Upon setting the parameters, observers are notified, where the argument to the Observer#update() method will be the key of the changed parameter.

Author:
Ingo Mierswa, Simon Fischer

Field Summary
static char PAIR_SEPARATOR
           
static char RECORD_SEPARATOR
           
 
Constructor Summary
Parameters()
          Creates an empty parameters object without any parameter types.
Parameters(java.util.List<ParameterType> parameterTypes)
          Constructs an instance of Parameters for the given list of ParameterTypes.
 
Method Summary
 void addAll(Parameters parameters)
          Adds all Parameters to the parameters map.
 void addParameterType(ParameterType type)
           
 void appendXML(org.w3c.dom.Element toElement, boolean hideDefault, org.w3c.dom.Document doc)
          Appends the elements describing these Parameters to the given element.
 java.lang.Object clone()
          Performs a deep clone on this parameters object.
 void copyFrom(Parameters parameters)
           
 boolean equals(java.lang.Object o)
          Returns true if the given parameters are not null and are the same like this parameters.
 java.util.Set<java.lang.String> getDefinedKeys()
          This method returns the keys of all defined values.
 java.util.Set<java.lang.String> getKeys()
          Returns a set view of all parameter keys defined by parameter types.
 java.lang.String getParameter(java.lang.String key)
          Returns the value of the given parameter.
 java.lang.String getParameterAsSpecified(java.lang.String key)
          Returns the value of the parameter as specified by the process definition file (without substituting default values etc.)
 java.lang.String getParameterOrNull(java.lang.String key)
          As getParameter(String), but returns null rather than throwing an exception.
 ParameterType getParameterType(java.lang.String key)
          Returns the type of the parameter with the given type.
 java.util.Collection<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 java.lang.String getXML(java.lang.String indent, boolean hideDefault)
          Deprecated. Use the DOM version of this method (appendXML(Element, boolean, Document)).
 int hashCode()
           
 boolean isSet(java.lang.String parameterKey)
          Returns true if the parameter is set or has a default value.
 boolean isSpecified(java.lang.String key)
          Returns true iff the parameter value was explicitly set (as opposed to isSet(String) which also takes into account a possible default value.
 java.util.Iterator<java.lang.String> iterator()
           
 void notifyRenaming(java.lang.String oldName, java.lang.String newName)
           
 void renameParameter(java.lang.String oldAttributeName, java.lang.String newAttributeName)
          Renames a parameter, e.g. during importing old XML process files.
 void setAll(Parameters parameters)
          Clears the parameters map and adds all given parameters.
 boolean setParameter(java.lang.String key, java.lang.String value)
          Sets the parameter for the given key after performing a range-check.
 void setParameterWithoutCheck(java.lang.String key, java.lang.String value)
          Deprecated. Please use the method setParameter(String, String) instead
 java.lang.String toString()
           
static java.lang.String transformList2String(java.util.List<java.lang.String[]> parameterList)
          Deprecated. 
static java.util.List<java.lang.String[]> transformString2List(java.lang.String listString)
          Deprecated. 
 
Methods inherited from class com.rapidminer.tools.AbstractObservable
addObserver, addObserverAsFirst, fireUpdate, fireUpdate, removeObserver
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

PAIR_SEPARATOR

public static final char PAIR_SEPARATOR
See Also:
Constant Field Values

RECORD_SEPARATOR

public static final char RECORD_SEPARATOR
See Also:
Constant Field Values
Constructor Detail

Parameters

public Parameters()
Creates an empty parameters object without any parameter types.


Parameters

public Parameters(java.util.List<ParameterType> parameterTypes)
Constructs an instance of Parameters for the given list of ParameterTypes. The list might be empty but not null.

Method Detail

getParameterTypes

public java.util.Collection<ParameterType> getParameterTypes()
Returns a list of ParameterTypes describing the parameters of this operator. This list will be generated during construction time of the Operator.


addParameterType

public void addParameterType(ParameterType type)

clone

public java.lang.Object clone()
Performs a deep clone on this parameters object.

Overrides:
clone in class java.lang.Object

iterator

public java.util.Iterator<java.lang.String> iterator()
Specified by:
iterator in interface java.lang.Iterable<java.lang.String>

getParameterType

public ParameterType getParameterType(java.lang.String key)
Returns the type of the parameter with the given type.


setParameter

public boolean setParameter(java.lang.String key,
                            java.lang.String value)
Sets the parameter for the given key after performing a range-check. This method returns true if the type was known and false if no parameter type was defined for this key.


setParameterWithoutCheck

@Deprecated
public void setParameterWithoutCheck(java.lang.String key,
                                                java.lang.String value)
Deprecated. Please use the method setParameter(String, String) instead

Sets the parameter without performing a range and type check.


getParameter

public java.lang.String getParameter(java.lang.String key)
                              throws UndefinedParameterError
Returns the value of the given parameter. If it was not yet set, the default value is set now and a log message is issued. If the ParameterType does not provide a default value, this may result in an error message. In subsequent calls of this method, the parameter will be set. An OperatorException (UserError) will be thrown if a non-optional parameter was not set.

Throws:
UndefinedParameterError

getParameterAsSpecified

public java.lang.String getParameterAsSpecified(java.lang.String key)
Returns the value of the parameter as specified by the process definition file (without substituting default values etc.)


getParameterOrNull

public java.lang.String getParameterOrNull(java.lang.String key)
As getParameter(String), but returns null rather than throwing an exception.


getKeys

public java.util.Set<java.lang.String> getKeys()
Returns a set view of all parameter keys defined by parameter types.


getDefinedKeys

public java.util.Set<java.lang.String> getDefinedKeys()
This method returns the keys of all defined values. This might be disjunct with the keys defined in the keyToType map, because the operator might contain parameter values, which do not correspond to any parameter type. This is used for example during import, when parameters are renamed.


equals

public boolean equals(java.lang.Object o)
Returns true if the given parameters are not null and are the same like this parameters.

Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

appendXML

public void appendXML(org.w3c.dom.Element toElement,
                      boolean hideDefault,
                      org.w3c.dom.Document doc)
Appends the elements describing these Parameters to the given element.


getXML

@Deprecated
public java.lang.String getXML(java.lang.String indent,
                                          boolean hideDefault)
Deprecated. Use the DOM version of this method (appendXML(Element, boolean, Document)).

Writes a portion of the xml configuration file specifying the parameters that differ from their default value.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

transformList2String

@Deprecated
public static java.lang.String transformList2String(java.util.List<java.lang.String[]> parameterList)
Deprecated. 


transformString2List

@Deprecated
public static java.util.List<java.lang.String[]> transformString2List(java.lang.String listString)
Deprecated. 


notifyRenaming

public void notifyRenaming(java.lang.String oldName,
                           java.lang.String newName)

renameParameter

public void renameParameter(java.lang.String oldAttributeName,
                            java.lang.String newAttributeName)
Renames a parameter, e.g. during importing old XML process files.


isSet

public boolean isSet(java.lang.String parameterKey)
Returns true if the parameter is set or has a default value.

See Also:
isSpecified(String)

isSpecified

public boolean isSpecified(java.lang.String key)
Returns true iff the parameter value was explicitly set (as opposed to isSet(String) which also takes into account a possible default value.


copyFrom

public void copyFrom(Parameters parameters)

setAll

public void setAll(Parameters parameters)
Clears the parameters map and adds all given parameters. This will not reset the already registered types so you have to keep track that you don't set parameters not defined for this operator!

Parameters:
parameters -

addAll

public void addAll(Parameters parameters)
Adds all Parameters to the parameters map.

Parameters:
parameters -


Copyright © 2001-2009 by Rapid-I