Package io.permazen.encoding
Class Concat4Encoding<T,V1,V2,V3,V4>
java.lang.Object
io.permazen.encoding.AbstractEncoding<T>
io.permazen.encoding.ConvertedEncoding<T,Tuple4<V1,V2,V3,V4>>
io.permazen.encoding.Concat4Encoding<T,V1,V2,V3,V4>
- Type Parameters:
T
- this encoding's value typeV1
- first tuple value typeV2
- second tuple value typeV3
- third tuple value typeV4
- fourth tuple value type
- All Implemented Interfaces:
Encoding<T>
,NaturalSortAware
,Serializable
,Comparator<T>
- Direct Known Subclasses:
DoubleSummaryStatisticsEncoding
,IntSummaryStatisticsEncoding
,LongSummaryStatisticsEncoding
public abstract class Concat4Encoding<T,V1,V2,V3,V4>
extends ConvertedEncoding<T,Tuple4<V1,V2,V3,V4>>
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
Concat4Encoding
(Class<T> type, Encoding<V1> encoding1, Encoding<V2> encoding2, Encoding<V3> encoding3, Encoding<V4> encoding4, 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 Tuple4<V1, V2, V3, V4>, ? 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
-
Concat4Encoding
protected Concat4Encoding(Class<T> type, Encoding<V1> encoding1, Encoding<V2> encoding2, Encoding<V3> encoding3, Encoding<V4> encoding4, 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 Tuple4<V1, V2, V3, V4>, ? extends T> joiner) Constructor.- Parameters:
type
- Java type for this encoding's valuesencoding1
- first value encodingencoding2
- second value encodingencoding3
- third value encodingencoding4
- fourth value encodingsplitter1
- first value splittersplitter2
- second value splittersplitter3
- third value splittersplitter4
- fourth value splitterjoiner
- value joiner from tuple- Throws:
IllegalArgumentException
- if any parameter is null
-
-
Method Details
-
getTuple4Encoding
-