summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/uic/barcode/ssbFrame/SsbTicketPart.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/uic/barcode/ssbFrame/SsbTicketPart.java')
-rw-r--r--src/main/java/org/uic/barcode/ssbFrame/SsbTicketPart.java31
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;
+
+
+
+
+
+}