package org.ripple.power.txns.btc;
import java.io.EOFException;
public class AlertEntry {
/** Cancel status */
private boolean isCanceled;
/** Alert payload */
private final byte[] payload;
/** Alert signature */
private final byte[] signature;
/**
* Creates a new AlertEntry
*
* @param payload Alert payload
* @param signature Alert signature
* @param isCanceled TRUE if the alert has been canceled
*/
public AlertEntry(byte[] payload, byte[] signature, boolean isCanceled) {
this.isCanceled = isCanceled;
this.payload = payload;
this.signature = signature;
}
/**
* Creates a new TransactionEntry
*
* @param entryData Serialized entry data
* @throws EOFException End-of-data processing serialized data
*/
public AlertEntry(byte[] entryData) throws EOFException {
SerializedBuffer inBuffer = new SerializedBuffer(entryData);
isCanceled = inBuffer.getBoolean();
payload = inBuffer.getBytes();
signature = inBuffer.getBytes();
}
/**
* Returns the serialized data stream
*
* @return Serialized data stream
*/
public byte[] getBytes() {
SerializedBuffer outBuffer = new SerializedBuffer();
outBuffer.putBoolean(isCanceled)
.putVarInt(payload.length)
.putBytes(payload)
.putVarInt(signature.length)
.putBytes(signature);
return outBuffer.toByteArray();
}
/**
* Returns the payload
*
* @return Alert payload
*/
public byte[] getPayload() {
return payload;
}
/**
* Returns the signature
*
* @return Alert signature
*/
public byte[] getSignature() {
return signature;
}
/**
* Checks if the alert has been canceled
*
* @return TRUE if the alert has been canceled
*/
public boolean isCanceled() {
return isCanceled;
}
/**
* Set the alert cancel status
*
* @param isCanceled TRUE if the alert has been canceled
*/
public void setCancel(boolean isCanceled) {
this.isCanceled = isCanceled;
}
}