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 | 29 |
1 files changed, 29 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..3855c5c --- /dev/null +++ b/src/main/java/org/uic/barcode/ssbFrame/SsbTicketPart.java @@ -0,0 +1,29 @@ +package org.uic.barcode.ssbFrame; + +import org.uic.barcode.ticket.EncodingFormatException; + +public abstract class SsbTicketPart { + + public void decode(byte[] bytes) throws EncodingFormatException { + if (bytes.length != 114) { + throw new EncodingFormatException("Data size does not fit to SSB"); + } + decodeContent(bytes); + }; + + protected abstract void decodeContent(byte[] bytes); + + public void encode(byte[] bytes) throws EncodingFormatException { + if (bytes.length != 114) { + throw new EncodingFormatException("Data size does not fit to SSB"); + } + encodeContent(bytes); + } + + protected abstract void encodeContent(byte[] bytes); + + + + + +} |