public class InstantType extends NonNullFieldType<Instant>
Instant
type. Null values are not supported by this class.
Binary encoding is via two consecutive LongEncoder
-encoded values, epoch seconds
followed by nanoseconds.
name, NAME_PATTERN, REFERENCE_TYPE_NAME, signature, typeToken
Constructor and Description |
---|
InstantType() |
Modifier and Type | Method and Description |
---|---|
int |
compare(Instant instant1,
Instant instant2)
Order two field values.
|
Instant |
fromParseableString(ParseContext ctx)
Parse a value previously encoded by
toParseableString() as a self-delimited String
and positioned at the start of the given parsing context. |
boolean |
hasPrefix0x00()
Determine whether any of this field type's encoded values start with a
0x00 byte. |
boolean |
hasPrefix0xff()
Determine whether any of this field type's encoded values start with a
0xff byte. |
Instant |
read(ByteReader reader)
Read a value from the given input.
|
void |
skip(ByteReader reader)
Read and discard a value from the given input.
|
String |
toParseableString(Instant instant)
Encode a possibly null value as a
String for later decoding by fromParseableString() . |
void |
write(ByteWriter writer,
Instant instant)
Write a value to the given output.
|
validate
convert, equals, fromString, genericizeForIndex, getDefaultValue, getDefaultValueObject, getEncodingSignature, getKeyRange, getName, getTypeToken, hashCode, toString, toString, validateAndWrite
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
comparing, comparing, comparingDouble, comparingInt, comparingLong, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
public Instant read(ByteReader reader)
FieldType
public void write(ByteWriter writer, Instant instant)
FieldType
public void skip(ByteReader reader)
FieldType
public Instant fromParseableString(ParseContext ctx)
FieldType
toParseableString()
as a self-delimited String
and positioned at the start of the given parsing context.fromParseableString
in class FieldType<Instant>
ctx
- parse context starting with a string previously encoded via toParseableString()
public String toParseableString(Instant instant)
FieldType
String
for later decoding by fromParseableString()
.
The string value must be self-delimiting, i.e., decodable even when followed by arbitrary additional characters,
and must not start with whitespace or closing square bracket ("]"
).
In addition, each of the characters in the returned String
must be one of the valid XML characters
(tab, newline, carriage return, \u0020 - \ud7ff
, and \ue000 - \fffdf
).
toParseableString
in class FieldType<Instant>
instant
- actual value (possibly null)value
acceptable to fromParseableString()
public int compare(Instant instant1, Instant instant2)
FieldType
This method must provide a total ordering of all supported Java values that is consistent with the database ordering,
i.e., the unsigned lexicographical ordering of the corresponding byte[]
encoded field values.
If null is a supported Java value, then the returned Comparator
must accept null parameters without
throwing an exception (note, this is a stronger requirement than the Comparator
interface normally requires).
Note: by convention, null values usually sort last.
public boolean hasPrefix0x00()
FieldType
0x00
byte.
Certain optimizations are possible when this is not the case. It is safe for this method to always return true.
Note: changing the return value of this method usually means changing the binary encoding, resulting in an incompatible type.
The implementation in FieldType
returns true
.
hasPrefix0x00
in class FieldType<Instant>
0x00
existspublic boolean hasPrefix0xff()
FieldType
0xff
byte.
Certain optimizations are possible when this is not the case. It is safe for this method to always return true.
Note: changing the return value of this method usually means changing the binary encoding, resulting in an incompatible type.
The implementation in FieldType
returns true
.
hasPrefix0xff
in class FieldType<Instant>
0xff
existsCopyright © 2022. All rights reserved.