public interface DurableEncoding
| Modifier and Type | Interface and Description |
|---|---|
static class |
DurableEncoding.Descriptor |
static interface |
DurableEncoding.SkippableIterator |
| Modifier and Type | Method and Description |
|---|---|
default int |
blockSize()
Describes the number of primitive values which should be encoded as a block.
|
default DurableEncoding.SkippableIterator |
decode(DurableInput in)
Decodes a block of primitive values, returning an iterator of thunks representing each individual value.
|
static int |
defaultComparator(java.lang.Object a,
java.lang.Object b) |
DurableEncoding.Descriptor |
descriptor()
A plain-text description of the encoding, which is also used as its identity.
|
default DurableEncoding |
elementEncoding(long index)
The encoding for an element at `index` within a list.
|
default void |
encode(IList<java.lang.Object> primitives,
DurableOutput out)
Encodes the block of primitive values to `out`.
|
default boolean |
encodesLists()
Describes whether this encoding can be used to encode lists.
|
default boolean |
encodesMaps()
Describes whether this encoding can be used to encode maps (and implicitly sets, which are treated as maps without
values).
|
default boolean |
encodesPrimitives()
Describes whether this encoding can be used to encode non-collection types.
|
default boolean |
hasOrdering()
Describes whether this encoding can be used with sorted collections.
|
default java.util.Comparator<java.lang.Object> |
keyComparator() |
default DurableEncoding |
keyEncoding()
The encoding for any key in a map or set.
|
default java.util.function.BiPredicate<java.lang.Object,java.lang.Object> |
keyEquality()
The key equality used within maps and sets.
|
default java.util.function.ToIntFunction<java.lang.Object> |
keyHash()
The hash function used within maps and sets.
|
default DurableEncoding |
valueEncoding(java.lang.Object key)
The encoding for any value corresponding to `key` within a map.
|
DurableEncoding.Descriptor descriptor()
default boolean encodesMaps()
default java.util.function.ToIntFunction<java.lang.Object> keyHash()
default java.util.function.BiPredicate<java.lang.Object,java.lang.Object> keyEquality()
default DurableEncoding keyEncoding()
default DurableEncoding valueEncoding(java.lang.Object key)
default boolean encodesLists()
default DurableEncoding elementEncoding(long index)
default boolean encodesPrimitives()
default int blockSize()
default void encode(IList<java.lang.Object> primitives, DurableOutput out)
default DurableEncoding.SkippableIterator decode(DurableInput in)
default boolean hasOrdering()
default java.util.Comparator<java.lang.Object> keyComparator()
static int defaultComparator(java.lang.Object a,
java.lang.Object b)