certi-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[certi-cvs] jcerti/src/hla/rti1516e/jlc HLAboolean.java Bas...


From: CERTI CVS commits
Subject: [certi-cvs] jcerti/src/hla/rti1516e/jlc HLAboolean.java Bas...
Date: Tue, 13 Dec 2011 23:49:25 +0000

CVSROOT:        /sources/certi
Module name:    jcerti
Changes by:     Eric NOULARD <erk>      11/12/13 23:49:25

Added files:
        src/hla/rti1516e/jlc: HLAboolean.java BasicHLAbyte.java 
                              BasicHLAfloat32LE.java 
                              BasicHLAinteger64LE.java 
                              BasicHLAinteger64BE.java 
                              BasicHLAoctetPairLE.java 
                              BasicHLAinteger32LE.java 
                              BasicHLAfloat64LE.java 
                              BasicHLAinteger16LE.java 
                              DataElementBase.java 
                              BasicHLAfloat32BE.java 
                              BasicHLAfloat64BE.java 
                              BasicHLAinteger32BE.java 
                              EncoderFactory.java 
                              BasicHLAinteger16BE.java 
                              BasicHLAoctet.java 
                              BasicHLAoctetPairBE.java 

Log message:
        Add first set of Basic encoding helper classes.
        Factory is not complete [yet]

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/HLAboolean.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAbyte.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAfloat32LE.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger64LE.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger64BE.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAoctetPairLE.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger32LE.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAfloat64LE.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger16LE.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/DataElementBase.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAfloat32BE.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAfloat64BE.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger32BE.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/EncoderFactory.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger16BE.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAoctet.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAoctetPairBE.java?cvsroot=certi&rev=1.1

Patches:
Index: HLAboolean.java
===================================================================
RCS file: HLAboolean.java
diff -N HLAboolean.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ HLAboolean.java     13 Dec 2011 23:49:23 -0000      1.1
@@ -0,0 +1,55 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+
+public class HLAboolean extends DataElementBase implements
+        hla.rti1516e.encoding.HLAboolean {
+
+    private BasicHLAinteger32BE value;
+    
+    public HLAboolean() {
+        value = new BasicHLAinteger32BE(0);
+    }
+    
+    public HLAboolean(boolean b) {
+        value = new BasicHLAinteger32BE(b ? 1 :0);
+    }
+    
+    @Override
+    public int getOctetBoundary() {
+        return value.getOctetBoundary();
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        value.encode(byteWrapper);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return value.getEncodedLength();
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        value.decode(byteWrapper);
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        value.decode(bytes);
+    }
+
+    @Override
+    public boolean getValue() {
+        return (value.getValue()==1);
+    }
+
+    @Override
+    public void setValue(boolean value) {
+        this.value.setValue(value ? 1 : 0);
+    }
+
+}

Index: BasicHLAbyte.java
===================================================================
RCS file: BasicHLAbyte.java
diff -N BasicHLAbyte.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAbyte.java   13 Dec 2011 23:49:23 -0000      1.1
@@ -0,0 +1,55 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+
+public class BasicHLAbyte extends DataElementBase implements
+        hla.rti1516e.encoding.HLAbyte {
+
+    private BasicHLAoctet value;
+    
+    public BasicHLAbyte() {
+        value = new BasicHLAoctet();
+    }
+    
+    public BasicHLAbyte(byte b) {
+        value = new BasicHLAoctet(b);
+    }
+
+    @Override
+    public int getOctetBoundary() {
+        return value.getOctetBoundary();
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        value.encode(byteWrapper);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return value.getEncodedLength();
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        value.decode(byteWrapper);
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        value.decode(bytes);
+    }
+
+    @Override
+    public byte getValue() {
+        return value.getValue();
+    }
+
+    @Override
+    public void setValue(byte value) {
+        this.value.setValue(value);
+    }
+
+}

