public static class LedgerTransaction.InOutGroup<T extends ContractState,K>
A set of related inputs and outputs that are connected by some common attributes. An InOutGroup is calculated
using LedgerTransaction.groupStates
and is useful for handling cases where a transaction may contain similar but unrelated
state evolutions, for example, a transaction that moves cash in two different currencies. The numbers must add
up on both sides of the transaction, but the values must be summed independently per currency. Grouping can
be used to simplify this logic.
LedgerTransaction.groupStates
Constructor and Description |
---|
InOutGroup(java.util.List<? extends T> inputs,
java.util.List<? extends T> outputs,
K groupingKey)
A set of related inputs and outputs that are connected by some common attributes. An InOutGroup is calculated
using
LedgerTransaction.groupStates and is useful for handling cases where a transaction may contain similar but unrelated
state evolutions, for example, a transaction that moves cash in two different currencies. The numbers must add
up on both sides of the transaction, but the values must be summed independently per currency. Grouping can
be used to simplify this logic. |
Modifier and Type | Method and Description |
---|---|
java.util.List<T> |
component1() |
java.util.List<T> |
component2() |
K |
component3() |
LedgerTransaction.InOutGroup<T,K> |
copy(java.util.List<? extends T> inputs,
java.util.List<? extends T> outputs,
K groupingKey)
A set of related inputs and outputs that are connected by some common attributes. An InOutGroup is calculated
using
LedgerTransaction.groupStates and is useful for handling cases where a transaction may contain similar but unrelated
state evolutions, for example, a transaction that moves cash in two different currencies. The numbers must add
up on both sides of the transaction, but the values must be summed independently per currency. Grouping can
be used to simplify this logic. |
boolean |
equals(java.lang.Object p) |
K |
getGroupingKey() |
java.util.List<T> |
getInputs() |
java.util.List<T> |
getOutputs() |
int |
hashCode() |
java.lang.String |
toString() |
public InOutGroup(java.util.List<? extends T> inputs, java.util.List<? extends T> outputs, K groupingKey)
A set of related inputs and outputs that are connected by some common attributes. An InOutGroup is calculated
using LedgerTransaction.groupStates
and is useful for handling cases where a transaction may contain similar but unrelated
state evolutions, for example, a transaction that moves cash in two different currencies. The numbers must add
up on both sides of the transaction, but the values must be summed independently per currency. Grouping can
be used to simplify this logic.
LedgerTransaction.groupStates
public java.util.List<T> getInputs()
public java.util.List<T> getOutputs()
public K getGroupingKey()
public java.util.List<T> component1()
public java.util.List<T> component2()
public K component3()
public LedgerTransaction.InOutGroup<T,K> copy(java.util.List<? extends T> inputs, java.util.List<? extends T> outputs, K groupingKey)
A set of related inputs and outputs that are connected by some common attributes. An InOutGroup is calculated
using LedgerTransaction.groupStates
and is useful for handling cases where a transaction may contain similar but unrelated
state evolutions, for example, a transaction that moves cash in two different currencies. The numbers must add
up on both sides of the transaction, but the values must be summed independently per currency. Grouping can
be used to simplify this logic.
LedgerTransaction.groupStates
public java.lang.String toString()
public int hashCode()
public boolean equals(java.lang.Object p)