AbstractCashFlow
Keywords: net.corda.finance.flows.AbstractCashFlow class
Date: 2023-09-18

net.corda.finance.flows

## Class AbstractCashFlow<T>

- net.corda.core.flows.FlowLogic<T>
- - net.corda.finance.flows.AbstractCashFlow<T>

- Direct Known Subclasses:
    CashExitFlow, CashIssueAndPaymentFlow, CashIssueFlow, CashPaymentFlow

      public class AbstractCashFlow<T>
      extends FlowLogic<T>

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

- - ### Field Detail

    - #### Companion

          public static net.corda.finance.flows.AbstractCashFlow.Companion Companion

  - ### Constructor Detail

    - #### AbstractCashFlow

          public AbstractCashFlow(@NotNull
                                  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 e.g record to the audit service. 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

    - #### finaliseTx

          @Suspendable
           @NotNull
          protected SignedTransaction finaliseTx(@NotNull
                                                                        SignedTransaction tx,
                                                                        @NotNull
                                                                        java.util.Collection<? extends net.corda.core.flows.FlowSession> sessions,
                                                                        @NotNull
                                                                        java.lang.String message)

    - #### getProgressTracker

          @NotNull
          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 e.g record to the audit service. 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`