Index: BasicHLAfloat32LE.java
===================================================================
RCS file: BasicHLAfloat32LE.java
diff -N BasicHLAfloat32LE.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAfloat32LE.java      13 Dec 2011 23:49:23 -0000      1.1
@@ -0,0 +1,74 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+import hla.rti1516e.encoding.HLAfloat32LE;
+
+public class BasicHLAfloat32LE extends DataElementBase implements HLAfloat32LE 
{
+
+    private float value;
+    
+    public BasicHLAfloat32LE() {
+        value = 0.0f;
+    }
+    
+    public BasicHLAfloat32LE(float f) {
+        value = f;
+    }
+
+    @Override
+    public int getOctetBoundary() {
+        return 4;
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        byteWrapper.align(getOctetBoundary());
+        int f_as_i = Float.floatToIntBits(value);
+        byteWrapper.put((int)(f_as_i >>>  0) & 0xFF);
+        byteWrapper.put((int)(f_as_i >>>  8) & 0xFF);
+        byteWrapper.put((int)(f_as_i >>> 16) & 0xFF);
+        byteWrapper.put((int)(f_as_i >>> 24) & 0xFF);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return 4;
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        int f_as_i;
+        f_as_i  = 0;
+        f_as_i += (int)((byteWrapper.get() & 0xFF) <<  0);
+        f_as_i += (int)((byteWrapper.get() & 0xFF) <<  8);
+        f_as_i += (int)((byteWrapper.get() & 0xFF) << 16);
+        f_as_i += (int)((byteWrapper.get() & 0xFF) << 24);
+        value = Float.intBitsToFloat(f_as_i);
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        
+        int f_as_i;
+        f_as_i  = 0;
+        f_as_i += (int)((bytes[0] & 0xFF) <<  0);
+        f_as_i += (int)((bytes[1] & 0xFF) <<  8);
+        f_as_i += (int)((bytes[2] & 0xFF) << 16);
+        f_as_i += (int)((bytes[3] & 0xFF) << 24);
+        value = Float.intBitsToFloat(f_as_i);
+    }
+
+    @Override
+    public float getValue() {
+        return value;
+    }
+
+    @Override
+    public void setValue(float value) {
+        this.value = value;
+    }
+
+}

Index: BasicHLAinteger64LE.java
===================================================================
RCS file: BasicHLAinteger64LE.java
diff -N BasicHLAinteger64LE.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAinteger64LE.java    13 Dec 2011 23:49:23 -0000      1.1
@@ -0,0 +1,81 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+import hla.rti1516e.encoding.HLAinteger64LE;
+
+public class BasicHLAinteger64LE extends DataElementBase implements
+        HLAinteger64LE {
+
+    private long value;
+    
+    public BasicHLAinteger64LE() {
+        value = 0L;
+    }
+    
+    public BasicHLAinteger64LE(long value) {
+        this.value = value;
+    }
+    
+    @Override
+    public int getOctetBoundary() {
+        return 4;
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        byteWrapper.align(getOctetBoundary());
+        byteWrapper.put((int)(value >>>  0) & 0xFF);
+        byteWrapper.put((int)(value >>>  8) & 0xFF);
+        byteWrapper.put((int)(value >>> 16) & 0xFF);
+        byteWrapper.put((int)(value >>> 24) & 0xFF);
+        byteWrapper.put((int)(value >>> 32) & 0xFF);
+        byteWrapper.put((int)(value >>> 40) & 0xFF);
+        byteWrapper.put((int)(value >>> 48) & 0xFF);
+        byteWrapper.put((int)(value >>> 56) & 0xFF);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return 8;
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        value  = 0L;
+        value += (long)((byteWrapper.get() & 0xFF) <<  0);
+        value += (long)((byteWrapper.get() & 0xFF) <<  8);
+        value += (long)((byteWrapper.get() & 0xFF) << 16);
+        value += (long)((byteWrapper.get() & 0xFF) << 24);
+        value += (long)((byteWrapper.get() & 0xFF) << 32);
+        value += (long)((byteWrapper.get() & 0xFF) << 40);
+        value += (long)((byteWrapper.get() & 0xFF) << 48);
+        value += (long)((byteWrapper.get() & 0xFF) << 56);
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        value  = 0L;
+        value += (long)((bytes[0] & 0xFF) <<  0);
+        value += (long)((bytes[1] & 0xFF) <<  8);
+        value += (long)((bytes[2] & 0xFF) << 16);
+        value += (long)((bytes[3] & 0xFF) << 24);
+        value += (long)((bytes[4] & 0xFF) << 32);
+        value += (long)((bytes[5] & 0xFF) << 40);
+        value += (long)((bytes[6] & 0xFF) << 48);
+        value += (long)((bytes[7] & 0xFF) << 56);
+    }
+
+    @Override
+    public long getValue() {
+        return value;
+    }
+
+    @Override
+    public void setValue(long value) {
+        this.value = value;
+    }
+
+}

