|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.helidb.lang.serializer.ConfigurableLengthIntegerSerializer
public class ConfigurableLengthIntegerSerializer
This Serializer
serializes Integer
values to a
big-endian byte
array of configurable size. The length of the byte
array determines how big the serialized Integer
:s can be. For a byte
array length of n
bytes, the maximum Integer
value is 2^(n*8)
, except if n
has its maximum value of 4, then the maximum
value is Integer.MAX_VALUE
. Negative values are only supported if
n == 4
.
IntegerSerializer
,
ConfigurableLengthIntegerNullSerializer
,
ConfigurableLengthLongSerializer
,
Integer
Constructor Summary | |
---|---|
ConfigurableLengthIntegerSerializer(int dataSize)
Create a new Serializer . |
Method Summary | |
---|---|
int |
getSerializedSize()
If the serialized data produced by this serializer always is of the same size, return that size (in number of bytes). |
Integer |
interpret(byte[] barr)
Interpret the data in the byte array to an object of the type
handled by the Serializer implementation. |
Integer |
interpret(byte[] barr,
int offset,
int length)
Interpret the data in the byte array to an object of the type
handled by the Serializer implementation. |
boolean |
isNullValuesPermitted()
Does this serializer permit null values? |
Integer |
read(InputStream is,
int dataSize)
Read a value from the InputStream . |
Integer |
read(RandomAccess ra,
int dataSize)
Read a value from the RandomAccess ' current position. |
Integer |
readInteger(InputStream is)
Read an Integer value from the current position of the InputStream . |
Integer |
readInteger(RandomAccess ra)
Read an Integer value from the current position of the RandomAccess . |
byte[] |
serialize(Integer val)
Serialize the supplied object into a new byte array. |
int |
serialize(Integer val,
byte[] barr,
int offset)
Serialize the supplied object into the byte array. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ConfigurableLengthIntegerSerializer(int dataSize) throws IllegalArgumentException
Serializer
.
dataSize
- The number of bytes used to represent the Integer
:s.
IllegalArgumentException
- If the data size is not in the range
1 <= dataSize <= 4
.Method Detail |
---|
public final int getSerializedSize()
Serializer
-1
is
returned.
getSerializedSize
in interface Serializer<Integer>
-1
if the size of the serialized data is variable.public boolean isNullValuesPermitted()
Serializer
null
values?
isNullValuesPermitted
in interface Serializer<Integer>
false
, always.public Integer interpret(byte[] barr, int offset, int length)
Serializer
byte
array to an object of the type
handled by the Serializer
implementation.
interpret
in interface Serializer<Integer>
barr
- The byte
array containing the data.offset
- The start position of the data.length
- The length of the data.
Serializer.interpret(byte[])
public Integer interpret(byte[] barr)
Serializer
byte
array to an object of the type
handled by the Serializer
implementation.
interpret
in interface Serializer<Integer>
barr
- The byte
array containing the data.
Serializer.interpret(byte[], int, int)
public int serialize(Integer val, byte[] barr, int offset)
Serializer
byte
array.
serialize
in interface Serializer<Integer>
val
- The object to serialize.barr
- The byte array to serialize it to.offset
- The start position to write data at in the byte array.
public byte[] serialize(Integer val)
Serializer
byte
array.
serialize
in interface Serializer<Integer>
val
- The object to serialize.
byte
array.public Integer readInteger(RandomAccess ra) throws NotEnoughDataException, WrappedIOException
Integer
value from the current position of the RandomAccess
.
ra
- The RandomAccess
to read from. The current position of
this is incremented by the number of bytes that are used to represent the
Integer
value.
Integer
value.
NotEnoughDataException
- If enough data cannot be read.
WrappedIOException
- On I/O errors.public Integer readInteger(InputStream is) throws NotEnoughDataException, WrappedIOException
Integer
value from the current position of the InputStream
.
is
- The InputStream
to read from. The current position of
the stream is incremented by the number of bytes that are used to
represent the Integer
value.
Integer
value.
NotEnoughDataException
- If enough data cannot be read.
WrappedIOException
- If an IOException
is encountered while
reading data.public Integer read(RandomAccess ra, int dataSize)
Serializer
RandomAccess
' current position. The
position in the RandomAccess
is incremented by size
bytes.
read
in interface Serializer<Integer>
ra
- The RandomAccess
to read from.dataSize
- The size of the value.
public Integer read(InputStream is, int dataSize)
Serializer
InputStream
.
read
in interface Serializer<Integer>
is
- The InputStream
to read from.dataSize
- The size of the value.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |