SMILA (incubation) API documentation

org.eclipse.smila.search.utils.param
Class ParameterSet

java.lang.Object
  extended by org.eclipse.smila.search.utils.param.ParameterSet

public class ParameterSet
extends java.lang.Object

Author:
vluedeling This class acts as a wrapper for the XML definition of ParameterSets. A ParameterSet can either be generated standalone from a DParameterSet, or with the help of an additional DParameterDefinition. In the latter case, ParameterSet will enforce consistency of the parameter set with its definition.

getXxxParameter() methods may return null only if a parameter of that name does not exist.


Constructor Summary
ParameterSet(DParameterSet paramSet)
          Constructs a parameter set from a DParameterSet object without an accompanying definition.
ParameterSet(DParameterSet paramSet, DParameterDefinition paramDef)
          Constructs a parameter set from a DParameterSet object and validates it against a DParameterDefinition structure.
 
Method Summary
 java.lang.Boolean getBooleanParameter(java.lang.String name)
           
 java.util.Date[] getDateListParameter(java.lang.String name)
           
 java.util.Date getDateParameter(java.lang.String name)
           
 float[] getFloatListParameter(java.lang.String name)
           
 java.lang.Float getFloatParameter(java.lang.String name)
           
 int[] getIntegerListParameter(java.lang.String name)
           
 java.lang.Integer getIntegerParameter(java.lang.String name)
           
 java.lang.Object getParameter(java.lang.String name)
          Returns the value for a named parameter.
 java.util.Enumeration getParameterNames()
          Returns an enumeration of the parameter names in this set.
 java.lang.String getParameterType(java.lang.String name)
          Returns the type for a named parameter.
 java.lang.String[] getStringListParameter(java.lang.String name)
           
 java.lang.String getStringParameter(java.lang.String name)
           
 boolean hasParameter(java.lang.String name)
           
protected  void initializeFromDParamSet(DParameterSet paramSet, DParameterDefinition paramDef)
           
static void main(java.lang.String[] arg)
           
 void setBooleanParameter(java.lang.String name, java.lang.Boolean value)
           
 void setDateListParameter(java.lang.String name, java.util.Date[] value)
           
 void setDateParameter(java.lang.String name, java.util.Date value)
           
 void setFloatListParameter(java.lang.String name, float[] value)
           
 void setFloatParameter(java.lang.String name, float value)
           
 void setFloatParameter(java.lang.String name, java.lang.Float value)
           
 void setIntegerListParameter(java.lang.String name, int[] value)
           
 void setIntegerParameter(java.lang.String name, int value)
           
 void setIntegerParameter(java.lang.String name, java.lang.Integer value)
           
 void setStringListParameter(java.lang.String name, java.lang.String[] value)
           
 void setStringParameter(java.lang.String name, java.lang.String value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ParameterSet

public ParameterSet(DParameterSet paramSet,
                    DParameterDefinition paramDef)
             throws ParameterException
Constructs a parameter set from a DParameterSet object and validates it against a DParameterDefinition structure.

This method will enforce the following conditions:

If an optional parameter for which a default value has been given is omitted, it will be created and filled with its default value(s).

If any of the above checks fail, a ParameterException will be thrown which states the cause of the error. The first error encountered will trigger an exception and abort further processing of parameter set construction.

Parameters:
paramSet - The DParameterSet object from which the parameters will be extracted
paramDef - The DParameterDefinition object where the parameter definitions are stored
Throws:
ParameterException - if an error occurs while reading of validating the parameters.

ParameterSet

public ParameterSet(DParameterSet paramSet)
             throws ParameterException
Constructs a parameter set from a DParameterSet object without an accompanying definition. No consistency checks will be performed.

Parameters:
paramSet - The DParamSet object from which to exctract the parameters
Throws:
ParameterException - if an error occurs while reading the parameters.
Method Detail

main

public static void main(java.lang.String[] arg)

getBooleanParameter

public java.lang.Boolean getBooleanParameter(java.lang.String name)

getDateListParameter

public java.util.Date[] getDateListParameter(java.lang.String name)

getDateParameter

public java.util.Date getDateParameter(java.lang.String name)

getFloatListParameter

public float[] getFloatListParameter(java.lang.String name)

getFloatParameter

public java.lang.Float getFloatParameter(java.lang.String name)

getIntegerListParameter

public int[] getIntegerListParameter(java.lang.String name)

getIntegerParameter

public java.lang.Integer getIntegerParameter(java.lang.String name)

getParameter

public java.lang.Object getParameter(java.lang.String name)
Returns the value for a named parameter. No type checks will be performed. Use in combination with getParameterType() and getParameterNames() to dynamically extract parameters.

NOTICE: simple types will be returned as their Object counterparts. E. g., integer parameters will be represented as Integer objects. Currently this applies to boolean, float, and int parameters. List parameters will be returned as Array objects.

In order to print all parameters from a set, the following piece of code may be used as an example:

 Enumeration en = ps.getParameterNames();
 for (; en.hasMoreElements();) {
   String pname = (String) en.nextElement();
   String ptype = ps.getParameterType(pname);
   Object value = ps.getParameter(pname);
   if (ptype.indexOf("List") >= 0) {
     String newValue = "";
 
     for (int i = 0; true; i++) {
       try {
         newValue += Array.get(value, i);
         Array.get(value, i + 1);
         newValue += ", ";
       } catch (ArrayIndexOutOfBoundsException iae) {
         break;
       }
     }
     value = newValue;
   }
   System.err.println(pname + "(" + ptype + "):  " + value);
 }
 

Parameters:
name - -
Returns:
Object -

getParameterNames

public java.util.Enumeration getParameterNames()
Returns an enumeration of the parameter names in this set.

Returns:
Enumeration

getParameterType

public java.lang.String getParameterType(java.lang.String name)
Returns the type for a named parameter. The type names are the same as used in the xsi:type field of the XML representation.

Parameters:
name - -
Returns:
String -

getStringListParameter

public java.lang.String[] getStringListParameter(java.lang.String name)

getStringParameter

public java.lang.String getStringParameter(java.lang.String name)

hasParameter

public boolean hasParameter(java.lang.String name)

initializeFromDParamSet

protected void initializeFromDParamSet(DParameterSet paramSet,
                                       DParameterDefinition paramDef)
                                throws ParameterException
Throws:
ParameterException

setBooleanParameter

public void setBooleanParameter(java.lang.String name,
                                java.lang.Boolean value)

setDateListParameter

public void setDateListParameter(java.lang.String name,
                                 java.util.Date[] value)

setDateParameter

public void setDateParameter(java.lang.String name,
                             java.util.Date value)

setFloatListParameter

public void setFloatListParameter(java.lang.String name,
                                  float[] value)

setFloatParameter

public void setFloatParameter(java.lang.String name,
                              float value)

setFloatParameter

public void setFloatParameter(java.lang.String name,
                              java.lang.Float value)

setIntegerListParameter

public void setIntegerListParameter(java.lang.String name,
                                    int[] value)

setIntegerParameter

public void setIntegerParameter(java.lang.String name,
                                int value)

setIntegerParameter

public void setIntegerParameter(java.lang.String name,
                                java.lang.Integer value)

setStringListParameter

public void setStringListParameter(java.lang.String name,
                                   java.lang.String[] value)

setStringParameter

public void setStringParameter(java.lang.String name,
                               java.lang.String value)

SMILA (incubation) API documentation