Index: BasicHLAinteger64BE.java
===================================================================
RCS file: BasicHLAinteger64BE.java
diff -N BasicHLAinteger64BE.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAinteger64BE.java    13 Dec 2011 23:49:23 -0000      1.1
@@ -0,0 +1,81 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+import hla.rti1516e.encoding.HLAinteger64BE;
+
+public class BasicHLAinteger64BE extends DataElementBase implements
+        HLAinteger64BE {
+
+    private long value;
+    
+    public BasicHLAinteger64BE() {
+        value = 0L;
+    }
+    
+    public BasicHLAinteger64BE(long value) {
+        this.value = value;
+    }
+    
+    @Override
+    public int getOctetBoundary() {
+        return 4;
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        byteWrapper.align(getOctetBoundary());
+        byteWrapper.put((int)(value >>> 56) & 0xFF);
+        byteWrapper.put((int)(value >>> 48) & 0xFF);
+        byteWrapper.put((int)(value >>> 40) & 0xFF);
+        byteWrapper.put((int)(value >>> 32) & 0xFF);
+        byteWrapper.put((int)(value >>> 24) & 0xFF);
+        byteWrapper.put((int)(value >>> 16) & 0xFF);
+        byteWrapper.put((int)(value >>>  8) & 0xFF);
+        byteWrapper.put((int)(value >>>  0) & 0xFF);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return 8;
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        value  = 0L;
+        value += (long)((byteWrapper.get() & 0xFF) << 56);
+        value += (long)((byteWrapper.get() & 0xFF) << 48);
+        value += (long)((byteWrapper.get() & 0xFF) << 40);
+        value += (long)((byteWrapper.get() & 0xFF) << 32);
+        value += (long)((byteWrapper.get() & 0xFF) << 24);
+        value += (long)((byteWrapper.get() & 0xFF) << 16);
+        value += (long)((byteWrapper.get() & 0xFF) <<  8);
+        value += (long)((byteWrapper.get() & 0xFF) <<  0);
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        value  = 0L;
+        value += (long)((bytes[0] & 0xFF) << 56);
+        value += (long)((bytes[1] & 0xFF) << 48);
+        value += (long)((bytes[2] & 0xFF) << 40);
+        value += (long)((bytes[3] & 0xFF) << 32);
+        value += (long)((bytes[4] & 0xFF) << 24);
+        value += (long)((bytes[5] & 0xFF) << 16);
+        value += (long)((bytes[6] & 0xFF) <<  8);
+        value += (long)((bytes[7] & 0xFF) <<  0);
+    }
+
+    @Override
+    public long getValue() {
+        return value;
+    }
+
+    @Override
+    public void setValue(long value) {
+        this.value = value;
+    }
+
+}

Index: BasicHLAoctetPairLE.java
===================================================================
RCS file: BasicHLAoctetPairLE.java
diff -N BasicHLAoctetPairLE.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAoctetPairLE.java    13 Dec 2011 23:49:23 -0000      1.1
@@ -0,0 +1,63 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+import hla.rti1516e.encoding.HLAoctetPairLE;
+
+public class BasicHLAoctetPairLE extends DataElementBase implements
+        HLAoctetPairLE {
+
+    private short value;
+    
+    public BasicHLAoctetPairLE() {
+        value = 0;
+    }
+    
+    public BasicHLAoctetPairLE(short value) {
+        this.value = value;
+    }
+    
+    @Override
+    public int getOctetBoundary() {
+        return 2;
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        byteWrapper.align(getOctetBoundary());
+        byteWrapper.put((int)(value >>>  0) & 0xFF);
+        byteWrapper.put((int)(value >>>  8) & 0xFF);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return 2;
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        value  = 0;
+        value += (short)((byteWrapper.get() & 0xFF) <<  0);
+        value += (short)((byteWrapper.get() & 0xFF) <<  8);
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        value  = 0;
+        value += (short)((bytes[0] & 0xFF) <<  0);
+        value += (short)((bytes[1] & 0xFF) <<  8);
+    }
+
+    @Override
+    public short getValue() {
+        return value;
+    }
+
+    @Override
+    public void setValue(short value) {
+        this.value = value;
+    }
+
+}

Index: BasicHLAinteger32LE.java
===================================================================
RCS file: BasicHLAinteger32LE.java
diff -N BasicHLAinteger32LE.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAinteger32LE.java    13 Dec 2011 23:49:23 -0000      1.1
@@ -0,0 +1,69 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+import hla.rti1516e.encoding.HLAinteger32LE;
+
+public class BasicHLAinteger32LE extends DataElementBase implements
+        HLAinteger32LE {
+
+    private int value;
+    
+    public BasicHLAinteger32LE() {
+        value = 0;
+    }
+    
+    public BasicHLAinteger32LE(int value) {
+        this.value = value;
+    }
+    
+    @Override
+    public int getOctetBoundary() {
+        return 4;
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        byteWrapper.align(getOctetBoundary());
+        byteWrapper.put((int)(value >>>  0) & 0xFF);
+        byteWrapper.put((int)(value >>>  8) & 0xFF);
+        byteWrapper.put((int)(value >>> 16) & 0xFF);
+        byteWrapper.put((int)(value >>> 24) & 0xFF);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return 4;
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        value  = 0;
+        value += (int)((byteWrapper.get() & 0xFF) <<  0);
+        value += (int)((byteWrapper.get() & 0xFF) <<  8);
+        value += (int)((byteWrapper.get() & 0xFF) << 16);
+        value += (int)((byteWrapper.get() & 0xFF) << 24);
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        value  = 0;
+        value += (int)((bytes[0] & 0xFF) <<  0);
+        value += (int)((bytes[1] & 0xFF) <<  8);
+        value += (int)((bytes[2] & 0xFF) << 16);
+        value += (int)((bytes[3] & 0xFF) << 24);
+    }
+
+    @Override
+    public int getValue() {
+        return value;
+    }
+
+    @Override
+    public void setValue(int value) {
+        this.value = value;
+    }
+
+}

Index: BasicHLAfloat64LE.java
===================================================================
RCS file: BasicHLAfloat64LE.java
diff -N BasicHLAfloat64LE.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAfloat64LE.java      13 Dec 2011 23:49:23 -0000      1.1
@@ -0,0 +1,86 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+import hla.rti1516e.encoding.HLAfloat64LE;
+
+public class BasicHLAfloat64LE extends DataElementBase implements HLAfloat64LE 
{
+
+    private double value;
+    
+    public BasicHLAfloat64LE() {
+        value = 0.0;
+    }
+    
+    public BasicHLAfloat64LE(double d) {
+        value = d;
+    }
+    
+    @Override
+    public int getOctetBoundary() {
+        return 4;
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        byteWrapper.align(getOctetBoundary());
+        long d_as_l = Double.doubleToLongBits(value);
+        byteWrapper.put((int)(d_as_l >>>  0) & 0xFF);
+        byteWrapper.put((int)(d_as_l >>>  8) & 0xFF);
+        byteWrapper.put((int)(d_as_l >>> 16) & 0xFF);
+        byteWrapper.put((int)(d_as_l >>> 24) & 0xFF);
+        byteWrapper.put((int)(d_as_l >>> 32) & 0xFF);
+        byteWrapper.put((int)(d_as_l >>> 40) & 0xFF);
+        byteWrapper.put((int)(d_as_l >>> 48) & 0xFF);
+        byteWrapper.put((int)(d_as_l >>> 56) & 0xFF);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return 8;
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        long d_as_l;
+        d_as_l  = 0L;
+        d_as_l += (long)((byteWrapper.get() & 0xFF) <<  0);
+        d_as_l += (long)((byteWrapper.get() & 0xFF) <<  8);
+        d_as_l += (long)((byteWrapper.get() & 0xFF) << 16);
+        d_as_l += (long)((byteWrapper.get() & 0xFF) << 24);
+        d_as_l += (long)((byteWrapper.get() & 0xFF) << 32);
+        d_as_l += (long)((byteWrapper.get() & 0xFF) << 40);
+        d_as_l += (long)((byteWrapper.get() & 0xFF) << 48);
+        d_as_l += (long)((byteWrapper.get() & 0xFF) << 56);
+        value = Double.longBitsToDouble(d_as_l);
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        
+        long d_as_l;
+        d_as_l  = 0L;
+        d_as_l += (long)((bytes[0] & 0xFF) <<  0);
+        d_as_l += (long)((bytes[1] & 0xFF) <<  8);
+        d_as_l += (long)((bytes[2] & 0xFF) << 16);
+        d_as_l += (long)((bytes[3] & 0xFF) << 24);
+        d_as_l += (long)((bytes[4] & 0xFF) << 32);
+        d_as_l += (long)((bytes[5] & 0xFF) << 40);
+        d_as_l += (long)((bytes[6] & 0xFF) << 48);
+        d_as_l += (long)((bytes[7] & 0xFF) << 56);
+        value = Double.longBitsToDouble(d_as_l);
+    }
+
+    @Override
+    public double getValue() {
+        return value;
+    }
+
+    @Override
+    public void setValue(double value) {
+        this.value = value;
+    }
+
+}

Index: BasicHLAinteger16LE.java
===================================================================
RCS file: BasicHLAinteger16LE.java
diff -N BasicHLAinteger16LE.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAinteger16LE.java    13 Dec 2011 23:49:24 -0000      1.1
@@ -0,0 +1,63 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+import hla.rti1516e.encoding.HLAinteger16LE;
+
+public class BasicHLAinteger16LE extends DataElementBase implements
+        HLAinteger16LE {
+
+    private short value;
+    
+    public BasicHLAinteger16LE() {
+        value = 0;
+    }
+    
+    public BasicHLAinteger16LE(short value) {
+        this.value = value;
+    }
+    
+    @Override
+    public int getOctetBoundary() {
+        return 2;
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        byteWrapper.align(getOctetBoundary());
+        byteWrapper.put((int)(value >>>  0) & 0xFF);
+        byteWrapper.put((int)(value >>>  8) & 0xFF);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return 2;
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        value  = 0;
+        value += (short)((byteWrapper.get() & 0xFF) <<  0);
+        value += (short)((byteWrapper.get() & 0xFF) <<  8);
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        value  = 0;
+        value += (short)((bytes[0] & 0xFF) <<  0);
+        value += (short)((bytes[1] & 0xFF) <<  8);
+    }
+
+    @Override
+    public short getValue() {
+        return value;
+    }
+
+    @Override
+    public void setValue(short value) {
+        this.value = value;
+    }
+
+}

