Package io.permazen.encoding
Class Concat5Encoding<T,V1,V2,V3,V4,V5>
java.lang.Object
io.permazen.encoding.AbstractEncoding<T>
io.permazen.encoding.ConvertedEncoding<T,Tuple5<V1,V2,V3,V4,V5>>
io.permazen.encoding.Concat5Encoding<T,V1,V2,V3,V4,V5>
- Type Parameters:
T
- this encoding's value typeV1
- first tuple value typeV2
- second tuple value typeV3
- third tuple value typeV4
- fourth tuple value typeV5
- fifth tuple value type
- All Implemented Interfaces:
Encoding<T>
,NaturalSortAware
,Serializable
,Comparator<T>
public abstract class Concat5Encoding<T,V1,V2,V3,V4,V5>
extends ConvertedEncoding<T,Tuple5<V1,V2,V3,V4,V5>>
Support superclass for non-null
Encoding
s of values that can be decomposed into four 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
Concat5Encoding
(Class<T> type, Encoding<V1> encoding1, Encoding<V2> encoding2, Encoding<V3> encoding3, Encoding<V4> encoding4, Encoding<V5> encoding5, Function<? super T, ? extends V1> splitter1, Function<? super T, ? extends V2> splitter2, Function<? super T, ? extends V3> splitter3, Function<? super T, ? extends V4> splitter4, Function<? super T, ? extends V5> splitter5, Function<? super Tuple5<V1, V2, V3, V4, V5>, ? 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
-
Concat5Encoding
protected Concat5Encoding(Class<T> type, Encoding<V1> encoding1, Encoding<V2> encoding2, Encoding<V3> encoding3, Encoding<V4> encoding4, Encoding<V5> encoding5, Function<? super T, ? extends V1> splitter1, Function<? super T, ? extends V2> splitter2, Function<? super T, ? extends V3> splitter3, Function<? super T, ? extends V4> splitter4, Function<? super T, ? extends V5> splitter5, Function<? super Tuple5<V1, V2, V3, V4, V5>, ? extends T> joiner) Constructor.- Parameters:
type
- Java type for this encoding's valuesencoding1
- first value encodingencoding2
- second value encodingencoding3
- third value encodingencoding4
- fourth value encodingencoding5
- fifth value encodingsplitter1
- first value splittersplitter2
- second value splittersplitter3
- third value splittersplitter4
- fourth value splittersplitter5
- fifth value splitterjoiner
- value joiner from tuple- Throws:
IllegalArgumentException
- if any parameter is null
-
-
Method Details
-
getTuple5Encoding
-