edu.udo.cs.yale.operator
Class SimpleOperatorChain

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

public final class SimpleOperatorChain
extends OperatorChain

A simple operator chain which can have an arbitrary number of inner operators. The operators are subsequently applied and their output is used as input for the succeeding operator. The input of the operator chain is used as input for the first inner operator and the output of the last operator is used as the output of the operator chain.

Version:
$Id: SimpleOperatorChain.java,v 2.19 2006/04/14 11:42:27 ingomierswa Exp $
Author:
Ingo Mierswa, Simon Fischer
XML classname:
OperatorChain

Constructor Summary
SimpleOperatorChain(OperatorDescription description)
          Creates an empty operator chain.
 
Method Summary
 boolean getAddOnlyAdditionalOutput()
          Since the apply methods of the inner operators already add additional output, the handle additional output method should simply return a new container which is build from the additional output objects.
 InnerOperatorCondition getInnerOperatorCondition()
          Returns a simple chain condition.
 java.lang.Class[] getInputClasses()
          Returns the classes that are needed as input.
 int getMaxNumberOfInnerOperators()
          Returns the highest possible value for the maximum number of innner operators.
 int getMinNumberOfInnerOperators()
          Returns 0 for the minimum number of innner operators.
 int getNumberOfSteps()
          Returns the number of steps performed by this chain.
 java.lang.Class[] getOutputClasses()
          Returns the classes that are guaranteed to be returned by apply() as additional output.
 boolean shouldReturnInnerOutput()
          Returns true since this operator chain should just return the output of the last inner operator.
 
Methods inherited from class edu.udo.cs.yale.operator.OperatorChain
addAddListener, addOperator, addOperator, apply, checkDeprecations, checkIO, checkNumberOfInnerOperators, checkProperties, clearErrorList, clearStepCounter, cloneOperator, countStep, createExperimentTree, delete, experimentFinished, experimentStarts, getAllInnerOperators, getCurrentStep, getIndexOfOperator, getInnerOperatorForName, getInnerOperatorsXML, getNumberOfAllOperators, getNumberOfChildrensSteps, getNumberOfOperators, getOperator, getOperatorFromAll, getOperators, isEnabled, performAdditionalChecks, removeAddListener, removeOperator, setEnabled, setExperiment
 
Methods inherited from class edu.udo.cs.yale.operator.Operator
addError, addValue, addWarning, apply, createExperimentTree, createFromXML, createMarkedExperimentTree, getApplyCount, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getErrorList, getExperiment, getInput, getInput, getInput, getInputDescription, getIOContainerForInApplyLoopBreakpoint, getName, getOperatorClassName, getOperatorDescription, getParameter, getParameterAsBoolean, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsInt, getParameterAsString, getParameterList, getParameters, getParameterType, getParameterTypes, getParent, getStartTime, getStatus, getUserDescription, getValue, getValues, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isParameterSet, logMessage, register, remove, rename, resume, setBreakpoint, 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

SimpleOperatorChain

public SimpleOperatorChain(OperatorDescription description)
Creates an empty operator chain.

Method Detail

shouldReturnInnerOutput

public boolean shouldReturnInnerOutput()
Returns true since this operator chain should just return the output of the last inner operator.

Overrides:
shouldReturnInnerOutput in class OperatorChain


getInnerOperatorCondition

public InnerOperatorCondition getInnerOperatorCondition()
Returns a simple chain condition.

Specified by:
getInnerOperatorCondition in class OperatorChain


getMaxNumberOfInnerOperators

public int getMaxNumberOfInnerOperators()
Returns the highest possible value for the maximum number of innner operators.

Specified by:
getMaxNumberOfInnerOperators in class OperatorChain


getMinNumberOfInnerOperators

public int getMinNumberOfInnerOperators()
Returns 0 for the minimum number of innner operators.

Specified by:
getMinNumberOfInnerOperators in class OperatorChain


getNumberOfSteps

public int getNumberOfSteps()
Description copied from class: OperatorChain
Returns the number of steps performed by this chain.

Specified by:
getNumberOfSteps in class OperatorChain


getAddOnlyAdditionalOutput

public boolean getAddOnlyAdditionalOutput()
Since the apply methods of the inner operators already add additional output, the handle additional output method should simply return a new container which is build from the additional output objects. Therefore this method returns true.

Overrides:
getAddOnlyAdditionalOutput in class Operator


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



Copyright © 2001-2006