Index: DataElementBase.java
===================================================================
RCS file: DataElementBase.java
diff -N DataElementBase.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ DataElementBase.java        13 Dec 2011 23:49:24 -0000      1.1
@@ -0,0 +1,16 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DataElement;
+import hla.rti1516e.encoding.EncoderException;
+
+public abstract class DataElementBase implements DataElement {
+
+    @Override
+    public byte[] toByteArray() throws EncoderException {
+        ByteWrapper bw = new ByteWrapper(getEncodedLength());
+        encode(bw);
+        return bw.array();
+    }
+
+}

Index: BasicHLAfloat32BE.java
===================================================================
RCS file: BasicHLAfloat32BE.java
diff -N BasicHLAfloat32BE.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAfloat32BE.java      13 Dec 2011 23:49:24 -0000      1.1
@@ -0,0 +1,74 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+import hla.rti1516e.encoding.HLAfloat32BE;
+
+public class BasicHLAfloat32BE extends DataElementBase implements HLAfloat32BE 
{
+
+    private float value;
+    
+    public BasicHLAfloat32BE() {
+        value = 0.0f;
+    }
+    
+    public BasicHLAfloat32BE(float f) {
+        value = f;
+    }
+    
+    @Override
+    public int getOctetBoundary() {
+        return 4;
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        byteWrapper.align(getOctetBoundary());
+        int f_as_i = Float.floatToIntBits(value);
+        byteWrapper.put((int)(f_as_i >>> 24) & 0xFF);
+        byteWrapper.put((int)(f_as_i >>> 16) & 0xFF);
+        byteWrapper.put((int)(f_as_i >>>  8) & 0xFF);
+        byteWrapper.put((int)(f_as_i >>>  0) & 0xFF);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return 4;
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        int f_as_i;
+        f_as_i  = 0;
+        f_as_i += (int)((byteWrapper.get() & 0xFF) << 24);
+        f_as_i += (int)((byteWrapper.get() & 0xFF) << 16);
+        f_as_i += (int)((byteWrapper.get() & 0xFF) <<  8);
+        f_as_i += (int)((byteWrapper.get() & 0xFF) <<  0);
+        value = Float.intBitsToFloat(f_as_i);
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        
+        int f_as_i;
+        f_as_i  = 0;
+        f_as_i += (long)((bytes[4] & 0xFF) << 24);
+        f_as_i += (long)((bytes[5] & 0xFF) << 16);
+        f_as_i += (long)((bytes[6] & 0xFF) <<  8);
+        f_as_i += (long)((bytes[7] & 0xFF) <<  0);
+        value = Float.intBitsToFloat(f_as_i);
+    }
+
+    @Override
+    public float getValue() {
+        return value;
+    }
+
+    @Override
+    public void setValue(float value) {
+        this.value = value;
+    }
+
+}

