cascading.flow.local

## Class LocalFlow

- java.lang.Object
- - cascading.flow.BaseFlow<Properties>
  - - cascading.flow.local.LocalFlow

All Implemented Interfaces:
  Flow<Properties>, UnitOfWork<FlowStats>, ProcessLogger

    public class LocalFlow
    extends BaseFlow<Properties>

Class LocalFlow is the local mode specific implementation of a `Flow`.

LocalFlow must be created through a `LocalFlowConnector` instance.

If classpath paths are provided on the `FlowDef`, the context classloader used to internally urn the current Flow will be swapped out with an URLClassLoader pointing to each element.

See Also:
  `LocalFlowConnector`

### Nested Class Summary

### Nested classes/interfaces inherited from class cascading.flow.BaseFlow

`BaseFlow.FlowHolder`

### Field Summary

### Fields inherited from class cascading.flow.BaseFlow

`flowCanonicalHash, flowDescriptor, flowElementGraph, flowStats, flowStepGraph, platformInfo, shutdownHook, sinks, sources, steps, stop, stopJobsOnExit, thread`

### Fields inherited from interface cascading.flow.Flow

`CASCADING_FLOW_ID`

### Fields inherited from interface cascading.util.ProcessLogger

`NULL`

### Constructor Summary

Constructors
Constructor and Description
`LocalFlow(PlatformInfo platformInfo, Map<Object,Object> properties, Properties config, FlowDef flowDef)`

### Method Summary

Methods
`protected Thread` `createFlowThread(String threadName)`
`Properties` `getConfig()` Method getConfig returns the internal configuration object.
`Map<Object,Object>` `getConfigAsProperties()` Method getConfigAsProperties converts the internal configuration object into a `Map` of key value pairs.
`Properties` `getConfigCopy()` Method getConfigCopy returns a copy of the internal configuration object.
`FlowProcess<Properties>` `getFlowProcess()`
`protected int` `getMaxNumParallelSteps()`
`String` `getProperty(String key)` Returns the String property associated with the given key from the current Configuration instance.
`protected void` `initConfig(Map<Object,Object> properties, Properties parentConfig)` This method creates a new internal Config with the parentConfig as defaults using the properties to override the defaults.
`protected void` `internalClean(boolean stop)`
`protected void` `internalShutdown()`
`protected void` `internalStart()`
`protected Properties` `newConfig(Properties defaultConfig)`
`protected void` `setConfigProperty(Properties properties, Object key, Object value)`
`boolean` `stepsAreLocal()` Method jobsAreLocal returns true if all jobs are executed in-process as a single map and reduce task.

### Methods inherited from class cascading.flow.BaseFlow

`addListener, addPlannerProperties, addSessionProperties, addStepListener, areSinksStale, areSourcesNewer, cleanup, complete, createConfig, createFlowCanonicalHash, createFlowStats, createPrepareFlowStats, deleteCheckpointsIfNotUpdate, deleteCheckpointsIfReplace, deleteSinks, deleteSinksIfNotUpdate, deleteSinksIfReplace, deleteTrapsIfNotUpdate, deleteTrapsIfReplace, fireOnCompleted, fireOnStarting, fireOnStopping, fireOnThrowable, fireOnThrowable, getCascadeID, getCascadingServices, getCheckpointNames, getCheckpoints, getCheckpointsCollection, getClassPath, getClientState, getFieldsFor, getFlowCanonicalHash, getFlowDescriptor, getFlowSession, getFlowSkipStrategy, getFlowStats, getFlowSteps, getFlowStepStrategy, getHolder, getID, getName, getPlannerInfo, getPlatformInfo, getRunID, getSink, getSink, getSinkModified, getSinkNames, getSinks, getSinksCollection, getSource, getSourceNames, getSources, getSourcesCollection, getSpawnStrategy, getStats, getSubmitPriority, getTags, getTotalSliceCPUMilliSeconds, getTrapNames, getTraps, getTrapsCollection, handleExecutorShutdown, hasListeners, hasStepListeners, initFromProperties, initialize, initializeChildStats, initializeNewJobsMap, initSteps, internalStopAllJobs, isDebugEnabled, isInfoEnabled, isSkipFlow, isStopJobsOnExit, logDebug, logError, logError, logInfo, logWarn, logWarn, logWarn, openSink, openSink, openSource, openSource, openTapForRead, openTapForWrite, openTrap, openTrap, prepare, presentSinkFields, presentSourceFields, registerShutdownHook, removeListener, removeStepListener, resourceExists, retrieveSinkFields, retrieveSourceFields, setCascade, setCheckpoints, setFlowSkipStrategy, setFlowStepGraph, setFlowStepStrategy, setName, setPlannerInfo, setSinks, setSources, setSpawnStrategy, setSubmitPriority, setTraps, start, stop, toString, updateSchemes, writeDOT, writeStepsDOT`

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

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

