Package io.permazen.encoding
Class Concat3Encoding<T,V1,V2,V3>
java.lang.Object
io.permazen.encoding.AbstractEncoding<T>
io.permazen.encoding.ConvertedEncoding<T,Tuple3<V1,V2,V3>>
io.permazen.encoding.Concat3Encoding<T,V1,V2,V3>
- Type Parameters:
T
- this encoding's value typeV1
- first tuple value typeV2
- second tuple value typeV3
- third tuple value type
- All Implemented Interfaces:
Encoding<T>
,NaturalSortAware
,Serializable
,Comparator<T>
Support superclass for non-null
Encoding
s of values that can be decomposed into three component values.
Null values are not supported by this class and there is no default value.
- See Also:
-
Field Summary
Fields inherited from class io.permazen.encoding.ConvertedEncoding
converter, delegate
Fields inherited from class io.permazen.encoding.AbstractEncoding
encodingId, typeToken
Fields inherited from interface io.permazen.encoding.Encoding
MAX_ARRAY_DIMENSIONS
-
Constructor Summary
ModifierConstructorDescriptionprotected
Concat3Encoding
(Class<T> type, Encoding<V1> encoding1, Encoding<V2> encoding2, Encoding<V3> encoding3, Function<? super T, ? extends V1> splitter1, Function<? super T, ? extends V2> splitter2, Function<? super T, ? extends V3> splitter3, Function<? super Tuple3<V1, V2, V3>, ? extends T> joiner) Constructor. -
Method Summary
Methods inherited from class io.permazen.encoding.ConvertedEncoding
compare, equals, fromString, getFixedWidth, hashCode, hasPrefix0x00, hasPrefix0xff, read, skip, sortsNaturally, supportsNull, toString, validate, write
Methods inherited from class io.permazen.encoding.AbstractEncoding
getDefaultValue, getDefaultValueBytes, getEncodingId, getTypeToken, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
Methods inherited from interface io.permazen.encoding.Encoding
convert, decode, encode, getKeyRange, validateAndWrite
-
Constructor Details
-
Concat3Encoding
protected Concat3Encoding(Class<T> type, Encoding<V1> encoding1, Encoding<V2> encoding2, Encoding<V3> encoding3, Function<? super T, ? extends V1> splitter1, Function<? super T, ? extends V2> splitter2, Function<? super T, ? extends V3> splitter3, Function<? super Tuple3<V1, V2, V3>, ? extends T> joiner) Constructor.- Parameters:
type
- Java type for this encoding's valuesencoding1
- first value encodingencoding2
- second value encodingencoding3
- third value encodingsplitter1
- first value splittersplitter2
- second value splittersplitter3
- third value splitterjoiner
- value joiner from tuple- Throws:
IllegalArgumentException
- if any parameter is null
-
-
Method Details
-
getTuple3Encoding
-