summaryrefslogtreecommitdiffstats
path: root/src/org/uic/barcode/staticFrame/DataRecord.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/uic/barcode/staticFrame/DataRecord.java')
-rw-r--r--src/org/uic/barcode/staticFrame/DataRecord.java199
1 files changed, 0 insertions, 199 deletions
diff --git a/src/org/uic/barcode/staticFrame/DataRecord.java b/src/org/uic/barcode/staticFrame/DataRecord.java
deleted file mode 100644
index 16d3811..0000000
--- a/src/org/uic/barcode/staticFrame/DataRecord.java
+++ /dev/null
@@ -1,199 +0,0 @@
-package org.uic.barcode.staticFrame;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.Arrays;
-
-import org.uic.barcode.ticket.EncodingFormatException;
-
-/**
- * The Class DataRecord implements the basic decoding and encoding
- * of the data record structure, the split into tag, version, length and content.
- *
- * Implementing classes must provide decoding and encoding of the content
- *
- */
-public abstract class DataRecord {
-
- /** The id tag. */
- protected String idTag;
-
- /** The version id. */
- protected String versionId;
-
- /** The content. */
- protected byte[] content;
-
- /**
- * Instantiates a new data record.
- *
- * @param idTag the id tag
- * @param version the version
- */
- public DataRecord (String idTag, String version) {
- this.idTag = idTag;
- this.versionId = version;
- }
-
- /**
- * Instantiates a new data record.
- *
- * @param idTag the id tag
- */
- public DataRecord (String idTag) {
- this.idTag = idTag;
- }
-
- /**
- * Encode.
- *
- * @return the byte[]
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws EncodingFormatException the encoding format exception
- */
- public byte[] encode() throws IOException, EncodingFormatException {
-
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-
- encodeContent();
-
- //size of tag + version + length
- int length = 12;
-
- //size of data
- length = length + content.length;
-
- String lengthElement = String.format("%04d",length);
-
- while (idTag.length() < 6) {
- idTag = idTag + " ";
- }
-
- while (versionId.length() < 2) {
- versionId = "0" + versionId;
- }
-
- outputStream.write(idTag.getBytes());
-
- outputStream.write(versionId.getBytes());
-
- outputStream.write(lengthElement.getBytes());
-
- outputStream.write(content);
-
- return outputStream.toByteArray();
- }
-
- /**
- * Decode.
- *
- * @param byteData the byte data
- * @return the int
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws EncodingFormatException the encoding format exception
- */
- public int decode(byte[] byteData) throws IOException, EncodingFormatException {
-
- int offset = 0;
- String tag = new String(Arrays.copyOfRange(byteData, offset, offset + 6));
- this.setIdTag(tag);
- offset = offset + 6;
-
- String version = new String(Arrays.copyOfRange(byteData, offset, offset + 2));
- this.setVersionId(version);
- offset = offset + 2;
-
- String dataSize = new String(Arrays.copyOfRange(byteData, offset, offset + 4));
- offset = offset + 4;
-
- int length = Integer.parseInt(dataSize) - 12;
- this.setData(Arrays.copyOfRange(byteData, offset, offset + length));
-
- decodeContent();
-
- return length + 12;
- }
-
-
- /**
- * Gets the id tag.
- *
- * @return the id tag
- */
- public String getIdTag() {
- return idTag;
- }
-
-
- /**
- * Sets the id tag.
- *
- * @param idTag the new id tag
- */
- public void setIdTag(String idTag) {
- this.idTag = idTag;
- }
-
-
- /**
- * Gets the version id.
- *
- * @return the version id
- */
- public String getVersionId() {
- return versionId;
- }
-
-
- /**
- * Sets the version id.
- *
- * @param versionId the new version id
- */
- public void setVersionId(String versionId) {
- this.versionId = versionId;
- }
-
-
- /**
- * Gets the data.
- *
- * @return the data
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws EncodingFormatException the encoding format exception
- */
- protected byte[] getData() throws IOException, EncodingFormatException {
- return content;
- }
-
-
- /**
- * Sets the data.
- *
- * @param data the new data
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws EncodingFormatException the encoding format exception
- */
- protected void setData(byte[] data) throws IOException, EncodingFormatException {
- this.content = data;
- }
-
-
-
- /**
- * Decode content.
- *
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws EncodingFormatException the encoding format exception
- */
- protected abstract void decodeContent() throws IOException, EncodingFormatException;
-
- /**
- * Encode content.
- *
- * @throws IOException Signals that an I/O exception has occurred.
- * @throws EncodingFormatException the encoding format exception
- */
- protected abstract void encodeContent() throws IOException, EncodingFormatException;
-
-}