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
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
ConstructorsConstructorDescriptionBigEndianDatatypeCoder(IEncodingFactory encodingFactory) Creates a big-endian datatype coder for native access on big-endian platforms. -
Method Summary
Modifier and TypeMethodDescriptionshortdecodeShort(byte[] byte_int) Decode abytearray into ashortvalue.shortdecodeShort(byte[] bytes, int fromIndex) Decode from abytearray to ashortvalue.voidencodeShort(int value, byte[] target, int fromIndex) Encode ashortvalue into thetargetbyte array starting at indexfromIndex.byte[]encodeShort(short value) Encode ashortvalue as abytearray.static BigEndianDatatypeCoderforEncodingFactory(IEncodingFactory encodingFactory) Returns an instance ofBigEndianDatatypeCoderfor an encoding factory.intThe size of an encoded short in this data type coder.Methods inherited from class org.firebirdsql.gds.ng.DefaultDatatypeCoder
createReader, createWriter, decodeBoolean, decodeDate, decodeDate, decodeDateCalendar, decodeDateRaw, decodeDecimal128, decodeDecimal64, decodeDouble, decodeFloat, decodeInt, decodeInt, decodeInt128, decodeLong, decodeString, decodeTime, decodeTime, decodeTimeCalendar, decodeTimeRaw, decodeTimestamp, decodeTimestamp, decodeTimestamp, decodeTimestampCalendar, decodeTimestampRaw, encodeBoolean, encodeDate, encodeDate, encodeDateCalendar, encodeDateRaw, encodeDecimal128, encodeDecimal64, encodeDouble, encodeFloat, encodeInt, encodeInt, encodeInt128, encodeLocalDate, encodeLocalDateTime, encodeLocalTime, encodeLong, encodeShort, encodeString, encodeTime, encodeTime, encodeTimeCalendar, encodeTimeRaw, encodeTimestamp, encodeTimestamp, encodeTimestamp, encodeTimestampCalendar, encodeTimestampRaw, equals, forEncodingDefinition, getEncoding, getEncodingDefinition, getEncodingFactory, hashCode, intToBytes, unwrap
-
Constructor Details
-
BigEndianDatatypeCoder
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 Details
-
forEncodingFactory
Returns an instance ofBigEndianDatatypeCoderfor an encoding factory.- Parameters:
encodingFactory- Encoding factory- Returns:
- Datatype coder, this might be a cached instance
-
sizeOfShort
public int sizeOfShort()Description copied from interface:DatatypeCoderThe size of an encoded short in this data type coder.- Specified by:
sizeOfShortin interfaceDatatypeCoder- Overrides:
sizeOfShortin classDefaultDatatypeCoder- Returns:
- The size of an encoded short (either
2or4bytes)
-
encodeShort
public byte[] encodeShort(short value) Description copied from interface:DatatypeCoderEncode ashortvalue as abytearray.- Specified by:
encodeShortin interfaceDatatypeCoder- Overrides:
encodeShortin classDefaultDatatypeCoder- Parameters:
value- The value to be encoded- Returns:
- The value of
valueencoded as abytearray - See Also:
-
encodeShort
public void encodeShort(int value, byte[] target, int fromIndex) Description copied from interface:DatatypeCoderEncode ashortvalue into thetargetbyte array starting at indexfromIndex.- Specified by:
encodeShortin interfaceDatatypeCoder- Overrides:
encodeShortin 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:DatatypeCoderDecode abytearray into ashortvalue.- Specified by:
decodeShortin interfaceDatatypeCoder- Overrides:
decodeShortin classDefaultDatatypeCoder- Parameters:
byte_int- Thebytearray to be decoded- Returns:
- The
shortvalue of the decodedbytearray
-
decodeShort
public short decodeShort(byte[] bytes, int fromIndex) Description copied from interface:DatatypeCoderDecode from abytearray to ashortvalue.- Specified by:
decodeShortin interfaceDatatypeCoder- Overrides:
decodeShortin classDefaultDatatypeCoder- Parameters:
bytes- Thebytearray to be decodedfromIndex- The index to start reading- Returns:
- The
shortvalue of the decodedbytearray
-