Index: BasicHLAfloat64BE.java
===================================================================
RCS file: BasicHLAfloat64BE.java
diff -N BasicHLAfloat64BE.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAfloat64BE.java      13 Dec 2011 23:49:24 -0000      1.1
@@ -0,0 +1,86 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+import hla.rti1516e.encoding.HLAfloat64BE;
+
+public class BasicHLAfloat64BE extends DataElementBase implements HLAfloat64BE 
{
+
+    private double value;
+    
+    public BasicHLAfloat64BE() {
+        value = 0.0;
+    }
+    
+    public BasicHLAfloat64BE(double d) {
+        value = d;
+    }
+    
+    @Override
+    public int getOctetBoundary() {
+        return 4;
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        byteWrapper.align(getOctetBoundary());
+        long d_as_l = Double.doubleToLongBits(value);
+        byteWrapper.put((int)(d_as_l >>> 56) & 0xFF);
+        byteWrapper.put((int)(d_as_l >>> 48) & 0xFF);
+        byteWrapper.put((int)(d_as_l >>> 40) & 0xFF);
+        byteWrapper.put((int)(d_as_l >>> 32) & 0xFF);
+        byteWrapper.put((int)(d_as_l >>> 24) & 0xFF);
+        byteWrapper.put((int)(d_as_l >>> 16) & 0xFF);
+        byteWrapper.put((int)(d_as_l >>>  8) & 0xFF);
+        byteWrapper.put((int)(d_as_l >>>  0) & 0xFF);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return 8;
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        long d_as_l;
+        d_as_l  = 0L;
+        d_as_l += (long)((byteWrapper.get() & 0xFF) << 56);
+        d_as_l += (long)((byteWrapper.get() & 0xFF) << 48);
+        d_as_l += (long)((byteWrapper.get() & 0xFF) << 40);
+        d_as_l += (long)((byteWrapper.get() & 0xFF) << 32);
+        d_as_l += (long)((byteWrapper.get() & 0xFF) << 24);
+        d_as_l += (long)((byteWrapper.get() & 0xFF) << 16);
+        d_as_l += (long)((byteWrapper.get() & 0xFF) <<  8);
+        d_as_l += (long)((byteWrapper.get() & 0xFF) <<  0);
+        value = Double.longBitsToDouble(d_as_l);
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        
+        long d_as_l;
+        d_as_l  = 0L;
+        d_as_l += (long)((bytes[0] & 0xFF) << 56);
+        d_as_l += (long)((bytes[1] & 0xFF) << 48);
+        d_as_l += (long)((bytes[2] & 0xFF) << 40);
+        d_as_l += (long)((bytes[3] & 0xFF) << 32);
+        d_as_l += (long)((bytes[4] & 0xFF) << 24);
+        d_as_l += (long)((bytes[5] & 0xFF) << 16);
+        d_as_l += (long)((bytes[6] & 0xFF) <<  8);
+        d_as_l += (long)((bytes[7] & 0xFF) <<  0);
+        value = Double.longBitsToDouble(d_as_l);
+    }
+
+    @Override
+    public double getValue() {
+        return value;
+    }
+
+    @Override
+    public void setValue(double value) {
+        this.value = value;
+    }
+
+}

Index: BasicHLAinteger32BE.java
===================================================================
RCS file: BasicHLAinteger32BE.java
diff -N BasicHLAinteger32BE.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAinteger32BE.java    13 Dec 2011 23:49:24 -0000      1.1
@@ -0,0 +1,69 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+import hla.rti1516e.encoding.HLAinteger32BE;
+
+public class BasicHLAinteger32BE extends DataElementBase implements
+        HLAinteger32BE {
+
+    private int value;
+    
+    public BasicHLAinteger32BE() {
+        value = 0;
+    }
+    
+    public BasicHLAinteger32BE(int value) {
+        this.value = value;
+    }
+    
+    @Override
+    public int getOctetBoundary() {
+        return 4;
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        byteWrapper.align(getOctetBoundary());
+        byteWrapper.put((int)(value >>> 24) & 0xFF);
+        byteWrapper.put((int)(value >>> 16) & 0xFF);
+        byteWrapper.put((int)(value >>>  8) & 0xFF);
+        byteWrapper.put((int)(value >>>  0) & 0xFF);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return 4;
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        value  = 0;
+        value += (int)((byteWrapper.get() & 0xFF) << 24);
+        value += (int)((byteWrapper.get() & 0xFF) << 16);
+        value += (int)((byteWrapper.get() & 0xFF) <<  8);
+        value += (int)((byteWrapper.get() & 0xFF) <<  0);
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        value  = 0;
+        value += (int)((bytes[4] & 0xFF) << 24);
+        value += (int)((bytes[5] & 0xFF) << 16);
+        value += (int)((bytes[6] & 0xFF) <<  8);
+        value += (int)((bytes[7] & 0xFF) <<  0);
+    }
+
+    @Override
+    public int getValue() {
+        return value;
+    }
+
+    @Override
+    public void setValue(int value) {
+        this.value = value;
+    }
+
+}

