diff options
Diffstat (limited to 'src/main/java/org/uic/barcode/ssbFrame/SsbTicketPart.java')
-rw-r--r-- | src/main/java/org/uic/barcode/ssbFrame/SsbTicketPart.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/org/uic/barcode/ssbFrame/SsbTicketPart.java b/src/main/java/org/uic/barcode/ssbFrame/SsbTicketPart.java new file mode 100644 index 0000000..717608a --- /dev/null +++ b/src/main/java/org/uic/barcode/ssbFrame/SsbTicketPart.java @@ -0,0 +1,31 @@ +package org.uic.barcode.ssbFrame; + +import org.uic.barcode.ticket.EncodingFormatException; + +public abstract class SsbTicketPart { + + public static int openDataLength = 437; + + public void decode(byte[] bytes) throws EncodingFormatException { + if (bytes.length != 114) { + throw new EncodingFormatException("Data size does not fit to SSB"); + } + decodeContent(bytes, 0); + }; + + protected abstract int decodeContent(byte[] bytes , int offset); + + public void encode(byte[] bytes) throws EncodingFormatException { + if (bytes.length != 114) { + throw new EncodingFormatException("Data size does not fit to SSB"); + } + encodeContent(bytes, 0); + } + + protected abstract int encodeContent(byte[] bytes, int offset) throws EncodingFormatException; + + + + + +} |