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 shortdecodeShort(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.intsizeOfShort()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 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:
DatatypeCoder.encodeShort(int)
-
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
-
-