corda / net.corda.core.node.services / Vault / Update

Update

data class Update<U : ContractState>

Represents an update observed by the vault that will be notified to observers. Include the StateRefs of transaction outputs that were consumed (inputs) and the ContractStates produced (outputs) to/by the transaction or transactions observed and the vault.

If the vault observes multiple transactions simultaneously, where some transactions consume the outputs of some of the other transactions observed, then the changes are observed "net" of those.

Constructors

<init>

Update(consumed: Set<StateAndRef<U>>, produced: Set<StateAndRef<U>>, flowId: UUID? = null, type: UpdateType = UpdateType.GENERAL)

Represents an update observed by the vault that will be notified to observers. Include the StateRefs of transaction outputs that were consumed (inputs) and the ContractStates produced (outputs) to/by the transaction or transactions observed and the vault.

Properties

consumed

val consumed: Set<StateAndRef<U>>

flowId

val flowId: UUID?

produced

val produced: Set<StateAndRef<U>>

type

val type: UpdateType

Specifies the type of update, currently supported types are general and, contract upgrade and notary change. Notary change transactions only modify the notary field on states, and potentially need to be handled differently.

Functions

containsType

fun <T : ContractState> containsType(): Boolean

Checks whether the update contains a state of the specified type.

fun <T : ContractState> containsType(clazz: Class<T>, status: StateStatus): Boolean

Checks whether the update contains a state of the specified type and state status

isEmpty

fun isEmpty(): Boolean

plus

operator fun plus(rhs: Update<U>): Update<U>

Combine two updates into a single update with the combined inputs and outputs of the two updates but net any outputs of the left-hand-side (this) that are consumed by the inputs of the right-hand-side (rhs).

toString

fun toString(): String