Index: EncoderFactory.java
===================================================================
RCS file: EncoderFactory.java
diff -N EncoderFactory.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ EncoderFactory.java 13 Dec 2011 23:49:24 -0000      1.1
@@ -0,0 +1,260 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.*;
+
+public class EncoderFactory implements hla.rti1516e.encoding.EncoderFactory {
+    
+    public static final EncoderFactory CERTI_ENCODER_FACTORY = new 
EncoderFactory();
+    
+    public static EncoderFactory getInstance()
+    {
+       return CERTI_ENCODER_FACTORY;
+    }
+
+    @Override
+    public HLAASCIIchar createHLAASCIIchar() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public HLAASCIIchar createHLAASCIIchar(byte b) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public HLAASCIIstring createHLAASCIIstring() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public HLAASCIIstring createHLAASCIIstring(String s) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public HLAboolean createHLAboolean() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public HLAboolean createHLAboolean(boolean b) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public HLAbyte createHLAbyte() {
+        return new BasicHLAbyte();
+    }
+
+    @Override
+    public HLAbyte createHLAbyte(byte b) {
+        return new BasicHLAbyte(b);
+    }
+
+    @Override
+    public <T extends DataElement> HLAvariantRecord<T> createHLAvariantRecord(
+            T discriminant) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public HLAfixedRecord createHLAfixedRecord() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public <T extends DataElement> HLAfixedArray<T> createHLAfixedArray(
+            DataElementFactory<T> factory, int size) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public <T extends DataElement> HLAfixedArray<T> createHLAfixedArray(
+            T... elements) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public HLAfloat32BE createHLAfloat32BE() {
+        return new BasicHLAfloat32BE();
+    }
+
+    @Override
+    public HLAfloat32BE createHLAfloat32BE(float f) {
+        return new BasicHLAfloat32BE(f);
+    }
+
+    @Override
+    public HLAfloat32LE createHLAfloat32LE() {
+        return new BasicHLAfloat32LE();
+    }
+
+    @Override
+    public HLAfloat32LE createHLAfloat32LE(float f) {
+        return new BasicHLAfloat32LE(f);
+    }
+
+    @Override
+    public HLAfloat64BE createHLAfloat64BE() {
+        return new BasicHLAfloat64BE();
+    }
+
+    @Override
+    public HLAfloat64BE createHLAfloat64BE(double d) {
+        return new BasicHLAfloat64BE(d);
+    }
+
+    @Override
+    public HLAfloat64LE createHLAfloat64LE() {
+        return new BasicHLAfloat64LE();
+    }
+
+    @Override
+    public HLAfloat64LE createHLAfloat64LE(double d) {
+        return new BasicHLAfloat64LE(d);
+    }
+
+    @Override
+    public HLAinteger16BE createHLAinteger16BE() {
+        return new BasicHLAinteger16BE();
+    }
+
+    @Override
+    public HLAinteger16BE createHLAinteger16BE(short s) {
+        return new BasicHLAinteger16BE(s);
+    }
+
+    @Override
+    public HLAinteger16LE createHLAinteger16LE() {
+        return new BasicHLAinteger16LE();
+    }
+
+    @Override
+    public HLAinteger16LE createHLAinteger16LE(short s) {
+        return new BasicHLAinteger16LE(s);
+    }
+
+    @Override
+    public HLAinteger32BE createHLAinteger32BE() {
+        return new BasicHLAinteger32BE();
+    }
+
+    @Override
+    public HLAinteger32BE createHLAinteger32BE(int i) {
+        return new BasicHLAinteger32BE(i);
+    }
+
+    @Override
+    public HLAinteger32LE createHLAinteger32LE() {
+        return new BasicHLAinteger32LE();
+    }
+
+    @Override
+    public HLAinteger32LE createHLAinteger32LE(int i) {
+        return new BasicHLAinteger32LE(i);
+    }
+
+    @Override
+    public HLAinteger64BE createHLAinteger64BE() {
+        return new BasicHLAinteger64BE();
+    }
+
+    @Override
+    public HLAinteger64BE createHLAinteger64BE(long l) {
+        return new BasicHLAinteger64BE(l);
+    }
+
+    @Override
+    public HLAinteger64LE createHLAinteger64LE() {
+        return new BasicHLAinteger64LE();
+    }
+
+    @Override
+    public HLAinteger64LE createHLAinteger64LE(long l) {
+        return new BasicHLAinteger64LE(l);
+    }
+
+    @Override
+    public HLAoctet createHLAoctet() {
+        return new BasicHLAoctet();
+    }
+
+    @Override
+    public HLAoctet createHLAoctet(byte b) {
+        return new BasicHLAoctet(b);
+    }
+
+    @Override
+    public HLAoctetPairBE createHLAoctetPairBE() {
+       return new BasicHLAoctetPairBE();
+    }
+
+    @Override
+    public HLAoctetPairBE createHLAoctetPairBE(short s) {
+        return new BasicHLAoctetPairBE(s);
+    }
+
+    @Override
+    public HLAoctetPairLE createHLAoctetPairLE() {
+        return new BasicHLAoctetPairLE();
+    }
+
+    @Override
+    public HLAoctetPairLE createHLAoctetPairLE(short s) {
+        return new BasicHLAoctetPairLE(s);
+    }
+
+    @Override
+    public HLAopaqueData createHLAopaqueData() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public HLAopaqueData createHLAopaqueData(byte[] b) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public HLAunicodeChar createHLAunicodeChar() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public HLAunicodeChar createHLAunicodeChar(short c) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public HLAunicodeString createHLAunicodeString() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public HLAunicodeString createHLAunicodeString(String s) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public <T extends DataElement> HLAvariableArray<T> createHLAvariableArray(
+            DataElementFactory<T> factory, T... elements) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+}

