public static class AbstractStateReplacementFlow.Acceptor<T> extends FlowLogic<T>
Modifier and Type | Class and Description |
---|---|
static class |
Acceptor.Companion |
Modifier and Type | Field and Description |
---|---|
static Acceptor.Companion |
Companion |
Constructor and Description |
---|
Acceptor(FlowSession initiatingSession,
ProgressTracker progressTracker) |
Acceptor(FlowSession initiatingSession) |
Modifier and Type | Method and Description |
---|---|
java.lang.Void |
call()
This is where you fill out your business logic.
|
FlowSession |
getInitiatingSession() |
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. |
void |
verifyProposal(SignedTransaction stx,
AbstractStateReplacementFlow.Proposal<? extends T> proposal)
Check the state change proposal and the signed transaction 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. |
await, await, call, checkFlowIsNotKilled, checkFlowIsNotKilled, checkFlowPermission, close, flowStackSnapshot, getFlowInfo, getLogger, getOurIdentity, getOurIdentityAndCert, getProgressTracker, getRunId, getServiceHub, initiateFlow, initiateFlow, isKilled, persistFlowStackSnapshot, receive, receiveAll, receiveAllMap, recordAuditEvent, send, sendAll, sendAllMap, sendAndReceive, subFlow, track, trackStepsTree, trackStepsTreeIndex, waitForLedgerCommit, waitForStateConsumption
public static Acceptor.Companion Companion
public Acceptor(FlowSession initiatingSession, ProgressTracker progressTracker)
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.
public Acceptor(FlowSession initiatingSession)
public java.lang.Void call()
This is where you fill out your business logic.
public void verifyProposal(SignedTransaction stx, AbstractStateReplacementFlow.Proposal<? extends T> proposal)
Check the state change proposal and the signed transaction 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.
exception StateReplacementException
public FlowSession getInitiatingSession()
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.
class ProgressTracker