public abstract class TransactionType
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
abstract void |
apply(TransactionImpl transaction,
Account senderAccount,
Account recipientAccount) |
abstract void |
applyAttachment(Transaction transaction,
Account senderAccount,
Account recipientAccount) |
abstract boolean |
applyAttachmentUnconfirmed(Transaction transaction,
Account senderAccount) |
abstract boolean |
applyUnconfirmed(TransactionImpl transaction,
Account senderAccount) |
abstract boolean |
canHaveRecipient() |
static TransactionType |
findTransactionType(byte type,
byte subtype) |
abstract Fee |
getBaselineFee(Transaction transaction) |
int |
getBaselineFeeHeight() |
abstract java.util.List<ChildChain> |
getInvolvedChildChains(Transaction transaction) |
abstract AccountLedger.LedgerEvent |
getLedgerEvent() |
abstract java.lang.String |
getName() |
Fee |
getNextFee(Transaction transaction) |
int |
getNextFeeHeight() |
abstract byte |
getSubtype() |
abstract byte |
getType() |
boolean |
isBlockDuplicate(Transaction transaction,
java.util.Map<TransactionType,java.util.Map<java.lang.String,java.lang.Integer>> duplicates) |
boolean |
isDuplicate(Transaction transaction,
java.util.Map<TransactionType,java.util.Map<java.lang.String,java.lang.Integer>> duplicates) |
static boolean |
isDuplicate(TransactionType uniqueType,
java.lang.String key,
java.util.Map<TransactionType,java.util.Map<java.lang.String,java.lang.Integer>> duplicates,
boolean exclusive) |
protected static boolean |
isDuplicate(TransactionType uniqueType,
java.lang.String key,
java.util.Map<TransactionType,java.util.Map<java.lang.String,java.lang.Integer>> duplicates,
int maxCount) |
abstract boolean |
isGlobal() |
boolean |
isPhasable() |
abstract boolean |
isPhasingSafe()
Transaction is Phasing Unsafe if it's validity may change between the height it is accepted in the blockchain
and the height it is executed.
|
boolean |
isPruned(Chain chain,
byte[] fullHash) |
boolean |
isUnconfirmedDuplicate(Transaction transaction,
java.util.Map<TransactionType,java.util.Map<java.lang.String,java.lang.Integer>> duplicates) |
boolean |
mustHaveRecipient() |
abstract Attachment.AbstractAttachment |
parseAttachment(java.nio.ByteBuffer buffer) |
abstract Attachment.AbstractAttachment |
parseAttachment(org.json.simple.JSONObject attachmentData) |
java.lang.String |
toString() |
abstract void |
undoAttachmentUnconfirmed(Transaction transaction,
Account senderAccount) |
abstract void |
undoUnconfirmed(TransactionImpl transaction,
Account senderAccount) |
abstract void |
validateAttachment(Transaction transaction) |
protected abstract void |
validateId(Transaction transaction) |
public static TransactionType findTransactionType(byte type, byte subtype)
public abstract byte getType()
public abstract byte getSubtype()
public abstract AccountLedger.LedgerEvent getLedgerEvent()
public abstract Attachment.AbstractAttachment parseAttachment(java.nio.ByteBuffer buffer) throws NxtException.NotValidException
NxtException.NotValidException
public abstract Attachment.AbstractAttachment parseAttachment(org.json.simple.JSONObject attachmentData) throws NxtException.NotValidException
NxtException.NotValidException
public abstract void validateAttachment(Transaction transaction) throws NxtException.ValidationException
NxtException.ValidationException
public abstract boolean applyUnconfirmed(TransactionImpl transaction, Account senderAccount)
public abstract boolean applyAttachmentUnconfirmed(Transaction transaction, Account senderAccount)
public abstract void apply(TransactionImpl transaction, Account senderAccount, Account recipientAccount)
public abstract void applyAttachment(Transaction transaction, Account senderAccount, Account recipientAccount)
public abstract void undoUnconfirmed(TransactionImpl transaction, Account senderAccount)
public abstract void undoAttachmentUnconfirmed(Transaction transaction, Account senderAccount)
public boolean isDuplicate(Transaction transaction, java.util.Map<TransactionType,java.util.Map<java.lang.String,java.lang.Integer>> duplicates)
public boolean isBlockDuplicate(Transaction transaction, java.util.Map<TransactionType,java.util.Map<java.lang.String,java.lang.Integer>> duplicates)
public boolean isUnconfirmedDuplicate(Transaction transaction, java.util.Map<TransactionType,java.util.Map<java.lang.String,java.lang.Integer>> duplicates)
public static boolean isDuplicate(TransactionType uniqueType, java.lang.String key, java.util.Map<TransactionType,java.util.Map<java.lang.String,java.lang.Integer>> duplicates, boolean exclusive)
protected static boolean isDuplicate(TransactionType uniqueType, java.lang.String key, java.util.Map<TransactionType,java.util.Map<java.lang.String,java.lang.Integer>> duplicates, int maxCount)
public boolean isPruned(Chain chain, byte[] fullHash)
public abstract boolean canHaveRecipient()
public boolean mustHaveRecipient()
public abstract boolean isPhasingSafe()
public boolean isPhasable()
public abstract boolean isGlobal()
public abstract Fee getBaselineFee(Transaction transaction)
public Fee getNextFee(Transaction transaction)
public int getBaselineFeeHeight()
public int getNextFeeHeight()
public abstract java.lang.String getName()
public abstract java.util.List<ChildChain> getInvolvedChildChains(Transaction transaction)
public final java.lang.String toString()
toString
in class java.lang.Object
protected abstract void validateId(Transaction transaction) throws NxtException.ValidationException
NxtException.ValidationException