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

net.corda.finance.flows

## Class TwoPartyDealFlow.Secondary<U>

- net.corda.core.flows.FlowLogic<T>
- - net.corda.finance.flows.TwoPartyDealFlow.Secondary<U>

- Enclosing class:
    TwoPartyDealFlow

      public static class TwoPartyDealFlow.Secondary<U>
      extends FlowLogic<T>

  Abstracted bilateral deal flow participant that is recipient of initial communication.

- - ### Field Detail

    - #### Companion

          public static net.corda.finance.flows.TwoPartyDealFlow.Secondary.Companion Companion

  - ### Constructor Detail

    - #### Secondary

          public Secondary(@NotNull
                           ProgressTracker progressTracker)

      Abstracted bilateral deal flow participant that is recipient of initial communication.

      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.

    - #### Secondary

          public Secondary()

      Abstracted bilateral deal flow participant that is recipient of initial communication.

  - ### Method Detail

    - #### getOtherSideSession

          @NotNull
          public FlowSession getOtherSideSession()

    - #### call

          @Suspendable
           @NotNull
          public SignedTransaction call()

      This is where you fill out your business logic.

    - #### validateHandshake

          @Suspendable
           @NotNull
          protected net.corda.finance.flows.TwoPartyDealFlow.Handshake<U> validateHandshake(@NotNull
                                                                                                                   net.corda.finance.flows.TwoPartyDealFlow.Handshake<? extends U> handshake)

    - #### assembleSharedTX

          @Suspendable
           @NotNull
          protected kotlin.Triple<net.corda.core.transactions.TransactionBuilder,java.util.List,java.util.List> assembleSharedTX(@NotNull
                                                                                                                                                        net.corda.finance.flows.TwoPartyDealFlow.Handshake<? extends U> handshake)

    - #### 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`