public class StructureDescriptor
extends java.lang.Object
| Constructor and Description |
|---|
StructureDescriptor() |
| Modifier and Type | Method and Description |
|---|---|
StructureDescriptor |
addBinaryField(java.lang.String name,
int length)
Add byte[] field.
|
StructureDescriptor |
addByteField(java.lang.String name) |
StructureDescriptor |
addField(java.lang.String name,
int sizeInBytes)
Add ingeter field to the structure.
|
StructureDescriptor |
addField(java.lang.String name,
int sizeInBytes,
java.lang.Class itemClass)
Add field specifying both size in bytes and class of the object to unpack to.
|
StructureDescriptor |
addIntField(java.lang.String name) |
StructureDescriptor |
addLongField(java.lang.String name) |
StructureDescriptor |
addShortField(java.lang.String name) |
StructureDescriptor |
addStringField(java.lang.String name,
int fieldSize)
Add string field to be packed usgin system default encoding (utf-8 mainly) into a fixed-size bytes slot.
|
int |
getSize()
Full structure size.
|
byte[] |
pack(Binder data)
Pack structure into binary data with given values
|
byte[] |
pack(Binder data,
boolean ignoreNonFields)
Pack structure using given values, optionally ignore keys that are not included in the structure.
|
void |
packTo(byte[] bytes,
int fromOffset,
Binder data,
boolean ignoreNonFields)
Pack structure with given data into existing binary array from a specified offset
|
Binder |
unpack(byte[] res)
unpack packed binary data
|
Binder |
unpack(byte[] data,
int fromOffset)
Unpack packed binary data staring from a given offset
|
public int getSize()
public Binder unpack(byte[] res)
res - public Binder unpack(byte[] data, int fromOffset)
data - fromOffset - wpublic StructureDescriptor addField(java.lang.String name, int sizeInBytes)
name - sizeInBytes - in network order, should be between 1 and 8 inclusivepublic StructureDescriptor addField(java.lang.String name, int sizeInBytes, java.lang.Class itemClass)
name - sizeInBytes - from 1 to 8 inclusiveitemClass - item unpack topublic byte[] pack(Binder data)
data - map of values. If any key in the map does not belong to the structure. throws IllegalArgumentExceptionpublic byte[] pack(Binder data, boolean ignoreNonFields)
data - map of values to packignoreNonFields - if true ignores any keys not listed in the structure, owtherwise throws IllegalArgumentException.public void packTo(byte[] bytes,
int fromOffset,
Binder data,
boolean ignoreNonFields)
bytes - binary array where to put datafromOffset - put packed data starting from this offsetdata - map of values to packignoreNonFields - if true ignores any keys not listed in the structure, owtherwise throws IllegalArgumentException.public StructureDescriptor addByteField(java.lang.String name)
public StructureDescriptor addShortField(java.lang.String name)
public StructureDescriptor addIntField(java.lang.String name)
public StructureDescriptor addLongField(java.lang.String name)
public StructureDescriptor addBinaryField(java.lang.String name, int length)
name - length - in bytes, any positive value.public StructureDescriptor addStringField(java.lang.String name, int fieldSize)
name - fieldSize -