Index: BasicHLAinteger16BE.java
===================================================================
RCS file: BasicHLAinteger16BE.java
diff -N BasicHLAinteger16BE.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAinteger16BE.java    13 Dec 2011 23:49:24 -0000      1.1
@@ -0,0 +1,63 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+import hla.rti1516e.encoding.HLAinteger16BE;
+
+public class BasicHLAinteger16BE extends DataElementBase implements
+        HLAinteger16BE {
+
+    private short value;
+    
+    public BasicHLAinteger16BE() {
+        value = 0;
+    }
+    
+    public BasicHLAinteger16BE(short value) {
+        this.value = value;
+    }
+    
+    @Override
+    public int getOctetBoundary() {
+        return 2;
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        byteWrapper.align(getOctetBoundary());
+        byteWrapper.put((int)(value >>>  8) & 0xFF);
+        byteWrapper.put((int)(value >>>  0) & 0xFF);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return 2;
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        value  = 0;
+        value += (short)((byteWrapper.get() & 0xFF) <<  8);
+        value += (short)((byteWrapper.get() & 0xFF) <<  0);
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        value  = 0;
+        value += (short)((bytes[0] & 0xFF) <<  8);
+        value += (short)((bytes[1] & 0xFF) <<  0);
+    }
+
+    @Override
+    public short getValue() {
+        return value;
+    }
+
+    @Override
+    public void setValue(short value) {
+        this.value = value;
+    }
+
+}

Index: BasicHLAoctet.java
===================================================================
RCS file: BasicHLAoctet.java
diff -N BasicHLAoctet.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAoctet.java  13 Dec 2011 23:49:24 -0000      1.1
@@ -0,0 +1,74 @@
+// ----------------------------------------------------------------------------
+// CERTI - HLA RunTime Infrastructure
+// Copyright (C) 2011 Eric Noulard
+//
+// This program is free software ; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public License
+// as published by the Free Software Foundation ; either version 2 of
+// the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY ; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program ; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// ----------------------------------------------------------------------------
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+
+public class BasicHLAoctet extends DataElementBase implements
+        hla.rti1516e.encoding.HLAoctet {
+    private byte value;
+    
+    public BasicHLAoctet(byte value) {
+        this.value = value;
+    }
+    
+    public BasicHLAoctet() {
+        value = 0;
+    }
+    
+    @Override
+    public int getOctetBoundary() {
+        return 1;
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        byteWrapper.align(getOctetBoundary());
+        byteWrapper.put(value);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return 1;
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        value = (byte)byteWrapper.get();
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        value = bytes[0];
+    }
+    
+    @Override
+    public byte getValue() {
+        return value;
+    }
+
+    @Override
+    public void setValue(byte value) {
+        this.value = value;
+    }
+}

Index: BasicHLAoctetPairBE.java
===================================================================
RCS file: BasicHLAoctetPairBE.java
diff -N BasicHLAoctetPairBE.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAoctetPairBE.java    13 Dec 2011 23:49:24 -0000      1.1
@@ -0,0 +1,63 @@
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+import hla.rti1516e.encoding.HLAoctetPairBE;
+
+public class BasicHLAoctetPairBE extends DataElementBase implements
+        HLAoctetPairBE {
+
+    private short value;
+    
+    public BasicHLAoctetPairBE() {
+        value = 0;
+    }
+    
+    public BasicHLAoctetPairBE(short value) {
+        this.value = value;
+    }
+    
+    @Override
+    public int getOctetBoundary() {
+        return 2;
+    }
+
+    @Override
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+        byteWrapper.align(getOctetBoundary());
+        byteWrapper.put((int)(value >>>  8) & 0xFF);
+        byteWrapper.put((int)(value >>>  0) & 0xFF);
+    }
+
+    @Override
+    public int getEncodedLength() {
+        return 2;
+    }
+
+    @Override
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        value  = 0;
+        value += (short)((byteWrapper.get() & 0xFF) <<  8);
+        value += (short)((byteWrapper.get() & 0xFF) <<  0);
+    }
+
+    @Override
+    public void decode(byte[] bytes) throws DecoderException {
+        value  = 0;
+        value += (short)((bytes[0] & 0xFF) <<  8);
+        value += (short)((bytes[1] & 0xFF) <<  0);
+    }
+
+    @Override
+    public short getValue() {
+        return value;
+    }
+
+    @Override
+    public void setValue(short value) {
+        this.value = value;
+    }
+
+}



reply via email to

[Prev in Thread] Current Thread [Next in Thread]