Contents | Package | Class | Tree | Deprecated | Index | Help
PREV | NEXT SHOW LISTS | HIDE LISTS

Class mil.navy.nps.dis.VariableDatum

java.lang.Object
    |
    +----mil.navy.nps.dis.PduElement
            |
            +----mil.navy.nps.dis.VariableDatum

public class VariableDatum
extends PduElement
Version:
1.0
Author:
Don McGregor (http://www.stl.nps.navy.mil/~mcgredo)
Location:
http://www.stl.nps.navy.mil/dis-java-vrml/mil/navy/nps/dis/VariableDatum.java
Hierarchy Diagram:
Summary:
These fields shall specify the types of variable datum, their length, and their value.
Explanation
VariableDatum contains a variable amount of data (surprise.) It consists of a 32-bit enumeration that describes the datum, a 32-bit field that descibes the lenght of the data (in bits) and a data region long enough to contain the data. The data region is allocated in chunks of 64 bits; for example, if the length field specifies a data length of 48 bits, a full 64 bits will be allocated to hold the data, and the remaining 16 bits would be unused padding. Per the specification, padding must be set to zero.

The VariableDatum is used in a variety of places, most notably the DataPdu.

This inherits from PduElement, which means that it must know how to serialize, deSerialize, clone, print its values, and determine its length when serialized.

History:
21Nov96 /Don McGregor /New
10Mar97 /Don McGregor /changes for javadoc
16Apr97 /Don McGregor /PrintStream passed to printValues
06May97 /Don McGregor /Bug fixes: block count not beeing computed correctly; moved computation to central place, made all computations of block size point there. Accessor method variableDatumValue() was always returning null. Bug reports submitted by Dmitry Azovtsev (azov@logos.cyber.mephi.ru).
8Dec97 /Ronan Fauglas /changes for documentation templates + complements in documentation
11Dec97 /Ronan Fauglas /changes access methods names from "variable()" to "getVariable()"
References:
DIS Data Dictionary: Variable Datum Record
DIS specification : IEEE 1278.1, Section 5.3.32
See Also:
PduElement, mil.navy.nps.util.SerializationInterface, EntityPosition, DataPdu

Field Summary
static int  sizeOf
Constant value--size of an empty object WHEN WRITTEN TO THE WIRE; here :sizeOf = 8 bytes.
int  variableDatumID
The Variable Datum ID shall be represented by a 32-bit enumeration.
int  variableDatumLength
This field shall specify the length of the variable datum in bits.
long[]  variableDatumValue
These field(s) shall store the value of the variable datum defined by the Variable Datum ID and Variable Datum length.
 

Constructor Summary
 VariableDatum()
Default constructor--fills with zeros for all values.
 

Method Summary
java.lang.Object  clone()
 
void  deSerialize(java.io.DataInputStream inputStream)
 
int  getVariableDatumID()
 
int  getVariableDatumLength()
 
long[]  getVariableDatumValue()
 
int  length()
 
void  printValues(int indentLevel, java.io.PrintStream printStream)
 
void  serialize(java.io.DataOutputStream outputStream)
 
void  setVariableDatumID(int pVariableDatumID)
 
void  setVariableDatumLength(int pVariableDatumLength)
 
void  setVariableDatumValue(long[] pVariableDatumValue)
 
 
Methods inherited from class mil.navy.nps.dis.PduElement
 clone, deSerialize, length, printValues, serialize
 
Methods inherited from class java.lang.Object
 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

variableDatumID

int variableDatumID
The Variable Datum ID shall be represented by a 32-bit enumeration.
Value:
Enumeration; see references below for values. *
References:
DIS Data Dictionary : Datum ID Field
See section 7 in the EBV-DOC

variableDatumLength

int variableDatumLength
This field shall specify the length of the variable datum in bits.
References:
DIS Data Dictionary : Variable Datum Length Field

variableDatumValue

long[] variableDatumValue
These field(s) shall store the value of the variable datum defined by the Variable Datum ID and Variable Datum length.
Explanation:
The Variable Datum Value is stored in an array of long integers so as to respect the convention to have a multiple of 64 length.
References:
DIS Data Dictionary : Variable Datum Value/Padding Field

sizeOf

public static final int sizeOf
Constant value--size of an empty object WHEN WRITTEN TO THE WIRE; here :sizeOf = 8 bytes.
Constructor Detail

VariableDatum

public VariableDatum()
Default constructor--fills with zeros for all values.
Method Detail

clone

public java.lang.Object clone()
Overrides:
clone in class PduElement

serialize

public void serialize(java.io.DataOutputStream outputStream)
Throws:
java.lang.RuntimeException - when IO error occurs.
Overrides:
serialize in class PduElement

deSerialize

public void deSerialize(java.io.DataInputStream inputStream)
Throws:
java.lang.RuntimeException - when IO error occurs.
Overrides:
deSerialize in class PduElement

length

public int length()
Overrides:
length in class PduElement

printValues

public void printValues(int indentLevel,
                        java.io.PrintStream printStream)
Overrides:
printValues in class PduElement

getVariableDatumID

public int getVariableDatumID()

setVariableDatumID

public void setVariableDatumID(int pVariableDatumID)

getVariableDatumLength

public int getVariableDatumLength()

setVariableDatumLength

public void setVariableDatumLength(int pVariableDatumLength)

getVariableDatumValue

public long[] getVariableDatumValue()
Throws:
java.lang.RuntimeException - if Index error occurs while copying array
java.lang.RuntimeException - if error occurs while copying array.

setVariableDatumValue

public void setVariableDatumValue(long[] pVariableDatumValue)

Contents | Package | Class | Tree | Deprecated | Index | Help
PREV | NEXT SHOW LISTS | HIDE LISTS