com.rapidminer.operator
Class DataMacroDefinitionOperator

java.lang.Object
  extended by com.rapidminer.operator.Operator
      extended by com.rapidminer.operator.DataMacroDefinitionOperator
All Implemented Interfaces:
ConfigurationListener, PreviewListener, ParameterHandler, LoggingHandler

public class DataMacroDefinitionOperator
extends Operator

(Re-)Define macros for the current process. Macros will be replaced in the value strings of parameters by the macro values defined as a parameter of this operator. In contrast to the usual MacroDefinitionOperator, this operator supports the definition of a single macro from properties of a given input example set, e.g. from properties like the number of examples or attributes or from a specific data value.

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 "MACRO_START" and "MACRO_END".

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 process run. Please note also that several other short macros exist, e.g. MACRO_STARTaMACRO_END for the number of times the current operator was applied. Please refer to the section about macros in the RapidMiner tutorial. Please note also that other operators like the FeatureIterator also add specific macros.

Author:
Ingo Mierswa

Field Summary
static int MACRO_TYPE_ATTRIBUTES
           
static int MACRO_TYPE_DATA
           
static int MACRO_TYPE_EXAMPLES
           
static int MACRO_TYPE_STATISTICS
           
static java.lang.String[] MACRO_TYPES
           
static java.lang.String PARAMETER_ATTRIBUTE_NAME
           
static java.lang.String PARAMETER_ATTRIBUTE_VALUE
           
static java.lang.String PARAMETER_EXAMPLE_INDEX
           
static java.lang.String PARAMETER_MACRO
          The parameter name for "The values of the user defined macros.
static java.lang.String PARAMETER_MACRO_TYPE
           
static java.lang.String PARAMETER_STATISTICS
           
static int STATISTICS_TYPE_AVERAGE
           
static int STATISTICS_TYPE_COUNT
           
static int STATISTICS_TYPE_DEVIATION
           
static int STATISTICS_TYPE_MAX
           
static int STATISTICS_TYPE_MIN
           
static int STATISTICS_TYPE_VARIANCE
           
static java.lang.String[] STATISTICS_TYPES
           
 
Constructor Summary
DataMacroDefinitionOperator(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 com.rapidminer.operator.Operator
addError, addValue, addWarning, apply, checkDeprecations, checkForStop, checkIO, checkProperties, clearErrorList, cloneOperator, createExperimentTree, createExperimentTree, createFromXML, createMarkedExperimentTree, createMarkedProcessTree, createProcessTree, createProcessTree, getAddOnlyAdditionalOutput, getApplyCount, getDeliveredOutputClasses, getDeprecationInfo, getDesiredInputClasses, getEncoding, getErrorList, getExperiment, getInnerOperatorsXML, getInput, getInput, getInput, getInputDescription, getIOContainerForInApplyLoopBreakpoint, getIODescription, getLog, getName, getOperatorClassName, getOperatorDescription, getParameter, getParameterAsBoolean, getParameterAsColor, getParameterAsDouble, getParameterAsFile, getParameterAsFile, getParameterAsInputStream, getParameterAsInt, getParameterAsMatrix, getParameterAsString, getParameterList, getParameters, getParameterType, getParent, getProcess, getStartTime, getStatus, getUserDescription, getValue, getValues, getXML, hasBreakpoint, hasBreakpoint, hasInput, inApplyLoop, isDebugMode, isEnabled, isExpanded, isParallel, isParameterSet, log, logError, logNote, logWarning, performAdditionalChecks, processFinished, processStarts, register, registerOperator, remove, rename, resume, setApplyCount, setBreakpoint, setEnabled, setExpanded, setInput, setListParameter, setOperatorParameters, setParameter, setParameters, setParent, setUserDescription, toString, unregisterOperator, writeXML
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PARAMETER_MACRO

public static final java.lang.String PARAMETER_MACRO
The parameter name for "The values of the user defined macros."

See Also:
Constant Field Values

PARAMETER_MACRO_TYPE

public static final java.lang.String PARAMETER_MACRO_TYPE
See Also:
Constant Field Values

PARAMETER_EXAMPLE_INDEX

public static final java.lang.String PARAMETER_EXAMPLE_INDEX
See Also:
Constant Field Values

PARAMETER_ATTRIBUTE_NAME

public static final java.lang.String PARAMETER_ATTRIBUTE_NAME
See Also:
Constant Field Values

PARAMETER_ATTRIBUTE_VALUE

public static final java.lang.String PARAMETER_ATTRIBUTE_VALUE
See Also:
Constant Field Values

PARAMETER_STATISTICS

public static final java.lang.String PARAMETER_STATISTICS
See Also:
Constant Field Values

MACRO_TYPES

public static final java.lang.String[] MACRO_TYPES

MACRO_TYPE_EXAMPLES

public static final int MACRO_TYPE_EXAMPLES
See Also:
Constant Field Values

MACRO_TYPE_ATTRIBUTES

public static final int MACRO_TYPE_ATTRIBUTES
See Also:
Constant Field Values

MACRO_TYPE_DATA

public static final int MACRO_TYPE_DATA
See Also:
Constant Field Values

MACRO_TYPE_STATISTICS

public static final int MACRO_TYPE_STATISTICS
See Also:
Constant Field Values

STATISTICS_TYPES

public static final java.lang.String[] STATISTICS_TYPES

STATISTICS_TYPE_AVERAGE

public static final int STATISTICS_TYPE_AVERAGE
See Also:
Constant Field Values

STATISTICS_TYPE_DEVIATION

public static final int STATISTICS_TYPE_DEVIATION
See Also:
Constant Field Values

STATISTICS_TYPE_VARIANCE

public static final int STATISTICS_TYPE_VARIANCE
See Also:
Constant Field Values

STATISTICS_TYPE_MIN

public static final int STATISTICS_TYPE_MIN
See Also:
Constant Field Values

STATISTICS_TYPE_MAX

public static final int STATISTICS_TYPE_MAX
See Also:
Constant Field Values

STATISTICS_TYPE_COUNT

public static final int STATISTICS_TYPE_COUNT
See Also:
Constant Field Values
Constructor Detail

DataMacroDefinitionOperator

public DataMacroDefinitionOperator(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 objects which should not be consumed must also be defined by this method (e.g. an example set which is changed but not consumed in the case of a preprocessing operator must be defined in both, the methods Operator.getInputClasses() and Operator.getOutputClasses()). 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 (defined by changing the implementation in Operator.getInputDescription(Class)) must not be defined as additional output in this method.

May deliver null or an empy array (no additional output is produced or guaranteed). Must return the class array of delivered output objects otherwise.

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.

Specified by:
getParameterTypes in interface ParameterHandler
Overrides:
getParameterTypes in class Operator


Copyright © 2001-2009 by Rapid-I