corda / net.corda.finance.flows / AbstractCashFlow

AbstractCashFlow

abstract class AbstractCashFlow<out T> : FlowLogic<T>

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

Types

AbstractRequest

abstract class AbstractRequest

FINALISING_TX

object FINALISING_TX : Step

GENERATING_ID

object GENERATING_ID : Step

GENERATING_TX

object GENERATING_TX : Step

Result

Combined signed transaction and identity lookup map, which is the resulting data from regular cash flows. Specialised flows for unit tests differ from this.

data class Result

SIGNING_TX

object SIGNING_TX : Step

Constructors

<init>

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

AbstractCashFlow(progressTracker: ProgressTracker)

Properties

progressTracker

Override this to provide a 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.

open val progressTracker: ProgressTracker

Functions

finaliseTx

fun finaliseTx(tx: SignedTransaction, sessions: Collection<FlowSession>, message: String): SignedTransaction

Companion Object Functions

tracker

fun tracker(): ProgressTracker

Extension Functions

receiveAll

Suspends until a message has been received for each session in the specified sessions.

fun FlowLogic<*>.receiveAll(session: Pair<FlowSession, Class<out Any>>, vararg sessions: Pair<FlowSession, Class<out Any>>): Map<FlowSession, UntrustworthyData<Any>>
fun <R : Any> FlowLogic<*>.receiveAll(receiveType: Class<R>, session: FlowSession, vararg sessions: FlowSession): List<UntrustworthyData<R>>
fun <R : Any> FlowLogic<*>.receiveAll(session: FlowSession, vararg sessions: FlowSession): List<UntrustworthyData<R>>

Inheritors

CashExitFlow

Initiates a flow that produces an cash exit transaction.

class CashExitFlow : AbstractCashFlow<Result>

CashIssueAndPaymentFlow

Initiates a flow that self-issues cash and then send this to a recipient.

class CashIssueAndPaymentFlow : AbstractCashFlow<Result>

CashIssueFlow

Initiates a flow that self-issues cash (which should then be sent to recipient(s) using a payment transaction).

class CashIssueFlow : AbstractCashFlow<Result>

CashPaymentFlow

Initiates a flow that sends cash to a recipient.

open class CashPaymentFlow : AbstractCashFlow<Result>