net.corda.flows

## Class AbstractCashFlow

- FlowLogic
- - net.corda.flows.AbstractCashFlow

- Direct Known Subclasses:
    CashExitFlow, CashIssueFlow, CashPaymentFlow

      public class AbstractCashFlow
      extends FlowLogic

  Initiates a flow that produces an Issue/Move or Exit Cash transaction.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `AbstractCashFlow.Companion`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static AbstractCashFlow.Companion` | `Companion`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractCashFlow(ProgressTracker progressTracker)` Initiates a flow that produces an Issue/Move or Exit Cash transaction.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ProgressTracker` | `getProgressTracker()` Override this to provide a `class ProgressTracker`. If one is provided and stepped, the framework will do something helpful with the progress reports. If this flow is invoked as a subflow of another, then the tracker will be made a child of the current step in the parent. If it's null, this flow doesn't track progress.

    - ### Methods inherited from class net.corda.core.flows.FlowLogic

      `call, getCounterpartyMarker, getLogger, getProgressTracker, getRunId, getServiceHub, getStateMachine, receive, send, sendAndReceive, setStateMachine, subFlow, subFlow, track, waitForLedgerCommit`

- - ### Field Detail

    - #### Companion

          public static AbstractCashFlow.Companion Companion

  - ### Constructor Detail

    - #### AbstractCashFlow

          public AbstractCashFlow(ProgressTracker progressTracker)

      Initiates a flow that produces an Issue/Move or Exit Cash transaction.

      Parameters:
        `progressTracker` -

        Override this to provide a `class ProgressTracker`. If one is provided and stepped, the framework will do something helpful with the progress reports. If this flow is invoked as a subflow of another, then the tracker will be made a child of the current step in the parent. If it's null, this flow doesn't track progress.

        Note that this has to return a tracker before the flow is invoked. You can't change your mind half way through.

  - ### Method Detail

    - #### getProgressTracker

          public ProgressTracker getProgressTracker()

      Override this to provide a `class ProgressTracker`. If one is provided and stepped, the framework will do something helpful with the progress reports. If this flow is invoked as a subflow of another, then the tracker will be made a child of the current step in the parent. If it's null, this flow doesn't track progress.

      Note that this has to return a tracker before the flow is invoked. You can't change your mind half way through.

      See Also:
        `class ProgressTracker`