net.corda.flows

## Class AbstractStateReplacementFlow.Acceptor<T>

- FlowLogic
- - net.corda.flows.AbstractStateReplacementFlow.Acceptor<T>

- Direct Known Subclasses:
    NotaryChangeFlow.Acceptor, ContractUpgradeFlow.Acceptor
  Enclosing class:
    AbstractStateReplacementFlow

      public static class AbstractStateReplacementFlow.Acceptor<T>
      extends FlowLogic

- - ### Nested Class Summary

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

  - ### Field Summary

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

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Acceptor(Party otherSide, ProgressTracker progressTracker)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Void` | `call()` This is where you fill out your business logic. The returned object will usually be ignored, but can be helpful if this flow is meant to be used as a subflow.
    `Party` | `getOtherSide()`
    `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.
    `void` | `verifyProposal(AbstractStateReplacementFlow.Proposal<? extends T> proposal)` Check the state change proposal to confirm that it's acceptable to this node. Rules for verification depend on the change proposed, and may further depend on the node itself (for example configuration). The proposal is returned if acceptable, otherwise a `exception StateReplacementException` is thrown.

    - ### 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 Acceptor.Companion Companion

  - ### Constructor Detail

    - #### Acceptor

          public Acceptor(Party otherSide,
                          ProgressTracker progressTracker)

      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

    - #### call

          public java.lang.Void call()

      This is where you fill out your business logic. The returned object will usually be ignored, but can be helpful if this flow is meant to be used as a subflow.

    - #### verifyProposal

          public void verifyProposal(AbstractStateReplacementFlow.Proposal<? extends T> proposal)

      Check the state change proposal to confirm that it's acceptable to this node. Rules for verification depend on the change proposed, and may further depend on the node itself (for example configuration). The proposal is returned if acceptable, otherwise a `exception StateReplacementException` is thrown.

      See Also:
        `exception StateReplacementException`

    - #### getOtherSide

          public Party getOtherSide()

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