edu.udo.cs.yale.operator
Class MacroDefinitionOperator

java.lang.Object
  extended by edu.udo.cs.yale.operator.Operator
      extended by edu.udo.cs.yale.operator.MacroDefinitionOperator
All Implemented Interfaces:
ConfigurationListener

public class MacroDefinitionOperator
extends Operator

(Re-)Define macros for the current experiment. Macros will be replaced in the value strings of parameters by the macro values defined in the parameter list of this operator. Please note that this features is basically only supported for string type parameter values (strings or files).

In the parameter list you have to define the macro name (without the enclosing brackets) and the macro value. The defined macro can then be used in all succeeding operators as parameter value for string type parameters. A macro must then be enclosed by "%{" and "}".

There are several predefined macros:

In addition to those the user might define arbitrary other macros which will be replaced by arbitrary string during the experiment run.

Version:
$Id: MacroDefinitionOperator.java,v 2.1 2006/10/01 23:06:17 ingomierswa Exp $
Author:
Ingo Mierswa

Constructor Summary
MacroDefinitionOperator(OperatorDescription description)
           
 
Method Summary
 IOObject[] apply()
          Implement this method in subclasses.
 java.lang.Class[] getInputClasses()
          Returns the classes that are needed as input.
 java.lang.Class[] getOutputClasses()
          Returns the classes that are guaranteed to be returned by apply() as additional output.
 java.util.List<ParameterType> getParameterTypes()
          Returns a list of ParameterTypes describing the parameters of this operator.
 
Methods inherited from class edu.udo.cs.yale.operator.Operator
addError, addValue, addWarning, apply, checkDeprecations, checkIO, checkProperties, clearErrorList, cloneOperator, createExperimentTree, createExperimentTree, createFromXML, createMarkedExperimentTree, delete, experimentFinished, experimentStarts, getAddOnlyAdditionalOutput, getApplyCount, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getErrorList, getExperiment, getInnerOperatorsXML, getInput, getInput, getInput, getInputDescription, getIOContainerForInApplyLoopBreakpoint, getName, getNumberOfSteps, getOperatorClassName, getOperatorDescription, getParameter, getParameterAsBoolean, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsInt, getParameterAsString, getParameterList, getParameters, getParameterType, getParent, getStartTime, getStatus, getUserDescription, getValue, getValues, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isEnabled, isParameterSet, logMessage, performAdditionalChecks, register, remove, rename, resume, setBreakpoint, setEnabled, setExperiment, setInput, setListParameter, setOperatorParameters, setParameter, setParameters, setParent, setUserDescription, toString, writeXML
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MacroDefinitionOperator

public MacroDefinitionOperator(OperatorDescription description)
Method Detail

apply

public IOObject[] apply()
                 throws OperatorException
Description copied from class: Operator
Implement this method in subclasses.

Specified by:
apply in class Operator
Throws:
OperatorException


getInputClasses

public java.lang.Class[] getInputClasses()
Description copied from class: Operator
Returns the classes that are needed as input. May be null or an empty (no desired input). As default, all delivered input objects are consumed and must be also delivered as output in both Operator.getOutputClasses() and Operator.apply() if this is necessary. This default behavior can be changed by overriding Operator.getInputDescription(Class). Subclasses which implement this method should not make use of parameters since this method is invoked by getParameterTypes(). Therefore, parameters are not fully available at this point of time and this might lead to exceptions. Please use InputDescriptions instead.

Specified by:
getInputClasses in class Operator


getOutputClasses

public java.lang.Class[] getOutputClasses()
Description copied from class: Operator
Returns the classes that are guaranteed to be returned by apply() as additional output. Please note that input object which should not be consumed must also be defined by this method (e.g. for preprocessing operators). The default behavior for input consumation is defined by Operator.getInputDescription(Class) and can be changed by overwriting this method. Objects which are not consumed must not be defined as additional output in this method. May be null or an empy array (no additional output is produced).

Specified by:
getOutputClasses in class Operator


getParameterTypes

public java.util.List<ParameterType> getParameterTypes()
Description copied from class: Operator
Returns a list of ParameterTypes describing the parameters of this operator. The default implementation returns an empty list if no input objects can be retained and special parameters for those input objects which can be prevented from being consumed.

Overrides:
getParameterTypes in class Operator



Copyright © 2001-2006