nxt.blockchain

## Class TransactionImpl

- java.lang.Object
- - nxt.blockchain.TransactionImpl

- All Implemented Interfaces:
    AccountLedger.LedgerEventId, Transaction
  Direct Known Subclasses:
    ChildTransactionImpl, FxtTransactionImpl

      public abstract class TransactionImpl
      extends java.lang.Object
      implements Transaction

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `TransactionImpl.BuilderImpl`

    - ### Nested classes/interfaces inherited from interface nxt.blockchain.Transaction

      `Transaction.Builder`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `attachmentIsDuplicate(java.util.Map<TransactionType,java.util.Map<java.lang.String,java.lang.Integer>> duplicates, boolean atAcceptanceHeight)`
    `abstract boolean` | `attachmentIsPhased()`
    `byte[]` | `bytes()`
    `long` | `getAmount()`
    `java.util.List<Appendix.AbstractAppendix>` | `getAppendages()`
    `java.util.List<Appendix.AbstractAppendix>` | `getAppendages(boolean includeExpiredPrunable)`
    `java.util.List<Appendix>` | `getAppendages(Filter<Appendix> filter, boolean includeExpiredPrunable)`
    `Attachment.AbstractAttachment` | `getAttachment()`
    `BlockImpl` | `getBlock()`
    `long` | `getBlockId()`
    `int` | `getBlockTimestamp()`
    `byte[]` | `getBytes()`
    `short` | `getDeadline()`
    `int` | `getECBlockHeight()`
    `long` | `getECBlockId()`
    `int` | `getExpiration()`
    `byte[]` | `getFullHash()`
    `int` | `getFullSize()`
    `int` | `getHeight()`
    `long` | `getId()`
    `short` | `getIndex()`
    `org.json.simple.JSONObject` | `getJSONObject()`
    `long` | `getMinimumFeeFQT()`
    `org.json.simple.JSONObject` | `getPrunableAttachmentJSON()`
    `byte[]` | `getPrunableBytes()`
    `PrunableEncryptedMessageAppendix` | `getPrunableEncryptedMessage()`
    `PrunablePlainMessageAppendix` | `getPrunablePlainMessage()`
    `long` | `getRecipientId()`
    `long` | `getSenderId()`
    `byte[]` | `getSenderPublicKey()`
    `java.lang.String` | `getStringId()`
    `int` | `getTimestamp()`
    `TransactionType` | `getType()`
    `byte[]` | `getUnsignedBytes()`
    `byte` | `getVersion()`
    `static TransactionImpl.BuilderImpl` | `newTransactionBuilder(byte[] bytes)`
    `static TransactionImpl.BuilderImpl` | `newTransactionBuilder(byte[] bytes, org.json.simple.JSONObject prunableAttachments)`
    `static TransactionImpl.BuilderImpl` | `newTransactionBuilder(org.json.simple.JSONObject transactionData)`
    `static TransactionImpl` | `parseTransaction(byte[] transactionBytes)`
    `static TransactionImpl` | `parseTransaction(byte[] transactionBytes, org.json.simple.JSONObject prunableAttachments)`
    `byte[]` | `prunableBytes()`
    `void` | `validate()`
    `boolean` | `verifySignature()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface nxt.blockchain.Transaction

      `getChain, getFee, getSignature, isPhased`

- - ### Method Detail

    - #### getDeadline

          public short getDeadline()

      Specified by:
        `getDeadline` in interface `Transaction`

    - #### getSenderPublicKey

          public byte[] getSenderPublicKey()

      Specified by:
        `getSenderPublicKey` in interface `Transaction`

    - #### getRecipientId

          public long getRecipientId()

      Specified by:
        `getRecipientId` in interface `Transaction`

    - #### getAmount

          public long getAmount()

      Specified by:
        `getAmount` in interface `Transaction`

    - #### getHeight

          public int getHeight()

      Specified by:
        `getHeight` in interface `Transaction`

    - #### getType

          public TransactionType getType()

      Specified by:
        `getType` in interface `Transaction`

    - #### getVersion

          public byte getVersion()

      Specified by:
        `getVersion` in interface `Transaction`

    - #### getBlockId

          public long getBlockId()

      Specified by:
        `getBlockId` in interface `Transaction`

    - #### getBlock

          public BlockImpl getBlock()

      Specified by:
        `getBlock` in interface `Transaction`

    - #### getIndex

          public short getIndex()

      Specified by:
        `getIndex` in interface `Transaction`

    - #### getTimestamp

          public int getTimestamp()

      Specified by:
        `getTimestamp` in interface `Transaction`

    - #### getBlockTimestamp

          public int getBlockTimestamp()

      Specified by:
        `getBlockTimestamp` in interface `Transaction`

    - #### getExpiration

          public int getExpiration()

      Specified by:
        `getExpiration` in interface `Transaction`

    - #### getPrunablePlainMessage

          public PrunablePlainMessageAppendix getPrunablePlainMessage()

      Specified by:
        `getPrunablePlainMessage` in interface `Transaction`

    - #### getPrunableEncryptedMessage

          public PrunableEncryptedMessageAppendix getPrunableEncryptedMessage()

      Specified by:
        `getPrunableEncryptedMessage` in interface `Transaction`

    - #### getAttachment

          public Attachment.AbstractAttachment getAttachment()

      Specified by:
        `getAttachment` in interface `Transaction`

    - #### getAppendages

          public java.util.List<Appendix.AbstractAppendix> getAppendages()

      Specified by:
        `getAppendages` in interface `Transaction`

    - #### getAppendages

          public java.util.List<Appendix.AbstractAppendix> getAppendages(boolean includeExpiredPrunable)

      Specified by:
        `getAppendages` in interface `Transaction`

    - #### getAppendages

          public java.util.List<Appendix> getAppendages(Filter<Appendix> filter,
                                                        boolean includeExpiredPrunable)

      Specified by:
        `getAppendages` in interface `Transaction`

    - #### getId

          public final long getId()

      Specified by:
        `getId` in interface `AccountLedger.LedgerEventId`
      Specified by:
        `getId` in interface `Transaction`

    - #### getStringId

          public final java.lang.String getStringId()

      Specified by:
        `getStringId` in interface `Transaction`

    - #### getFullHash

          public final byte[] getFullHash()

      Specified by:
        `getFullHash` in interface `AccountLedger.LedgerEventId`
      Specified by:
        `getFullHash` in interface `Transaction`

    - #### getSenderId

          public final long getSenderId()

      Specified by:
        `getSenderId` in interface `Transaction`

    - #### getBytes

          public final byte[] getBytes()

      Specified by:
        `getBytes` in interface `Transaction`

    - #### getPrunableBytes

          public final byte[] getPrunableBytes()

      Specified by:
        `getPrunableBytes` in interface `Transaction`

    - #### bytes

          public final byte[] bytes()

    - #### prunableBytes

          public final byte[] prunableBytes()

    - #### getUnsignedBytes

          public final byte[] getUnsignedBytes()

      Specified by:
        `getUnsignedBytes` in interface `Transaction`

    - #### getJSONObject

          public org.json.simple.JSONObject getJSONObject()

      Specified by:
        `getJSONObject` in interface `Transaction`

    - #### getPrunableAttachmentJSON

          public org.json.simple.JSONObject getPrunableAttachmentJSON()

      Specified by:
        `getPrunableAttachmentJSON` in interface `Transaction`

    - #### getECBlockHeight

          public int getECBlockHeight()

      Specified by:
        `getECBlockHeight` in interface `Transaction`

    - #### getECBlockId

          public long getECBlockId()

      Specified by:
        `getECBlockId` in interface `Transaction`

    - #### verifySignature

          public boolean verifySignature()

      Specified by:
        `verifySignature` in interface `Transaction`

    - #### getFullSize

          public final int getFullSize()

      Specified by:
        `getFullSize` in interface `Transaction`

    - #### validate

          public void validate()
                        throws NxtException.ValidationException

      Specified by:
        `validate` in interface `Transaction`
      Throws:
        `NxtException.ValidationException`

    - #### getMinimumFeeFQT

          public final long getMinimumFeeFQT()

      Specified by:
        `getMinimumFeeFQT` in interface `Transaction`

    - #### attachmentIsPhased

          public abstract boolean attachmentIsPhased()

    - #### attachmentIsDuplicate

          public final boolean attachmentIsDuplicate(java.util.Map<TransactionType,java.util.Map<java.lang.String,java.lang.Integer>> duplicates,
                                                     boolean atAcceptanceHeight)

    - #### parseTransaction

          public static TransactionImpl parseTransaction(byte[] transactionBytes)
                                                  throws NxtException.NotValidException

      Throws:
        `NxtException.NotValidException`

    - #### parseTransaction

          public static TransactionImpl parseTransaction(byte[] transactionBytes,
                                                         org.json.simple.JSONObject prunableAttachments)
                                                  throws NxtException.NotValidException

      Throws:
        `NxtException.NotValidException`

    - #### newTransactionBuilder

          public static TransactionImpl.BuilderImpl newTransactionBuilder(byte[] bytes)
                                                                   throws NxtException.NotValidException

      Throws:
        `NxtException.NotValidException`

    - #### newTransactionBuilder

          public static TransactionImpl.BuilderImpl newTransactionBuilder(byte[] bytes,
                                                                          org.json.simple.JSONObject prunableAttachments)
                                                                   throws NxtException.NotValidException

      Throws:
        `NxtException.NotValidException`

    - #### newTransactionBuilder

          public static TransactionImpl.BuilderImpl newTransactionBuilder(org.json.simple.JSONObject transactionData)
                                                                   throws NxtException.NotValidException

      Throws:
        `NxtException.NotValidException`