Package org.firebirdsql.gds.ng.jna
Class BigEndianDatatypeCoder
- java.lang.Object
-
- org.firebirdsql.gds.ng.DefaultDatatypeCoder
-
- org.firebirdsql.gds.ng.jna.BigEndianDatatypeCoder
-
- All Implemented Interfaces:
DatatypeCoder
public final class BigEndianDatatypeCoder extends DefaultDatatypeCoder
Datatype encoder and decoder for big endian platforms, specifically for use with the Firebird client library.For wire protocol use
DefaultDatatypeCoder
.- Since:
- 3.0
- Author:
- Mark Rotteveel
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.firebirdsql.gds.ng.DatatypeCoder
DatatypeCoder.RawDateTimeStruct
-
-
Field Summary
-
Fields inherited from interface org.firebirdsql.gds.ng.DatatypeCoder
FRACTIONS_PER_HOUR, FRACTIONS_PER_MILLISECOND, FRACTIONS_PER_MINUTE, FRACTIONS_PER_SECOND, NANOSECONDS_PER_FRACTION
-
-
Constructor Summary
Constructors Constructor Description BigEndianDatatypeCoder(IEncodingFactory encodingFactory)
Creates a big-endian datatype coder for native access on big-endian platforms.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description short
decodeShort(byte[] byte_int)
Decode abyte
array into ashort
value.short
decodeShort(byte[] bytes, int fromIndex)
Decode from abyte
array to ashort
value.void
encodeShort(int value, byte[] target, int fromIndex)
Encode ashort
value into thetarget
byte array starting at indexfromIndex
.byte[]
encodeShort(short value)
Encode ashort
value as abyte
array.static BigEndianDatatypeCoder
forEncodingFactory(IEncodingFactory encodingFactory)
Returns an instance ofBigEndianDatatypeCoder
for an encoding factory.int
sizeOfShort()
The size of an encoded short in this data type coder.-
Methods inherited from class org.firebirdsql.gds.ng.DefaultDatatypeCoder
createReader, createWriter, decodeBoolean, decodeDate, decodeDateCalendar, decodeDateRaw, decodeDecimal128, decodeDecimal64, decodeDouble, decodeFloat, decodeInt, decodeInt, decodeInt128, decodeLocalDate, decodeLocalDateTime, decodeLocalTime, decodeLong, decodeString, decodeTime, decodeTimeCalendar, decodeTimeRaw, decodeTimestamp, decodeTimestampCalendar, decodeTimestampRaw, encodeBoolean, encodeDate, encodeDateCalendar, encodeDateRaw, encodeDecimal128, encodeDecimal64, encodeDouble, encodeFloat, encodeInt, encodeInt, encodeInt128, encodeLocalDate, encodeLocalDateTime, encodeLocalTime, encodeLong, encodeShort, encodeString, encodeTime, encodeTimeCalendar, encodeTimeRaw, encodeTimestamp, encodeTimestampCalendar, encodeTimestampRaw, equals, forEncodingDefinition, getEncoding, getEncodingDefinition, getEncodingFactory, hashCode, intToBytes, unwrap
-
-
-
-
Constructor Detail
-
BigEndianDatatypeCoder
public BigEndianDatatypeCoder(IEncodingFactory encodingFactory)
Creates a big-endian datatype coder for native access on big-endian platforms.In almost all cases, it is better to use
forEncodingFactory(IEncodingFactory)
.- Parameters:
encodingFactory
- Encoding factory
-
-
Method Detail
-
forEncodingFactory
public static BigEndianDatatypeCoder forEncodingFactory(IEncodingFactory encodingFactory)
Returns an instance ofBigEndianDatatypeCoder
for an encoding factory.- Parameters:
encodingFactory
- Encoding factory- Returns:
- Datatype coder, this might be a cached instance
-
sizeOfShort
public int sizeOfShort()
Description copied from interface:DatatypeCoder
The size of an encoded short in this data type coder.- Specified by:
sizeOfShort
in interfaceDatatypeCoder
- Overrides:
sizeOfShort
in classDefaultDatatypeCoder
- Returns:
- The size of an encoded short (either
2
or4
bytes)
-
encodeShort
public byte[] encodeShort(short value)
Description copied from interface:DatatypeCoder
Encode ashort
value as abyte
array.- Specified by:
encodeShort
in interfaceDatatypeCoder
- Overrides:
encodeShort
in classDefaultDatatypeCoder
- Parameters:
value
- The value to be encoded- Returns:
- The value of
value
encoded as abyte
array - See Also:
DatatypeCoder.encodeShort(int)
-
encodeShort
public void encodeShort(int value, byte[] target, int fromIndex)
Description copied from interface:DatatypeCoder
Encode ashort
value into thetarget
byte array starting at indexfromIndex
.- Specified by:
encodeShort
in interfaceDatatypeCoder
- Overrides:
encodeShort
in classDefaultDatatypeCoder
- Parameters:
value
- The value to be encodedtarget
- Target byte array of sufficient size (warning: this may be datatype coder specific)fromIndex
- Index to start writing
-
decodeShort
public short decodeShort(byte[] byte_int)
Description copied from interface:DatatypeCoder
Decode abyte
array into ashort
value.- Specified by:
decodeShort
in interfaceDatatypeCoder
- Overrides:
decodeShort
in classDefaultDatatypeCoder
- Parameters:
byte_int
- Thebyte
array to be decoded- Returns:
- The
short
value of the decodedbyte
array
-
decodeShort
public short decodeShort(byte[] bytes, int fromIndex)
Description copied from interface:DatatypeCoder
Decode from abyte
array to ashort
value.- Specified by:
decodeShort
in interfaceDatatypeCoder
- Overrides:
decodeShort
in classDefaultDatatypeCoder
- Parameters:
bytes
- Thebyte
array to be decodedfromIndex
- The index to start reading- Returns:
- The
short
value of the decodedbyte
array
-
-