cascading.flow

## Interface FlowStep<Config>

All Superinterfaces:
  ProcessModel

All Known Implementing Classes:
  BaseFlowStep, Hadoop2TezFlowStep, HadoopFlowStep, LocalFlowStep, MapReduceFlowStep, ProcessFlowStep

    public interface FlowStep<Config>
    extends ProcessModel

Class FlowStep is an internal representation of a given "job" possibly to be executed on a remote cluster. During planning, pipe assemblies are broken down into "steps" and encapsulated in this class.

FlowSteps are submitted in order of dependency. If two or more steps do not share the same dependencies and all can be scheduled simultaneously, the `getSubmitPriority()` value determines the order in which all steps will be submitted for execution. The default submit priority is 5.

### Field Summary

Fields
`static java.lang.String` `CASCADING_FLOW_STEP_ID`

### Method Summary

Methods
`void` `addListener(FlowStepListener flowStepListener)` Method addListener registers the given `FlowStepListener` with this instance.
`boolean` `containsPipeNamed(java.lang.String pipeName)` Returns true if this FlowStep contains a pipe/branch with the given name.
`Config` `getConfig()` Method getConfig returns the current initialized configuration.
`java.util.Map<java.lang.Object,java.lang.Object>` `getConfigAsProperties()` Method getConfigAsProperties converts the internal configuration object into a `Map` of key value pairs.
`Flow<Config>` `getFlow()`
`java.lang.String` `getFlowID()`
`java.lang.String` `getFlowName()` Method getParentFlowName returns the parentFlowName of this FlowStep object.
`FlowNodeGraph` `getFlowNodeGraph()`
`java.util.Map<java.lang.String,java.lang.String>` `getFlowStepDescriptor()` Returns an immutable map of properties giving more details about the FlowStep object.
`FlowStepStats` `getFlowStepStats()`
`Group` `getGroup()`
`java.lang.String` `getID()` Method getId returns the id of this FlowStep object.
`java.lang.String` `getName()` Method getName returns the name of this FlowStep object.
`int` `getNumFlowNodes()`
`int` `getOrdinal()`
`Tap` `getSink()`
`java.util.Set<java.lang.String>` `getSinkName(Tap sink)`
`Tap` `getSinkWith(java.lang.String identifier)`
`java.util.Set<java.lang.String>` `getSourceName(Tap source)`
`Tap` `getSourceWith(java.lang.String identifier)`
`java.lang.String` `getStepDisplayName()` Method getStepDisplayName returns the stepDisplayName of this FlowStep object.
`int` `getSubmitPriority()` Method getSubmitPriority returns the submitPriority of this FlowStep object.
`Tap` `getTrap(java.lang.String name)`
`java.util.Set<Tap>` `getTraps()`
`boolean` `hasListeners()` Method hasListeners returns true if `FlowStepListener` instances have been registered.
`boolean` `removeListener(FlowStepListener flowStepListener)` Method removeListener removes the given flowStepListener from this instance.
`void` `setFlowStepStats(FlowStepStats flowStepStats)`
`void` `setSubmitPriority(int submitPriority)` Method setSubmitPriority sets the submitPriority of this FlowStep object.

### Methods inherited from interface cascading.flow.planner.process.ProcessModel

`addProcessAnnotation, addProcessAnnotation, getElementGraph, getGroups, getProcessAnnotations, getSinkElements, getSinkTaps, getSourceElements, getSourceTaps, getTrapMap`

### Field Detail

#### CASCADING_FLOW_STEP_ID

    static final java.lang.String CASCADING_FLOW_STEP_ID

See Also:
  Constant Field Values

### Method Detail

#### getID

    java.lang.String getID()

Method getId returns the id of this FlowStep object.

Specified by:
  `getID` in interface `ProcessModel`
Returns:
  the id (type int) of this FlowStep object.

#### getOrdinal

    int getOrdinal()

