# Package cascading.flow

Interface Summary
Interface | Description
--- | ---
AssemblyPlanner | Interface AssemblyPlanner is used to allow for lazy evaluation of a pipe assembly during planning of a `Flow`.
AssemblyPlanner.Context |
Flow<Config> | A Flow is a logical unit of work declared by an assembly of `Pipe` instances connected to source and sink `Tap` instances.
FlowDescriptors | Constants to be used as key in `Flow.getFlowDescriptor()`.
FlowElement | Interface FlowElement is a utility interface used internally to simplify DAG management.
FlowListener | Interface FlowListener provides hooks for receiving events on various stages of a `Flow` execution.
FlowNode | Class FlowNode represents the smallest parallelizable unit of work.
FlowNodeDescriptors | Constants to be used as key in `FlowStep.getFlowStepDescriptor()`.
FlowSkipStrategy | Interface FlowSkipStrategy is used to create new strategies that decide when a `Flow` should be skipped when executed in a `Cascade`.
FlowStep<Config> | Class FlowStep is an internal representation of a given "job" possibly to be executed on a remote cluster.
FlowStepDescriptors | Constants to be used as key in `FlowStep.getFlowStepDescriptor()`.
FlowStepListener | Interface FlowStepListener provides hooks for receiving events on various stages of a `FlowStep` execution.
FlowStepStrategy<Config> | The FlowStepStrategy interface allows for on the fly customization of `FlowStep` configuration values before they are submitted to the underlying platform.

Class Summary
Class | Description
--- | ---
BaseFlow<Config> |
BaseFlow.FlowHolder | Class FlowHolder is a helper class for wrapping Flow instances.
FlowConnector | Class FlowConnector is the base class for all platform planners.
FlowConnectorProps | The class FlowConnectorProps is a fluent helper class for setting `FlowConnector` specific properties through the `FlowConnector` constructor.
FlowDef | Class FlowDef is a fluent interface for defining a `Flow`.
FlowElements |
FlowProcess<Config> | FlowProcess implementations provide a call-back interface into the current computing system.
FlowProcess.NullFlowProcess |
FlowProcessWrapper<Config> |
FlowProps | Class FlowProps is a fluent helper class for setting `Flow` specific properties through a `FlowConnector`.
FlowRuntimeProps | Class FlowRuntimeProps is a fluent helper class for setting `Flow` specific runtime properties through a `FlowConnector`.
Flows | Flows is a utility helper class.
FlowSession | FlowSession implementations provide a call-back interface into the current flow management system, if any.
FlowSkipIfSinkExists | Class FlowSkipIfSinkExists is a `FlowSkipStrategy` implementation that returns `true` if the Flow sink exists, regardless if it is stale or not.
FlowSkipIfSinkNotStale | Class FlowSkipIfSinkNotStale is a `FlowSkipStrategy` implementation that returns `true` if the Flow sink exists and is not stale in relation to the Flow sources.

Enum Summary
Enum | Description
--- | ---
SliceCounters |
StepCounters | Enum StepCounters lists all counters

Exception Summary
Exception | Description
--- | ---
FlowException | FlowException instances are thrown on errors when executing a Flow.
FlowTapException | Class FlowTapException is thrown during flow execution to denote an issue with a source or sink `Tap`.