public interface DatatypeCoder
| Modifier and Type | Interface and Description |
|---|---|
static class |
DatatypeCoder.RawDateTimeStruct
Raw date/time value.
|
| Modifier and Type | Field and Description |
|---|---|
static int |
FRACTIONS_PER_HOUR |
static int |
FRACTIONS_PER_MILLISECOND |
static int |
FRACTIONS_PER_MINUTE |
static int |
FRACTIONS_PER_SECOND |
static int |
NANOSECONDS_PER_FRACTION |
| Modifier and Type | Method and Description |
|---|---|
java.io.Reader |
createReader(java.io.InputStream inputStream)
Creates a reader wrapping an input stream.
|
java.io.Writer |
createWriter(java.io.OutputStream outputStream)
Creates a writer wrapping an input stream.
|
boolean |
decodeBoolean(byte[] data)
Decode boolean from supplied data.
|
java.sql.Date |
decodeDate(byte[] byte_int)
Decode a
byte array into a Date value. |
java.sql.Date |
decodeDate(java.sql.Date d,
java.util.Calendar cal)
Decode a
Date value using a given Calendar. |
java.sql.Date |
decodeDateCalendar(byte[] byte_int,
java.util.Calendar c) |
DatatypeCoder.RawDateTimeStruct |
decodeDateRaw(byte[] byte_int)
Decode a
byte array into a raw date time struct. |
Decimal128 |
decodeDecimal128(byte[] data)
Decodes a decimal128 from byte array.
|
Decimal64 |
decodeDecimal64(byte[] data)
Decodes a decimal64 from byte array.
|
double |
decodeDouble(byte[] byte_int)
Decode a
byte array into a double value. |
float |
decodeFloat(byte[] byte_int)
Decode a
byte array into a float value. |
int |
decodeInt(byte[] byte_int)
Decode a
byte array into an int value. |
int |
decodeInt(byte[] bytes,
int fromIndex)
Decode a
byte array to an int value. |
java.math.BigInteger |
decodeInt128(byte[] data)
Decodes a BigInteger from byte array.
|
long |
decodeLong(byte[] byte_int)
Decode a
byte array into a long value. |
short |
decodeShort(byte[] byte_int)
Decode a
byte array into a short value. |
short |
decodeShort(byte[] bytes,
int fromIndex)
Decode from a
byte array to a short value. |
java.lang.String |
decodeString(byte[] value)
Decode an encoded
byte array into a String using the encoding of this datatype coder. |
java.sql.Time |
decodeTime(byte[] int_byte)
Decode a
byte array into a Time value. |
java.sql.Time |
decodeTime(java.sql.Time d,
java.util.Calendar cal,
boolean invertTimeZone)
Decode a
Time value using a given Calendar. |
java.sql.Time |
decodeTimeCalendar(byte[] int_byte,
java.util.Calendar c) |
DatatypeCoder.RawDateTimeStruct |
decodeTimeRaw(byte[] int_byte)
Decode a
byte array into a raw date time struct. |
java.sql.Timestamp |
decodeTimestamp(byte[] byte_long)
Decode a 8-byte
byte array into a Timestamp. |
java.sql.Timestamp |
decodeTimestamp(java.sql.Timestamp value,
java.util.Calendar cal)
Decode a
Timestamp value using a given Calendar. |
java.sql.Timestamp |
decodeTimestamp(java.sql.Timestamp value,
java.util.Calendar cal,
boolean invertTimeZone)
Decode a
Timestamp value using a given Calendar. |
java.sql.Timestamp |
decodeTimestampCalendar(byte[] byte_long,
java.util.Calendar c) |
DatatypeCoder.RawDateTimeStruct |
decodeTimestampRaw(byte[] byte_long)
Decode a 8-byte
byte array into a raw date time struct. |
byte[] |
encodeBoolean(boolean value)
Encodes boolean to 1 byte data.
|
byte[] |
encodeDate(java.sql.Date d)
Encode a
Date value into a byte array. |
java.sql.Date |
encodeDate(java.sql.Date d,
java.util.Calendar cal)
Encode a given
Date value using a given Calendar. |
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 a
byte array. |
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 a
double value as a byte array. |
byte[] |
encodeFloat(float value)
Encode a
float value as a byte array. |
byte[] |
encodeInt(int value)
Encode an
int value as a byte array. |
void |
encodeInt(int value,
byte[] target,
int fromIndex)
Encode an
int value into the target byte array starting at index fromIndex. |
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 a
long value as a byte array. |
byte[] |
encodeShort(int value)
Encode a
short value as a byte array. |
void |
encodeShort(int value,
byte[] target,
int fromIndex)
Encode a
short value into the target byte array starting at index fromIndex. |
byte[] |
encodeShort(short value)
Encode a
short value as a byte array. |
byte[] |
encodeString(java.lang.String value)
Encode a
String value into a byte array using the encoding of this datatype coder. |
byte[] |
encodeTime(java.sql.Time d)
Encode a
Time value into a byte array. |
java.sql.Time |
encodeTime(java.sql.Time d,
java.util.Calendar cal,
boolean invertTimeZone)
Encode a given
Time value using a given Calendar. |
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 a
byte array. |
byte[] |
encodeTimestamp(java.sql.Timestamp value)
Encode a
Timestamp as a byte array. |
java.sql.Timestamp |
encodeTimestamp(java.sql.Timestamp value,
java.util.Calendar cal)
Encode a
Timestamp using a given Calendar. |
java.sql.Timestamp |
encodeTimestamp(java.sql.Timestamp value,
java.util.Calendar cal,
boolean invertTimeZone)
Encode a
Timestamp using a given Calendar. |
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 a
byte array. |
boolean |
equals(java.lang.Object other) |
DatatypeCoder |
forEncodingDefinition(EncodingDefinition encodingDefinition)
Return a derived datatype coder that applies the supplied encoding definition for string conversions.
|
Encoding |
getEncoding() |
EncodingDefinition |
getEncodingDefinition() |
IEncodingFactory |
getEncodingFactory() |
int |
hashCode() |
int |
sizeOfShort()
The size of an encoded short in this data type coder.
|
DatatypeCoder |
unwrap()
Unwrap this datatype coder to its parent (or itself).
|
static final int NANOSECONDS_PER_FRACTION
static final int FRACTIONS_PER_MILLISECOND
static final int FRACTIONS_PER_SECOND
static final int FRACTIONS_PER_MINUTE
static final int FRACTIONS_PER_HOUR
int sizeOfShort()
2 or 4 bytes)byte[] encodeShort(short value)
short value as a byte array.value - The value to be encodedvalue encoded as a byte arrayencodeShort(int)byte[] encodeShort(int value)
short value as a byte array.value - The value to be encodedvalue encoded as a byte arrayvoid encodeShort(int value,
byte[] target,
int fromIndex)
short value into the target byte array starting at index fromIndex.value - The value to be encodedtarget - Target byte array of sufficient size (warning: this may be datatype coder specific)fromIndex - Index to start writingshort decodeShort(byte[] byte_int)
byte array into a short value.byte_int - The byte array to be decodedshort value of the decoded byte arrayshort decodeShort(byte[] bytes,
int fromIndex)
byte array to a short value.bytes - The byte array to be decodedfromIndex - The index to start readingshort value of the decoded byte arraybyte[] encodeInt(int value)
int value as a byte array.value - The value to be encodedvalue encoded as a byte arrayvoid encodeInt(int value,
byte[] target,
int fromIndex)
int value into the target byte array starting at index fromIndex.value - The value to be encodedtarget - Target byte array of sufficient sizefromIndex - Index to start writingint decodeInt(byte[] byte_int)
byte array into an int value.byte_int - The byte array to be decodedint value of the decoded byte arrayint decodeInt(byte[] bytes,
int fromIndex)
byte array to an int value.bytes - The byte array to be decodedfromIndex - The index to start readingint value of the decoded byte arraybyte[] encodeLong(long value)
long value as a byte array.value - The value to be encodedvalue encoded as a byte arraylong decodeLong(byte[] byte_int)
byte array into a long value.byte_int - The byte array to be decodedlong value of the decoded byte arraybyte[] encodeFloat(float value)
float value as a byte array.value - The value to be encodedvalue encoded as a byte arrayfloat decodeFloat(byte[] byte_int)
byte array into a float value.byte_int - The byte array to be decodedfloat value of the decoded byte arraybyte[] encodeDouble(double value)
double value as a byte array.value - The value to be encodedvalue encoded as a byte arraydouble decodeDouble(byte[] byte_int)
byte array into a double value.byte_int - The byte array to be decodeddouble value of the decoded byte arraybyte[] encodeString(java.lang.String value)
String value into a byte array using the encoding of this datatype coder.value - The String to be encodedvalue as a byte arrayjava.io.Writer createWriter(java.io.OutputStream outputStream)
outputStream - Input streamjava.lang.String decodeString(byte[] value)
byte array into a String using the encoding of this datatype coder.value - The value to be decodedStringjava.io.Reader createReader(java.io.InputStream inputStream)
inputStream - Input streamjava.sql.Timestamp encodeTimestamp(java.sql.Timestamp value,
java.util.Calendar cal)
Timestamp using a given Calendar.value - The Timestamp to be encodedcal - The Calendar to be used for encoding, may be nulljava.sql.Timestamp encodeTimestamp(java.sql.Timestamp value,
java.util.Calendar cal,
boolean invertTimeZone)
Timestamp using a given Calendar.value - The Timestamp to be encodedcal - The Calendar to be used for encoding,
may be nullinvertTimeZone - If true, the timezone offset value
will be subtracted from the encoded value, otherwise it will
be addedTimestampbyte[] encodeTimestamp(java.sql.Timestamp value)
Timestamp as a byte array.value - The Timestamp to be encodedbytes that represents the given Timestamp valuebyte[] encodeTimestampRaw(DatatypeCoder.RawDateTimeStruct raw)
byte array.raw - The RawDateTimeStruct to be encodedbytes representing the date and time of the given RawDateTimeStructbyte[] encodeTimestampCalendar(java.sql.Timestamp value,
java.util.Calendar c)
java.sql.Timestamp decodeTimestamp(java.sql.Timestamp value,
java.util.Calendar cal)
Timestamp value using a given Calendar.value - The Timestamp to be decodedcal - The Calendar to be used in decoding,
may be nullTimestampjava.sql.Timestamp decodeTimestamp(java.sql.Timestamp value,
java.util.Calendar cal,
boolean invertTimeZone)
Timestamp value using a given Calendar.value - The Timestamp to be decodedcal - The Calendar to be used in decoding,
may be nullinvertTimeZone - If true, the timezone offset value
will be subtracted from the decoded value, otherwise it will
be addedTimestampjava.sql.Timestamp decodeTimestamp(byte[] byte_long)
byte array into a Timestamp.byte_long - The byte array to be decodedTimestamp value from the decoded bytesDatatypeCoder.RawDateTimeStruct decodeTimestampRaw(byte[] byte_long)
byte array into a raw date time struct.byte_long - The byte array to be decodedDatatypeCoder.RawDateTimeStruct.java.sql.Timestamp decodeTimestampCalendar(byte[] byte_long,
java.util.Calendar c)
java.sql.Time encodeTime(java.sql.Time d,
java.util.Calendar cal,
boolean invertTimeZone)
Time value using a given Calendar.d - The Time to be encodedcal - The Calendar to be used in the encoding, may be nullTimebyte[] encodeTime(java.sql.Time d)
Time value into a byte array.d - The Time to be encodedbytes representing the given Timebyte[] encodeTimeRaw(DatatypeCoder.RawDateTimeStruct raw)
byte array.raw - The RawDateTimeStruct to be encodedbytes representing the time of the given RawDateTimeStructbyte[] encodeTimeCalendar(java.sql.Time d,
java.util.Calendar c)
java.sql.Time decodeTime(java.sql.Time d,
java.util.Calendar cal,
boolean invertTimeZone)
Time value using a given Calendar.d - The Time to be decodedcal - The Calendar to be used in the decoding, may be nullTimejava.sql.Time decodeTime(byte[] int_byte)
byte array into a Time value.int_byte - The byte array to be decodedTimeDatatypeCoder.RawDateTimeStruct decodeTimeRaw(byte[] int_byte)
byte array into a raw date time struct.int_byte - The byte array to be decodedDatatypeCoder.RawDateTimeStructjava.sql.Time decodeTimeCalendar(byte[] int_byte,
java.util.Calendar c)
java.sql.Date encodeDate(java.sql.Date d,
java.util.Calendar cal)
Date value using a given Calendar.d - The Date to be encodedcal - The Calendar to be used in the encoding, may be nullDatebyte[] encodeDate(java.sql.Date d)
Date value into a byte array.d - The Date to be encodedbytes representing the given Datebyte[] encodeDateRaw(DatatypeCoder.RawDateTimeStruct raw)
byte array.raw - The RawDateTimeStruct to be encodedbytes representing the date of the given RawDateTimeStructbyte[] encodeDateCalendar(java.sql.Date d,
java.util.Calendar c)
java.sql.Date decodeDate(java.sql.Date d,
java.util.Calendar cal)
Date value using a given Calendar.d - The Date to be decodedcal - The Calendar to be used in the decoding, may be nullDatejava.sql.Date decodeDate(byte[] byte_int)
byte array into a Date value.byte_int - The byte array to be decodedDateDatatypeCoder.RawDateTimeStruct decodeDateRaw(byte[] byte_int)
byte array into a raw date time struct.byte_int - The byte array to be decodedDatatypeCoder.RawDateTimeStructjava.sql.Date decodeDateCalendar(byte[] byte_int,
java.util.Calendar c)
boolean decodeBoolean(byte[] data)
data - (expected) 1 bytesfalse when 0, true for all other valuesbyte[] encodeBoolean(boolean value)
value - Boolean value to encodetrue as 1, false as 0.byte[] encodeLocalTime(int hour,
int minute,
int second,
int nanos)
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)byte[] encodeLocalDate(int year,
int month,
int day)
year - Yearmonth - Month (is assumed to be 1..12)day - Day (is assumed to be valid for year and month)byte[] encodeLocalDateTime(int year,
int month,
int day,
int hour,
int minute,
int second,
int nanos)
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)Decimal64 decodeDecimal64(byte[] data)
data - Data to decode (expected 8 bytes)byte[] encodeDecimal64(Decimal64 decimal64)
decimal64 - The decimal64 value to be encodedDecimal128 decodeDecimal128(byte[] data)
data - Data to decode (expected 16 bytes)byte[] encodeDecimal128(Decimal128 decimal128)
decimal128 - The decimal128 value to be encodedjava.math.BigInteger decodeInt128(byte[] data)
data - Data to decode (expected 16 bytes)byte[] encodeInt128(java.math.BigInteger bigInteger)
The implementation expects to be passed a value that fits in 16 bytes. If a larger value is passed, and
IllegalArgumentException is thrown.
bigInteger - The BigInteger value to be encodedIEncodingFactory getEncodingFactory()
EncodingDefinition getEncodingDefinition()
Encoding getEncoding()
DatatypeCoder forEncodingDefinition(EncodingDefinition encodingDefinition)
encodingDefinition - Encoding definitionDatatypeCoder unwrap()
boolean equals(java.lang.Object other)
Equality: 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.
equals in class java.lang.Objectother - Object to compare totrue if other is an equivalent datatype coder.int hashCode()
hashCode in class java.lang.ObjectCopyright © 2001-2022 Jaybird (Firebird JDBC/JCA) team. All rights reserved.