cascading.flow.planner

## Class FlowStepJob<Config>

- java.lang.Object
- - cascading.flow.planner.FlowStepJob<Config>

All Implemented Interfaces:
  java.util.concurrent.Callable<java.lang.Throwable>

    public abstract class FlowStepJob<Config>
    extends java.lang.Object
    implements java.util.concurrent.Callable<java.lang.Throwable>

### Field Summary

Fields
`protected long` `blockForCompletedChildDetailDuration` Field waitTillCompletedChildStatsDuration
`protected BaseFlowStep<Config>` `flowStep` Field flowStep
`protected FlowStepStats` `flowStepStats` Field stepStats
`protected Config` `jobConfiguration` Field jobConfiguration
`protected long` `pollingInterval` Field pollingInterval
`protected java.util.List<FlowStepJob<Config>>` `predecessors` Field predecessors
`protected long` `statsStoreInterval` Field recordStatsInterval
`protected java.lang.String` `stepName` Field stepName
`protected java.lang.Throwable` `throwable` Field throwable

### Constructor Summary

Constructors
Constructor and Description
`FlowStepJob(ClientState clientState, Config jobConfiguration, BaseFlowStep<Config> flowStep, long pollingInterval, long statsStoreInterval, long blockForCompletedChildDetailDuration)`

### Method Summary

Methods
`protected void` `blockOnJob()`
`protected void` `blockOnPredecessors()`
`protected void` `blockTillCompleteOrStopped()`
`java.lang.Throwable` `call()`
`protected abstract FlowStepStats` `createStepStats(ClientState clientState)`
`protected abstract void` `dumpDebugInfo()`
`protected void` `finalizeNodeSliceCapture()`
`Config` `getConfig()`
`FlowStepStats` `getStepStats()` Method getStepStats returns the stepStats of this FlowStepJob object.
`protected abstract java.lang.Throwable` `getThrowable()`
`protected abstract void` `internalBlockOnStop()`
`protected void` `internalCleanup()`
`protected abstract boolean` `internalIsStartedRunning()`
`protected abstract java.lang.String` `internalJobId()`
`protected abstract boolean` `internalNonBlockingIsComplete()`
`protected abstract boolean` `internalNonBlockingIsSuccessful()`
`protected abstract void` `internalNonBlockingStart()`
`boolean` `isCallableStarted()`
`protected abstract boolean` `isRemoteExecution()`
`protected boolean` `isSkipFlowStep()`
`boolean` `isStarted()` Method isStarted returns true if this underlying job has started running
`boolean` `isSuccessful()` Method isSuccessful returns true if this step completed successfully or was skipped.
`void` `setPredecessors(java.util.List<FlowStepJob<Config>> predecessors)`
`protected void` `sleepForPollingInterval()`
`protected void` `start()`
`void` `stop()`
`protected abstract void` `updateNodeStatus(FlowNodeStats flowNodeStats)`

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

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

### Field Detail

#### stepName

    protected final java.lang.String stepName

Field stepName

#### jobConfiguration

    protected final Config jobConfiguration

Field jobConfiguration

#### pollingInterval

    protected long pollingInterval

Field pollingInterval

#### statsStoreInterval

    protected long statsStoreInterval

Field recordStatsInterval

#### blockForCompletedChildDetailDuration

    protected long blockForCompletedChildDetailDuration

Field waitTillCompletedChildStatsDuration

#### predecessors

    protected java.util.List<FlowStepJob<Config>> predecessors

Field predecessors

#### flowStep

    protected final BaseFlowStep<Config> flowStep

Field flowStep

#### flowStepStats

    protected FlowStepStats flowStepStats

Field stepStats

#### throwable

    protected java.lang.Throwable throwable

Field throwable

### Constructor Detail

#### FlowStepJob

    public FlowStepJob(ClientState clientState,
               Config jobConfiguration,
               BaseFlowStep<Config> flowStep,
               long pollingInterval,
               long statsStoreInterval,
               long blockForCompletedChildDetailDuration)

### Method Detail

#### getConfig

    public Config getConfig()

#### createStepStats

    protected abstract FlowStepStats createStepStats(ClientState clientState)

#### stop

    public void stop()

#### internalBlockOnStop

    protected abstract void internalBlockOnStop()
                                         throws java.io.IOException

Throws:
  `java.io.IOException`

#### setPredecessors

    public void setPredecessors(java.util.List<FlowStepJob<Config>> predecessors)

#### call

    public java.lang.Throwable call()

Specified by:
  `call` in interface `java.util.concurrent.Callable<java.lang.Throwable>`

#### isCallableStarted

    public boolean isCallableStarted()

#### start

    protected void start()

#### isSkipFlowStep

    protected boolean isSkipFlowStep()
                              throws java.io.IOException

Throws:
  `java.io.IOException`

#### blockOnJob

    protected void blockOnJob()
                       throws java.io.IOException

Throws:
  `java.io.IOException`

#### finalizeNodeSliceCapture

    protected void finalizeNodeSliceCapture()

#### isRemoteExecution

    protected abstract boolean isRemoteExecution()

#### internalJobId

    protected abstract java.lang.String internalJobId()

#### internalNonBlockingIsSuccessful

    protected abstract boolean internalNonBlockingIsSuccessful()
                                                        throws java.io.IOException

Throws:
  `java.io.IOException`

#### getThrowable

    protected abstract java.lang.Throwable getThrowable()

#### internalNonBlockingStart

    protected abstract void internalNonBlockingStart()
                                              throws java.io.IOException

Throws:
  `java.io.IOException`

#### blockTillCompleteOrStopped

    protected void blockTillCompleteOrStopped()
                                       throws java.io.IOException

Throws:
  `java.io.IOException`

#### updateNodeStatus

    protected abstract void updateNodeStatus(FlowNodeStats flowNodeStats)

#### internalNonBlockingIsComplete

    protected abstract boolean internalNonBlockingIsComplete()
                                                      throws java.io.IOException

Throws:
  `java.io.IOException`

#### sleepForPollingInterval

    protected void sleepForPollingInterval()

#### blockOnPredecessors

    protected void blockOnPredecessors()

#### dumpDebugInfo

    protected abstract void dumpDebugInfo()

#### isSuccessful

    public boolean isSuccessful()

Method isSuccessful returns true if this step completed successfully or was skipped.

Returns:
  the successful (type boolean) of this FlowStepJob object.

#### isStarted

    public boolean isStarted()

Method isStarted returns true if this underlying job has started running

Returns:
  boolean

#### internalIsStartedRunning

    protected abstract boolean internalIsStartedRunning()

#### internalCleanup

    protected void internalCleanup()

#### getStepStats

    public FlowStepStats getStepStats()

Method getStepStats returns the stepStats of this FlowStepJob object.

Returns:
  the stepStats (type StepStats) of this FlowStepJob object.