Package org.firebirdsql.gds.ng
Class EncodingSpecificDatatypeCoder
- java.lang.Object
-
- org.firebirdsql.gds.ng.EncodingSpecificDatatypeCoder
-
- All Implemented Interfaces:
DatatypeCoder
public final class EncodingSpecificDatatypeCoder extends java.lang.Object implements DatatypeCoder
Datatype coder wrapping another datatype coder and applying a specific encoding definition, while delegating other methods to the wrapped datatype coder.- Since:
- 4.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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.io.ReadercreateReader(java.io.InputStream inputStream)Creates a reader wrapping an input stream.java.io.WritercreateWriter(java.io.OutputStream outputStream)Creates a writer wrapping an input stream.booleandecodeBoolean(byte[] data)Decode boolean from supplied data.java.sql.DatedecodeDate(byte[] byte_int)Decode abytearray into aDatevalue.java.sql.DatedecodeDate(java.sql.Date d, java.util.Calendar cal)Decode aDatevalue using a givenCalendar.java.sql.DatedecodeDateCalendar(byte[] byte_int, java.util.Calendar c)DatatypeCoder.RawDateTimeStructdecodeDateRaw(byte[] byte_int)Decode abytearray into a raw date time struct.Decimal128decodeDecimal128(byte[] data)Decodes a decimal128 from byte array.Decimal64decodeDecimal64(byte[] data)Decodes a decimal64 from byte array.doubledecodeDouble(byte[] byte_int)Decode abytearray into adoublevalue.floatdecodeFloat(byte[] byte_int)Decode abytearray into afloatvalue.intdecodeInt(byte[] byte_int)Decode abytearray into anintvalue.intdecodeInt(byte[] bytes, int fromIndex)Decode abytearray to anintvalue.java.math.BigIntegerdecodeInt128(byte[] data)Decodes a BigInteger from byte array.longdecodeLong(byte[] byte_int)Decode abytearray into alongvalue.shortdecodeShort(byte[] byte_int)Decode abytearray into ashortvalue.shortdecodeShort(byte[] bytes, int fromIndex)Decode from abytearray to ashortvalue.java.lang.StringdecodeString(byte[] value)Decode an encodedbytearray into aStringusing the encoding of this datatype coder.java.sql.TimedecodeTime(byte[] int_byte)Decode abytearray into aTimevalue.java.sql.TimedecodeTime(java.sql.Time d, java.util.Calendar cal, boolean invertTimeZone)Decode aTimevalue using a givenCalendar.java.sql.TimedecodeTimeCalendar(byte[] int_byte, java.util.Calendar c)DatatypeCoder.RawDateTimeStructdecodeTimeRaw(byte[] int_byte)Decode abytearray into a raw date time struct.java.sql.TimestampdecodeTimestamp(byte[] byte_long)Decode a 8-bytebytearray into aTimestamp.java.sql.TimestampdecodeTimestamp(java.sql.Timestamp value, java.util.Calendar cal)Decode aTimestampvalue using a givenCalendar.java.sql.TimestampdecodeTimestamp(java.sql.Timestamp value, java.util.Calendar cal, boolean invertTimeZone)Decode aTimestampvalue using a givenCalendar.java.sql.TimestampdecodeTimestampCalendar(byte[] byte_long, java.util.Calendar c)DatatypeCoder.RawDateTimeStructdecodeTimestampRaw(byte[] byte_long)Decode a 8-bytebytearray into a raw date time struct.byte[]encodeBoolean(boolean value)Encodes boolean to 1 byte data.byte[]encodeDate(java.sql.Date d)Encode aDatevalue into abytearray.java.sql.DateencodeDate(java.sql.Date d, java.util.Calendar cal)Encode a givenDatevalue using a givenCalendar.byte[]encodeDateCalendar(java.sql.Date d, java.util.Calendar c)byte[]encodeDateRaw(DatatypeCoder.RawDateTimeStruct raw)Encode the date portion of a raw date time struct into abytearray.byte[]encodeDecimal128(Decimal128 decimal128)Encodes a decimal128 to a byte array.byte[]encodeDecimal64(Decimal64 decimal64)Encodes a decimal64 to a byte array.byte[]encodeDouble(double value)Encode adoublevalue as abytearray.byte[]encodeFloat(float value)Encode afloatvalue as abytearray.byte[]encodeInt(int value)Encode anintvalue as abytearray.voidencodeInt(int value, byte[] target, int fromIndex)Encode anintvalue into thetargetbyte array starting at indexfromIndex.byte[]encodeInt128(java.math.BigInteger bigInteger)Encodes a BigInteger to a 16-byte byte array.byte[]encodeLocalDate(int year, int month, int day)Encodes a java.time.LocalDate equivalent to date bytes.byte[]encodeLocalDateTime(int year, int month, int day, int hour, int minute, int second, int nanos)Encodes a java.time.LocalDateTime equivalent to timestamp bytes.byte[]encodeLocalTime(int hour, int minute, int second, int nanos)Encodes a java.time.LocalTime equivalent to time bytes.byte[]encodeLong(long value)Encode alongvalue as abytearray.byte[]encodeShort(int value)Encode ashortvalue as abytearray.voidencodeShort(int value, byte[] target, int fromIndex)Encode ashortvalue into thetargetbyte array starting at indexfromIndex.byte[]encodeShort(short value)Encode ashortvalue as abytearray.byte[]encodeString(java.lang.String value)Encode aStringvalue into abytearray using the encoding of this datatype coder.byte[]encodeTime(java.sql.Time d)Encode aTimevalue into abytearray.java.sql.TimeencodeTime(java.sql.Time d, java.util.Calendar cal, boolean invertTimeZone)Encode a givenTimevalue using a givenCalendar.byte[]encodeTimeCalendar(java.sql.Time d, java.util.Calendar c)byte[]encodeTimeRaw(DatatypeCoder.RawDateTimeStruct raw)Encode the time portion of a raw date time struct into abytearray.byte[]encodeTimestamp(java.sql.Timestamp value)Encode aTimestampas abytearray.java.sql.TimestampencodeTimestamp(java.sql.Timestamp value, java.util.Calendar cal)Encode aTimestampusing a givenCalendar.java.sql.TimestampencodeTimestamp(java.sql.Timestamp value, java.util.Calendar cal, boolean invertTimeZone)Encode aTimestampusing a givenCalendar.byte[]encodeTimestampCalendar(java.sql.Timestamp value, java.util.Calendar c)byte[]encodeTimestampRaw(DatatypeCoder.RawDateTimeStruct raw)Encode the date and time portions of a raw date time struct into abytearray.booleanequals(java.lang.Object o)DatatypeCoderforEncodingDefinition(EncodingDefinition encodingDefinition)Return a derived datatype coder that applies the supplied encoding definition for string conversions.EncodinggetEncoding()EncodingDefinitiongetEncodingDefinition()IEncodingFactorygetEncodingFactory()inthashCode()intsizeOfShort()The size of an encoded short in this data type coder.DatatypeCoderunwrap()Unwrap this datatype coder to its parent (or itself).
-
-
-
Method Detail
-
encodeString
public byte[] encodeString(java.lang.String value)
Description copied from interface:DatatypeCoderEncode aStringvalue into abytearray using the encoding of this datatype coder.- Specified by:
encodeStringin interfaceDatatypeCoder- Parameters:
value- TheStringto be encoded- Returns:
- The value of
valueas abytearray
-
createWriter
public java.io.Writer createWriter(java.io.OutputStream outputStream)
Description copied from interface:DatatypeCoderCreates a writer wrapping an input stream.- Specified by:
createWriterin interfaceDatatypeCoder- Parameters:
outputStream- Input stream- Returns:
- Writer applying the encoding of this datatype when writing
-
decodeString
public java.lang.String decodeString(byte[] value)
Description copied from interface:DatatypeCoderDecode an encodedbytearray into aStringusing the encoding of this datatype coder.- Specified by:
decodeStringin interfaceDatatypeCoder- Parameters:
value- The value to be decoded- Returns:
- The decoded
String
-
createReader
public java.io.Reader createReader(java.io.InputStream inputStream)
Description copied from interface:DatatypeCoderCreates a reader wrapping an input stream.- Specified by:
createReaderin interfaceDatatypeCoder- Parameters:
inputStream- Input stream- Returns:
- Reader applying the encoding of this datatype coder when reading
-
forEncodingDefinition
public DatatypeCoder forEncodingDefinition(EncodingDefinition encodingDefinition)
Description copied from interface:DatatypeCoderReturn a derived datatype coder that applies the supplied encoding definition for string conversions.- Specified by:
forEncodingDefinitionin interfaceDatatypeCoder- Parameters:
encodingDefinition- Encoding definition- Returns:
- Derived datatype coder (may be this instance if encoding definition is the same)
-
getEncodingDefinition
public EncodingDefinition getEncodingDefinition()
- Specified by:
getEncodingDefinitionin interfaceDatatypeCoder- Returns:
- The encoding definition used by this datatype coder for string conversions.
-
getEncoding
public Encoding getEncoding()
- Specified by:
getEncodingin interfaceDatatypeCoder- Returns:
- The encoding used by this datatype coder for string conversions.
-
unwrap
public DatatypeCoder unwrap()
Description copied from interface:DatatypeCoderUnwrap this datatype coder to its parent (or itself).- Specified by:
unwrapin interfaceDatatypeCoder- Returns:
- Return the parent of this datatype code, or itself if it has no parent.
-
equals
public boolean equals(java.lang.Object o)
Description copied from interface:DatatypeCoderEquality: same basic type (ie: wire protocol/JNA type + endianness) and same encoding definition.
This does not need to take into account the encoding factory, as usage should be limited to datatype coders derived from the same connection.
- Specified by:
equalsin interfaceDatatypeCoder- Overrides:
equalsin classjava.lang.Object- Parameters:
o- Object to compare to- Returns:
trueif other is an equivalent datatype coder.
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfaceDatatypeCoder- Overrides:
hashCodein classjava.lang.Object
-
sizeOfShort
public int sizeOfShort()
Description copied from interface:DatatypeCoderThe size of an encoded short in this data type coder.- Specified by:
sizeOfShortin interfaceDatatypeCoder- 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- Parameters:
value- The value to be encoded- Returns:
- The value of
valueencoded as abytearray - See Also:
DatatypeCoder.encodeShort(int)
-
encodeShort
public byte[] encodeShort(int value)
Description copied from interface:DatatypeCoderEncode ashortvalue as abytearray.- Specified by:
encodeShortin interfaceDatatypeCoder- Parameters:
value- The value to be encoded- Returns:
- The value of
valueencoded as abytearray
-
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- 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- 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- Parameters:
bytes- Thebytearray to be decodedfromIndex- The index to start reading- Returns:
- The
shortvalue of the decodedbytearray
-
encodeInt
public byte[] encodeInt(int value)
Description copied from interface:DatatypeCoderEncode anintvalue as abytearray.- Specified by:
encodeIntin interfaceDatatypeCoder- Parameters:
value- The value to be encoded- Returns:
- The value of
valueencoded as abytearray
-
encodeInt
public void encodeInt(int value, byte[] target, int fromIndex)Description copied from interface:DatatypeCoderEncode anintvalue into thetargetbyte array starting at indexfromIndex.- Specified by:
encodeIntin interfaceDatatypeCoder- Parameters:
value- The value to be encodedtarget- Target byte array of sufficient sizefromIndex- Index to start writing
-
decodeInt
public int decodeInt(byte[] byte_int)
Description copied from interface:DatatypeCoderDecode abytearray into anintvalue.- Specified by:
decodeIntin interfaceDatatypeCoder- Parameters:
byte_int- Thebytearray to be decoded- Returns:
- The
intvalue of the decodedbytearray
-
decodeInt
public int decodeInt(byte[] bytes, int fromIndex)Description copied from interface:DatatypeCoderDecode abytearray to anintvalue.- Specified by:
decodeIntin interfaceDatatypeCoder- Parameters:
bytes- Thebytearray to be decodedfromIndex- The index to start reading- Returns:
- The
intvalue of the decodedbytearray
-
encodeLong
public byte[] encodeLong(long value)
Description copied from interface:DatatypeCoderEncode alongvalue as abytearray.- Specified by:
encodeLongin interfaceDatatypeCoder- Parameters:
value- The value to be encoded- Returns:
- The value of
valueencoded as abytearray
-
decodeLong
public long decodeLong(byte[] byte_int)
Description copied from interface:DatatypeCoderDecode abytearray into alongvalue.- Specified by:
decodeLongin interfaceDatatypeCoder- Parameters:
byte_int- Thebytearray to be decoded- Returns:
- The
longvalue of the decodedbytearray
-
encodeFloat
public byte[] encodeFloat(float value)
Description copied from interface:DatatypeCoderEncode afloatvalue as abytearray.- Specified by:
encodeFloatin interfaceDatatypeCoder- Parameters:
value- The value to be encoded- Returns:
- The value of
valueencoded as abytearray
-
decodeFloat
public float decodeFloat(byte[] byte_int)
Description copied from interface:DatatypeCoderDecode abytearray into afloatvalue.- Specified by:
decodeFloatin interfaceDatatypeCoder- Parameters:
byte_int- Thebytearray to be decoded- Returns:
- The
floatvalue of the decodedbytearray
-
encodeDouble
public byte[] encodeDouble(double value)
Description copied from interface:DatatypeCoderEncode adoublevalue as abytearray.- Specified by:
encodeDoublein interfaceDatatypeCoder- Parameters:
value- The value to be encoded- Returns:
- The value of
valueencoded as abytearray
-
decodeDouble
public double decodeDouble(byte[] byte_int)
Description copied from interface:DatatypeCoderDecode abytearray into adoublevalue.- Specified by:
decodeDoublein interfaceDatatypeCoder- Parameters:
byte_int- Thebytearray to be decoded- Returns:
- The
doublevalue of the decodedbytearray
-
encodeTimestamp
public java.sql.Timestamp encodeTimestamp(java.sql.Timestamp value, java.util.Calendar cal)Description copied from interface:DatatypeCoderEncode aTimestampusing a givenCalendar.- Specified by:
encodeTimestampin interfaceDatatypeCoder- Parameters:
value- TheTimestampto be encodedcal- TheCalendarto be used for encoding, may benull
-
encodeTimestamp
public java.sql.Timestamp encodeTimestamp(java.sql.Timestamp value, java.util.Calendar cal, boolean invertTimeZone)Description copied from interface:DatatypeCoderEncode aTimestampusing a givenCalendar.- Specified by:
encodeTimestampin interfaceDatatypeCoder- Parameters:
value- TheTimestampto be encodedcal- TheCalendarto be used for encoding, may benullinvertTimeZone- Iftrue, the timezone offset value will be subtracted from the encoded value, otherwise it will be added- Returns:
- The encoded
Timestamp
-
encodeTimestamp
public byte[] encodeTimestamp(java.sql.Timestamp value)
Description copied from interface:DatatypeCoderEncode aTimestampas abytearray.- Specified by:
encodeTimestampin interfaceDatatypeCoder- Parameters:
value- TheTimestampto be encoded- Returns:
- The array of
bytes that represents the givenTimestampvalue
-
encodeTimestampRaw
public byte[] encodeTimestampRaw(DatatypeCoder.RawDateTimeStruct raw)
Description copied from interface:DatatypeCoderEncode the date and time portions of a raw date time struct into abytearray.- Specified by:
encodeTimestampRawin interfaceDatatypeCoder- Parameters:
raw- TheRawDateTimeStructto be encoded- Returns:
- The array of
bytes representing the date and time of the givenRawDateTimeStruct
-
encodeTimestampCalendar
public byte[] encodeTimestampCalendar(java.sql.Timestamp value, java.util.Calendar c)- Specified by:
encodeTimestampCalendarin interfaceDatatypeCoder
-
decodeTimestamp
public java.sql.Timestamp decodeTimestamp(java.sql.Timestamp value, java.util.Calendar cal)Description copied from interface:DatatypeCoderDecode aTimestampvalue using a givenCalendar.- Specified by:
decodeTimestampin interfaceDatatypeCoder- Parameters:
value- TheTimestampto be decodedcal- TheCalendarto be used in decoding, may benull- Returns:
- The decoded
Timestamp
-
decodeTimestamp
public java.sql.Timestamp decodeTimestamp(java.sql.Timestamp value, java.util.Calendar cal, boolean invertTimeZone)Description copied from interface:DatatypeCoderDecode aTimestampvalue using a givenCalendar.- Specified by:
decodeTimestampin interfaceDatatypeCoder- Parameters:
value- TheTimestampto be decodedcal- TheCalendarto be used in decoding, may benullinvertTimeZone- Iftrue, the timezone offset value will be subtracted from the decoded value, otherwise it will be added- Returns:
- The encoded
Timestamp
-
decodeTimestamp
public java.sql.Timestamp decodeTimestamp(byte[] byte_long)
Description copied from interface:DatatypeCoderDecode a 8-bytebytearray into aTimestamp.- Specified by:
decodeTimestampin interfaceDatatypeCoder- Parameters:
byte_long- Thebytearray to be decoded- Returns:
- A
Timestampvalue from the decoded bytes
-
decodeTimestampRaw
public DatatypeCoder.RawDateTimeStruct decodeTimestampRaw(byte[] byte_long)
Description copied from interface:DatatypeCoderDecode a 8-bytebytearray into a raw date time struct.- Specified by:
decodeTimestampRawin interfaceDatatypeCoder- Parameters:
byte_long- Thebytearray to be decoded- Returns:
- A
DatatypeCoder.RawDateTimeStruct.
-
decodeTimestampCalendar
public java.sql.Timestamp decodeTimestampCalendar(byte[] byte_long, java.util.Calendar c)- Specified by:
decodeTimestampCalendarin interfaceDatatypeCoder
-
encodeTime
public java.sql.Time encodeTime(java.sql.Time d, java.util.Calendar cal, boolean invertTimeZone)Description copied from interface:DatatypeCoderEncode a givenTimevalue using a givenCalendar.- Specified by:
encodeTimein interfaceDatatypeCoder- Parameters:
d- TheTimeto be encodedcal- TheCalendarto be used in the encoding, may benull- Returns:
- The encoded
Time
-
encodeTime
public byte[] encodeTime(java.sql.Time d)
Description copied from interface:DatatypeCoderEncode aTimevalue into abytearray.- Specified by:
encodeTimein interfaceDatatypeCoder- Parameters:
d- TheTimeto be encoded- Returns:
- The array of
bytes representing the givenTime
-
encodeTimeRaw
public byte[] encodeTimeRaw(DatatypeCoder.RawDateTimeStruct raw)
Description copied from interface:DatatypeCoderEncode the time portion of a raw date time struct into abytearray.- Specified by:
encodeTimeRawin interfaceDatatypeCoder- Parameters:
raw- TheRawDateTimeStructto be encoded- Returns:
- The array of
bytes representing the time of the givenRawDateTimeStruct
-
encodeTimeCalendar
public byte[] encodeTimeCalendar(java.sql.Time d, java.util.Calendar c)- Specified by:
encodeTimeCalendarin interfaceDatatypeCoder
-
decodeTime
public java.sql.Time decodeTime(java.sql.Time d, java.util.Calendar cal, boolean invertTimeZone)Description copied from interface:DatatypeCoderDecode aTimevalue using a givenCalendar.- Specified by:
decodeTimein interfaceDatatypeCoder- Parameters:
d- TheTimeto be decodedcal- TheCalendarto be used in the decoding, may benull- Returns:
- The decooded
Time
-
decodeTime
public java.sql.Time decodeTime(byte[] int_byte)
Description copied from interface:DatatypeCoderDecode abytearray into aTimevalue.- Specified by:
decodeTimein interfaceDatatypeCoder- Parameters:
int_byte- Thebytearray to be decoded- Returns:
- The decoded
Time
-
decodeTimeRaw
public DatatypeCoder.RawDateTimeStruct decodeTimeRaw(byte[] int_byte)
Description copied from interface:DatatypeCoderDecode abytearray into a raw date time struct.- Specified by:
decodeTimeRawin interfaceDatatypeCoder- Parameters:
int_byte- Thebytearray to be decoded- Returns:
- The
DatatypeCoder.RawDateTimeStruct
-
decodeTimeCalendar
public java.sql.Time decodeTimeCalendar(byte[] int_byte, java.util.Calendar c)- Specified by:
decodeTimeCalendarin interfaceDatatypeCoder
-
encodeDate
public java.sql.Date encodeDate(java.sql.Date d, java.util.Calendar cal)Description copied from interface:DatatypeCoderEncode a givenDatevalue using a givenCalendar.- Specified by:
encodeDatein interfaceDatatypeCoder- Parameters:
d- TheDateto be encodedcal- TheCalendarto be used in the encoding, may benull- Returns:
- The encoded
Date
-
encodeDate
public byte[] encodeDate(java.sql.Date d)
Description copied from interface:DatatypeCoderEncode aDatevalue into abytearray.- Specified by:
encodeDatein interfaceDatatypeCoder- Parameters:
d- TheDateto be encoded- Returns:
- The array of
bytes representing the givenDate
-
encodeDateRaw
public byte[] encodeDateRaw(DatatypeCoder.RawDateTimeStruct raw)
Description copied from interface:DatatypeCoderEncode the date portion of a raw date time struct into abytearray.- Specified by:
encodeDateRawin interfaceDatatypeCoder- Parameters:
raw- TheRawDateTimeStructto be encoded- Returns:
- The array of
bytes representing the date of the givenRawDateTimeStruct
-
encodeDateCalendar
public byte[] encodeDateCalendar(java.sql.Date d, java.util.Calendar c)- Specified by:
encodeDateCalendarin interfaceDatatypeCoder
-
decodeDate
public java.sql.Date decodeDate(java.sql.Date d, java.util.Calendar cal)Description copied from interface:DatatypeCoderDecode aDatevalue using a givenCalendar.- Specified by:
decodeDatein interfaceDatatypeCoder- Parameters:
d- TheDateto be decodedcal- TheCalendarto be used in the decoding, may benull- Returns:
- The decoded
Date
-
decodeDate
public java.sql.Date decodeDate(byte[] byte_int)
Description copied from interface:DatatypeCoderDecode abytearray into aDatevalue.- Specified by:
decodeDatein interfaceDatatypeCoder- Parameters:
byte_int- Thebytearray to be decoded- Returns:
- The decoded
Date
-
decodeDateRaw
public DatatypeCoder.RawDateTimeStruct decodeDateRaw(byte[] byte_int)
Description copied from interface:DatatypeCoderDecode abytearray into a raw date time struct.- Specified by:
decodeDateRawin interfaceDatatypeCoder- Parameters:
byte_int- Thebytearray to be decoded- Returns:
- The
DatatypeCoder.RawDateTimeStruct
-
decodeDateCalendar
public java.sql.Date decodeDateCalendar(byte[] byte_int, java.util.Calendar c)- Specified by:
decodeDateCalendarin interfaceDatatypeCoder
-
decodeBoolean
public boolean decodeBoolean(byte[] data)
Description copied from interface:DatatypeCoderDecode boolean from supplied data.- Specified by:
decodeBooleanin interfaceDatatypeCoder- Parameters:
data- (expected) 1 bytes- Returns:
falsewhen 0,truefor all other values
-
encodeBoolean
public byte[] encodeBoolean(boolean value)
Description copied from interface:DatatypeCoderEncodes boolean to 1 byte data.- Specified by:
encodeBooleanin interfaceDatatypeCoder- Parameters:
value- Boolean value to encode- Returns:
trueas 1,falseas 0.
-
encodeLocalTime
public byte[] encodeLocalTime(int hour, int minute, int second, int nanos)Description copied from interface:DatatypeCoderEncodes a java.time.LocalTime equivalent to time bytes.- Specified by:
encodeLocalTimein interfaceDatatypeCoder- Parameters:
hour- Number of hours (is assumed to be 0..23)minute- Number of minutes (is assumed to be 0..59)second- Number of seconds (is assumed to be 0..59)nanos- Sub-second nanoseconds (actual resolution is 100 microseconds, is assumed to be 0 .. 10^9 - 1 ns)- Returns:
- Byte array for time
-
encodeLocalDate
public byte[] encodeLocalDate(int year, int month, int day)Description copied from interface:DatatypeCoderEncodes a java.time.LocalDate equivalent to date bytes.- Specified by:
encodeLocalDatein interfaceDatatypeCoder- Parameters:
year- Yearmonth- Month (is assumed to be 1..12)day- Day (is assumed to be valid for year and month)- Returns:
- Byte array for date
-
encodeLocalDateTime
public byte[] encodeLocalDateTime(int year, int month, int day, int hour, int minute, int second, int nanos)Description copied from interface:DatatypeCoderEncodes a java.time.LocalDateTime equivalent to timestamp bytes.- Specified by:
encodeLocalDateTimein interfaceDatatypeCoder- Parameters:
year- Yearmonth- Month (is assumed to be 1..12)day- Day (is assumed to be valid for year and month)hour- Number of hours (is assumed to be 0..23)minute- Number of minutes (is assumed to be 0..59)second- Number of seconds (is assumed to be 0..59)nanos- Sub-second nanoseconds (actual resolution is 100 microseconds, is assumed to be 0 .. 10^9 - 1 ns)- Returns:
- Byte array for timestamp
-
decodeDecimal64
public Decimal64 decodeDecimal64(byte[] data)
Description copied from interface:DatatypeCoderDecodes a decimal64 from byte array.- Specified by:
decodeDecimal64in interfaceDatatypeCoder- Parameters:
data- Data to decode (expected 8 bytes)- Returns:
- Decimal64 value
-
encodeDecimal64
public byte[] encodeDecimal64(Decimal64 decimal64)
Description copied from interface:DatatypeCoderEncodes a decimal64 to a byte array.- Specified by:
encodeDecimal64in interfaceDatatypeCoder- Parameters:
decimal64- The decimal64 value to be encoded- Returns:
- Byte array for decimal64 value
-
decodeDecimal128
public Decimal128 decodeDecimal128(byte[] data)
Description copied from interface:DatatypeCoderDecodes a decimal128 from byte array.- Specified by:
decodeDecimal128in interfaceDatatypeCoder- Parameters:
data- Data to decode (expected 16 bytes)- Returns:
- Decimal128 value
-
encodeDecimal128
public byte[] encodeDecimal128(Decimal128 decimal128)
Description copied from interface:DatatypeCoderEncodes a decimal128 to a byte array.- Specified by:
encodeDecimal128in interfaceDatatypeCoder- Parameters:
decimal128- The decimal128 value to be encoded- Returns:
- Byte array for decimal128 value
-
decodeInt128
public java.math.BigInteger decodeInt128(byte[] data)
Description copied from interface:DatatypeCoderDecodes a BigInteger from byte array.- Specified by:
decodeInt128in interfaceDatatypeCoder- Parameters:
data- Data to decode (expected 16 bytes)- Returns:
- BigInteger value
-
encodeInt128
public byte[] encodeInt128(java.math.BigInteger bigInteger)
Description copied from interface:DatatypeCoderEncodes a BigInteger to a 16-byte byte array.The implementation expects to be passed a value that fits in 16 bytes. If a larger value is passed, and
IllegalArgumentExceptionis thrown.- Specified by:
encodeInt128in interfaceDatatypeCoder- Parameters:
bigInteger- The BigInteger value to be encoded- Returns:
- Byte array for bigInteger value
-
getEncodingFactory
public IEncodingFactory getEncodingFactory()
- Specified by:
getEncodingFactoryin interfaceDatatypeCoder- Returns:
- The encoding factory.
-
-