Specified by:
  `getOrdinal` in interface `ProcessModel`

#### getName

    java.lang.String getName()

Method getName returns the name of this FlowStep object.

Specified by:
  `getName` in interface `ProcessModel`
Returns:
  the name (type String) of this FlowStep object.

#### getFlowStepDescriptor

    java.util.Map<java.lang.String,java.lang.String> getFlowStepDescriptor()

Returns an immutable map of properties giving more details about the FlowStep object.

FlowStep descriptions provide meta-data to monitoring systems describing the workload a given FlowStep represents. For known description types, see `FlowStepDescriptors`.

Returns:
  Map<String,String>

#### getFlow

    Flow<Config> getFlow()

#### getFlowID

    java.lang.String getFlowID()

#### getFlowName

    java.lang.String getFlowName()

Method getParentFlowName returns the parentFlowName of this FlowStep object.

Returns:
  the parentFlowName (type Flow) of this FlowStep object.

#### getConfig

    Config getConfig()

Method getConfig returns the current initialized configuration.

The returned configuration is mutable and may be changed prior to this step being started or submitted.

Returns:
  the current initialized configuration

#### getConfigAsProperties

    java.util.Map<java.lang.Object,java.lang.Object> getConfigAsProperties()

Method getConfigAsProperties converts the internal configuration object into a `Map` of key value pairs.

Returns:
  a Map of key/value pairs, may return an empty collection if unsupported

#### getStepDisplayName

    java.lang.String getStepDisplayName()

Method getStepDisplayName returns the stepDisplayName of this FlowStep object.

Returns:
  the stepName (type String) of this FlowStep object.

#### getSubmitPriority

    int getSubmitPriority()

Method getSubmitPriority returns the submitPriority of this FlowStep object.

10 is lowest, 1 is the highest, 5 is the default.

Specified by:
  `getSubmitPriority` in interface `ProcessModel`
Returns:
  the submitPriority (type int) of this FlowStep object.

#### setSubmitPriority

    void setSubmitPriority(int submitPriority)

Method setSubmitPriority sets the submitPriority of this FlowStep object.

10 is lowest, 1 is the highest, 5 is the default.

Parameters:
  `submitPriority` - the submitPriority of this FlowStep object.

#### getFlowNodeGraph

    FlowNodeGraph getFlowNodeGraph()

#### getNumFlowNodes

    int getNumFlowNodes()

#### getGroup

    Group getGroup()

#### getSink

    Tap getSink()

#### getSourceName

    java.util.Set<java.lang.String> getSourceName(Tap source)

#### getSinkName

    java.util.Set<java.lang.String> getSinkName(Tap sink)

#### getSourceWith

    Tap getSourceWith(java.lang.String identifier)

#### getSinkWith

    Tap getSinkWith(java.lang.String identifier)

#### getTraps

    java.util.Set<Tap> getTraps()

#### getTrap

    Tap getTrap(java.lang.String name)

#### containsPipeNamed

    boolean containsPipeNamed(java.lang.String pipeName)

Returns true if this FlowStep contains a pipe/branch with the given name.

Parameters:
  `pipeName` - the name of the Pipe
Returns:
  a boolean

#### setFlowStepStats

    void setFlowStepStats(FlowStepStats flowStepStats)

#### getFlowStepStats

    FlowStepStats getFlowStepStats()

#### hasListeners

    boolean hasListeners()

Method hasListeners returns true if `FlowStepListener` instances have been registered.

Returns:
  boolean

#### addListener

    void addListener(FlowStepListener flowStepListener)

Method addListener registers the given `FlowStepListener` with this instance.

Parameters:
  `flowStepListener` - of type flowStepListener

#### removeListener

    boolean removeListener(FlowStepListener flowStepListener)

Method removeListener removes the given flowStepListener from this instance.

Parameters:
  `flowStepListener` - of type FlowStepListener
Returns:
  true if the listener was removed