weka.knowledgeflow.steps

## Class StorePropertiesInEnvironment

- java.lang.Object
- - weka.knowledgeflow.steps.BaseStep
  - - weka.knowledgeflow.steps.StorePropertiesInEnvironment

- All Implemented Interfaces:
    java.io.Serializable, BaseStepExtender, Step

      @KFStep(name="StorePropertiesInEnvironment",
              category="Flow",
              toolTipText="Store property settings for a particular algorithm-based step (eg Classifier, Clusterer etc) in the flow environment. When connected to a downstream Job step, the sub-flow executed by the Job can use a SetPropertiesFromEnvironment step to access the stored properties and set them on the underlying scheme in an algorithm-based step. Each property is configured by specifying the attribute in the incoming instance to obtain its value from, the target scheme-based step (in the sub-flow) that will receive it, the property name/path to set on the target step and a default property value (optional) to use if the value is missing in the incoming instance. If the property/path field is left blank, then it is assumed that the value is actually a scheme + options spec in command-line form; otherwise, the value is set by processing the property path - e.g. if our target step to receive property settings was Bagging (itself with default settings), and the property path to set was \'classifier.maxDepth\', then the classifier property of Bagging would yield a REPTree base classifier and the maxDepth property of REPTree would be set. Note that the SetPropertiesFromEnvironment step will process property settings in the order that they are defined by this step. This means that it is possible to set the entire base learner for a Classifier stepwith one property setting and then drill down to a particular option in the base learner using a second property setting.",
              iconPath="weka/gui/knowledgeflow/icons/StorePropertiesInEnvironment.gif")
      public class StorePropertiesInEnvironment
      extends BaseStep

  Stores property values specified in incoming instances in the flow environment.
  Version:
    $Revision: $
  Author:
    Mark Hall (mhall{[at]}pentaho{[dot]}com)
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `SEP1` Separators for internal variable specification
    `static java.lang.String` | `SEP2`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StorePropertiesInEnvironment()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getCustomEditorForStep()` Return the fully qualified name of a custom editor component (JComponent) to use for editing the properties of the step.
    `java.util.List<java.lang.String>` | `getIncomingConnectionTypes()` Get a list of incoming connection types that this step can accept.
    `java.util.List<java.lang.String>` | `getOutgoingConnectionTypes()` Get a list of outgoing connection types that this step can produce.
    `java.lang.String` | `getPropsInternalRep()`
    `static java.util.Map<java.lang.String,java.util.List<java.lang.String>>` | `internalDynamicToMap(java.lang.String internalRep)`
    `void` | `processIncoming(Data data)` Process an incoming data payload (if the step accepts incoming connections)
    `void` | `setPropsInternalRep(java.lang.String rep)`
    `void` | `stepInit()` Initialize the step.

    - ### Methods inherited from class weka.knowledgeflow.steps.BaseStep

      `environmentSubstitute, getDefaultSettings, getInteractiveViewers, getInteractiveViewersImpls, getName, getStepManager, globalInfo, isResourceIntensive, isStopRequested, outputStructureForConnectionType, setName, setStepIsResourceIntensive, setStepManager, setStepMustRunSingleThreaded, start, stepMustRunSingleThreaded, stop`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### SEP1

          public static final java.lang.String SEP1

      Separators for internal variable specification
      See Also:
        Constant Field Values

    - #### SEP2

          public static final java.lang.String SEP2

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### StorePropertiesInEnvironment

          public StorePropertiesInEnvironment()

  - ### Method Detail

    - #### setPropsInternalRep

          @ProgrammaticProperty
          public void setPropsInternalRep(java.lang.String rep)

    - #### getPropsInternalRep

          public java.lang.String getPropsInternalRep()

    - #### stepInit

          public void stepInit()
                        throws WekaException

      Description copied from interface: `Step`
      Initialize the step.
      Throws:
        `WekaException` - if a problem occurs during initialization

    - #### processIncoming

          public void processIncoming(Data data)
                               throws WekaException

      Description copied from class: `BaseStep`
      Process an incoming data payload (if the step accepts incoming connections)
      Specified by:
        `processIncoming` in interface `BaseStepExtender`
      Specified by:
        `processIncoming` in interface `Step`
      Overrides:
        `processIncoming` in class `BaseStep`
      Parameters:
        `data` - the payload to process
      Throws:
        `WekaException` - if a problem occurs

    - #### getIncomingConnectionTypes

          public java.util.List<java.lang.String> getIncomingConnectionTypes()

      Description copied from interface: `Step`
      Get a list of incoming connection types that this step can accept. Ideally (and if appropriate), this should take into account the state of the step and any existing incoming connections. E.g. a step might be able to accept one (and only one) incoming batch data connection.
      Returns:
        a list of incoming connections that this step can accept given its current state

    - #### getOutgoingConnectionTypes

          public java.util.List<java.lang.String> getOutgoingConnectionTypes()

      Description copied from interface: `Step`
      Get a list of outgoing connection types that this step can produce. Ideally (and if appropriate), this should take into account the state of the step and the incoming connections. E.g. depending on what incoming connection is present, a step might be able to produce a trainingSet output, a testSet output or neither, but not both.
      Returns:
        a list of outgoing connections that this step can produce

    - #### getCustomEditorForStep

          public java.lang.String getCustomEditorForStep()

      Return the fully qualified name of a custom editor component (JComponent) to use for editing the properties of the step. This method can return null, in which case the system will dynamically generate an editor using the GenericObjectEditor
      Specified by:
        `getCustomEditorForStep` in interface `Step`
      Overrides:
        `getCustomEditorForStep` in class `BaseStep`
      Returns:
        the fully qualified name of a step editor component

    - #### internalDynamicToMap

          public static java.util.Map<java.lang.String,java.util.List<java.lang.String>> internalDynamicToMap(java.lang.String internalRep)