Vault.Update - corda

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> | 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. `Update(consumed: Set<StateAndRef<U>>, produced: Set<StateAndRef<U>>, flowId: UUID? = null, type: UpdateType = UpdateType.GENERAL, references: Set<StateAndRef<U>> = emptySet())`

### Properties

#### consumed | `val consumed: Set<StateAndRef<U>>`
#### flowId | `val flowId: UUID?`
#### produced | `val produced: Set<StateAndRef<U>>`
#### references | `val references: Set<StateAndRef<U>>`
#### type | 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. `val type: UpdateType`

### Functions

#### containsType | Checks whether the update contains a state of the specified type. `fun <T : ContractState> containsType(): Boolean` Checks whether the update contains a state of the specified type and state status `fun <T : ContractState> containsType(clazz: Class<T>, status: StateStatus): Boolean`
#### copy | Additional copy method to maintain backwards compatibility. `fun copy(consumed: Set<StateAndRef<U>>, produced: Set<StateAndRef<U>>, flowId: UUID? = null, type: UpdateType = UpdateType.GENERAL): Update<U>`
#### isEmpty | `fun isEmpty(): Boolean`
#### plus | 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). `operator fun plus(rhs: Update<U>): Update<U>`
#### toString | `fun toString(): String`