edu.nps.moves.dis
Class VariableDatum

java.lang.Object
  extended by edu.nps.moves.dis.VariableDatum
All Implemented Interfaces:
java.io.Serializable

@Entity
public class VariableDatum
extends java.lang.Object
implements java.io.Serializable

Section 5.2.32. Variable Datum Record Copyright (c) 2008-2010, MOVES Institute, Naval Postgraduate School. All rights reserved. This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html

Author:
DMcG
See Also:
Serialized Form

Field Summary
protected  byte[] variableData
          Data must be specified on eight bit boundaries.
protected  long variableDatumID
          ID of the variable datum
protected  long variableDatumLength
          length of the variable datums, in bits.
 
Constructor Summary
VariableDatum()
          Constructor
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 boolean equalsImpl(java.lang.Object obj)
          Compare all fields that contribute to the state, ignoring transient and static fields, for this and the supplied object
 int getMarshalledSize()
           
 long getPk_VariableDatum()
          Primary key for hibernate, not part of the DIS standard
 byte[] getVariableData()
           
 long getVariableDatumID()
           
 long getVariableDatumLength()
           
 void marshal(java.nio.ByteBuffer buff)
          Packs a Pdu into the ByteBuffer.
 void marshal(java.io.DataOutputStream dos)
           
 void setPk_VariableDatum(long pKeyName)
          Hibernate primary key, not part of the DIS standard
 void setVariableData(byte[] pVariableData)
          The byte array in VariableDatum must be an eight-byte quanta.
 void setVariableDatumID(long pVariableDatumID)
           
 void setVariableDatumLength(long pVariableDatumLength)
           
 void unmarshal(java.nio.ByteBuffer buff)
          Unpacks a Pdu from the underlying data.
 void unmarshal(java.io.DataInputStream dis)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

variableDatumID

protected long variableDatumID
ID of the variable datum


variableDatumLength

protected long variableDatumLength
length of the variable datums, in bits. Note that this is not programmatically tied to the size of the variableData. The variable data field may be 64 bits long but only 16 bits of it could actually be used.


variableData

protected byte[] variableData
Data must be specified on eight bit boundaries. Padding is automatically added to fall on a 64 bit boundary.

Constructor Detail

VariableDatum

public VariableDatum()
Constructor

Method Detail

getMarshalledSize

public int getMarshalledSize()

getPk_VariableDatum

public long getPk_VariableDatum()
Primary key for hibernate, not part of the DIS standard


setPk_VariableDatum

public void setPk_VariableDatum(long pKeyName)
Hibernate primary key, not part of the DIS standard


setVariableDatumID

public void setVariableDatumID(long pVariableDatumID)

getVariableDatumID

public long getVariableDatumID()

setVariableDatumLength

public void setVariableDatumLength(long pVariableDatumLength)

getVariableDatumLength

public long getVariableDatumLength()

setVariableData

public void setVariableData(byte[] pVariableData)
The byte array in VariableDatum must be an eight-byte quanta. So a 12 byte piece of data must be expanded to 16 bytes. This changes the nature of the set method from the usual, since we have to allocate a new array to hold the data.

Parameters:
pVariableData -

getVariableData

public byte[] getVariableData()

marshal

public void marshal(java.io.DataOutputStream dos)

unmarshal

public void unmarshal(java.io.DataInputStream dis)

marshal

public void marshal(java.nio.ByteBuffer buff)
Packs a Pdu into the ByteBuffer.

Parameters:
buff - The ByteBuffer at the position to begin writing
Throws:
java.nio.BufferOverflowException - if buff is too small
java.nio.ReadOnlyBufferException - if buff is read only
Since:
??
See Also:
ByteBuffer

unmarshal

public void unmarshal(java.nio.ByteBuffer buff)
Unpacks a Pdu from the underlying data.

Parameters:
buff - The ByteBuffer at the position to begin reading
Throws:
java.nio.BufferUnderflowException - if buff is too small
Since:
??
See Also:
ByteBuffer

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

equalsImpl

public boolean equalsImpl(java.lang.Object obj)
Compare all fields that contribute to the state, ignoring transient and static fields, for this and the supplied object

Parameters:
obj - the object to compare to
Returns:
true if the objects are equal, false otherwise.