public class TestTransactionDSLInterpreter implements TransactionDSLInterpreter, OutputStateLookup
This interpreter builds a transaction, and TransactionDSL.verifies that the resolved transaction is correct. Note that transactions corresponding to input states are not verified. Use LedgerDSL.verifies for that.
public TestTransactionDSLInterpreter(@NotNull TestLedgerDSLInterpreter ledgerInterpreter, @NotNull TransactionBuilder transactionBuilder)
@NotNull public ServicesForResolution getServices()
public void input(@NotNull StateRef stateRef)
Adds an input reference to the transaction. Note that verifies
will resolve this reference.
stateRef
- The input class StateRef
.verifies
public void reference(@NotNull StateRef stateRef)
Add a reference input state to the transaction. Note that verifies
will resolve this reference.
stateRef
- The input class StateRef
.verifies
public void output(@NotNull java.lang.String contractClassName, @Nullable java.lang.String label, @NotNull Party notary, @Nullable java.lang.Integer encumbrance, @NotNull AttachmentConstraint attachmentConstraint, @NotNull ContractState contractState)
Adds an output to the transaction.
contractClassName
- The class name of the contract that verifies this state.label
- An optional label that may be later used to retrieve the output probably in other transactions.notary
- The associated notary.encumbrance
- The position of the encumbrance state.attachmentConstraint
- The attachment constraintcontractState
- The state itself.public void attachment(@NotNull SecureHash attachmentId)
Adds an interface Attachment
reference to the transaction.
attachmentId
- The hash of the attachment, possibly returned by LedgerDSLInterpreter.attachment
.interface Attachment
public void command(@NotNull java.util.List<? extends java.security.PublicKey> signers, @NotNull CommandData commandData)
Adds a command to the transaction.
signers
- The signer public keys.commandData
- The contents of the command.@NotNull public EnforceVerifyOrFail verifies()
Verifies the ledger/transaction, throws if the verification fails.
public void timeWindow(@NotNull TimeWindow data)
Sets the time-window of the transaction.
data
- the class TimeWindow
(validation window).@NotNull public EnforceVerifyOrFail _tweak(@NotNull kotlin.jvm.functions.Function1<? super net.corda.testing.dsl.TransactionDSLInterpreter,? extends net.corda.testing.dsl.EnforceVerifyOrFail> dsl)
Creates a local scoped copy of the transaction.
dsl
- The transaction DSL to be interpreted using the copy.public void _attachment(@NotNull java.lang.String contractClassName)
Attaches an attachment containing the named contract to the transaction
contractClassName
- The contract class to attachpublic void _attachment(@NotNull java.lang.String contractClassName, @NotNull SecureHash attachmentId, @NotNull java.util.List<? extends java.security.PublicKey> signers)
Attaches an attachment containing the named contract to the transaction
contractClassName
- The contract class to attachattachmentId
- The attachmentpublic void _attachment(@NotNull java.lang.String contractClassName, @NotNull SecureHash attachmentId, @NotNull java.util.List<? extends java.security.PublicKey> signers, @NotNull java.util.Map<java.lang.String,java.lang.String> jarManifestAttributes)
Attaches an attachment containing the named contract to the transaction.
contractClassName
- The contract class to attach.attachmentId
- The attachment.signers
- The signers.jarManifestAttributes
- The JAR manifest file attributes.@NotNull public TestLedgerDSLInterpreter getLedgerInterpreter()
A reference to the enclosing ledger{..}
's interpreter.
@NotNull public TransactionBuilder getTransactionBuilder()
@NotNull public <S extends ContractState> StateAndRef<S> retrieveOutputStateAndRef(@NotNull java.lang.Class<S> clazz, @NotNull java.lang.String label)
Retrieves an output previously defined by TransactionDSLInterpreter.output
with a label passed in.
clazz
- The class object holding the type of the output state expected.label
- The label of the to-be-retrieved output state.class StateAndRef
.TransactionDSLInterpreter.output
@NotNull public TestLedgerDSLInterpreter component1()
A reference to the enclosing ledger{..}
's interpreter.
@NotNull public TransactionBuilder component2()
@NotNull public TestTransactionDSLInterpreter copy(@NotNull TestLedgerDSLInterpreter ledgerInterpreter, @NotNull TransactionBuilder transactionBuilder, @NotNull java.util.HashMap<java.lang.String,java.lang.Integer> labelToIndexMap)
This interpreter builds a transaction, and TransactionDSL.verifies that the resolved transaction is correct. Note that transactions corresponding to input states are not verified. Use LedgerDSL.verifies for that.
@NotNull public java.lang.String toString()
This interpreter builds a transaction, and TransactionDSL.verifies that the resolved transaction is correct. Note that transactions corresponding to input states are not verified. Use LedgerDSL.verifies for that.
public int hashCode()
This interpreter builds a transaction, and TransactionDSL.verifies that the resolved transaction is correct. Note that transactions corresponding to input states are not verified. Use LedgerDSL.verifies for that.
public boolean equals(@Nullable java.lang.Object p)
This interpreter builds a transaction, and TransactionDSL.verifies that the resolved transaction is correct. Note that transactions corresponding to input states are not verified. Use LedgerDSL.verifies for that.