### Constructor Detail

#### LocalFlow

    public LocalFlow(PlatformInfo platformInfo,
             Map<Object,Object> properties,
             Properties config,
             FlowDef flowDef)

### Method Detail

#### initConfig

    protected void initConfig(Map<Object,Object> properties,
                  Properties parentConfig)

Description copied from class: `BaseFlow`
This method creates a new internal Config with the parentConfig as defaults using the properties to override the defaults.

Specified by:
  `initConfig` in class `BaseFlow<Properties>`
Parameters:
  `properties` - of type Map
  `parentConfig` - of type Config

#### setConfigProperty

    protected void setConfigProperty(Properties properties,
                         Object key,
                         Object value)

Specified by:
  `setConfigProperty` in class `BaseFlow<Properties>`

#### newConfig

    protected Properties newConfig(Properties defaultConfig)

Specified by:
  `newConfig` in class `BaseFlow<Properties>`

#### getConfig

    @ProcessConfiguration
    public Properties getConfig()

Description copied from interface: `Flow`
Method getConfig returns the internal configuration object.

Any changes to this object will not be reflected in child steps. See `FlowConnector` for setting default properties visible to children. Or see `FlowStepStrategy` for setting properties on individual steps before they are executed.

Returns:
  the default configuration of this Flow

#### getConfigCopy

    public Properties getConfigCopy()

Description copied from interface: `Flow`
Method getConfigCopy returns a copy of the internal configuration object. This object can be safely modified.

Returns:
  a copy of the default configuration of this Flow

#### getConfigAsProperties

    public Map<Object,Object> getConfigAsProperties()

Description copied from interface: `Flow`
Method getConfigAsProperties converts the internal configuration object into a `Map` of key value pairs.

Returns:
  a Map of key/value pairs

#### getProperty

    public String getProperty(String key)

Description copied from interface: `Flow`
Returns the String property associated with the given key from the current Configuration instance.

Parameters:
  `key` - of type String
Returns:
  the String value

#### getFlowProcess

    public FlowProcess<Properties> getFlowProcess()

#### internalStart

    protected void internalStart()

Specified by:
  `internalStart` in class `BaseFlow<Properties>`

#### createFlowThread

    protected Thread createFlowThread(String threadName)

Overrides:
  `createFlowThread` in class `BaseFlow<Properties>`

#### internalClean

    protected void internalClean(boolean stop)

Specified by:
  `internalClean` in class `BaseFlow<Properties>`

#### stepsAreLocal

    public boolean stepsAreLocal()

Description copied from interface: `Flow`
Method jobsAreLocal returns true if all jobs are executed in-process as a single map and reduce task.

Returns:
  boolean

#### getMaxNumParallelSteps

    protected int getMaxNumParallelSteps()

Specified by:
  `getMaxNumParallelSteps` in class `BaseFlow<Properties>`

#### internalShutdown

    protected void internalShutdown()

Specified by:
  `internalShutdown` in class `BaseFlow<Properties>`