Module net.luis.utils
Record Class CodecGrouper8<CI1,CI2,CI3,CI4,CI5,CI6,CI7,CI8,O>
java.lang.Object
java.lang.Record
net.luis.utils.io.codec.group.grouper.CodecGrouper8<CI1,CI2,CI3,CI4,CI5,CI6,CI7,CI8,O>
- Type Parameters:
CI1
- The type of the first componentCI2
- The type of the second componentCI3
- The type of the third componentCI4
- The type of the fourth componentCI5
- The type of the fifth componentCI6
- The type of the sixth componentCI7
- The type of the seventh componentCI8
- The type of the eighth componentO
- The type of the resulting object this grouper is for- Record Components:
codec1
- The first codeccodec2
- The second codeccodec3
- The third codeccodec4
- The fourth codeccodec5
- The fifth codeccodec6
- The sixth codeccodec7
- The seventh codeccodec8
- The eighth codec
public record CodecGrouper8<CI1,CI2,CI3,CI4,CI5,CI6,CI7,CI8,O> (@NotNull ConfiguredCodec<CI1,O> codec1, @NotNull ConfiguredCodec<CI2,O> codec2, @NotNull ConfiguredCodec<CI3,O> codec3, @NotNull ConfiguredCodec<CI4,O> codec4, @NotNull ConfiguredCodec<CI5,O> codec5, @NotNull ConfiguredCodec<CI6,O> codec6, @NotNull ConfiguredCodec<CI7,O> codec7, @NotNull ConfiguredCodec<CI8,O> codec8)
extends Record
Represents a group of eight codecs.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
The grouper is used for creating a new single codec that encodes and decodes a value of a specific type.
Each codec is responsible for encoding and decoding a specific component (field) of the value.
The grouped codec is created by providing a function that creates the value from the decoded components.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final @NotNull ConfiguredCodec
<CI1, O> The field for thecodec1
record component.private final @NotNull ConfiguredCodec
<CI2, O> The field for thecodec2
record component.private final @NotNull ConfiguredCodec
<CI3, O> The field for thecodec3
record component.private final @NotNull ConfiguredCodec
<CI4, O> The field for thecodec4
record component.private final @NotNull ConfiguredCodec
<CI5, O> The field for thecodec5
record component.private final @NotNull ConfiguredCodec
<CI6, O> The field for thecodec6
record component.private final @NotNull ConfiguredCodec
<CI7, O> The field for thecodec7
record component.private final @NotNull ConfiguredCodec
<CI8, O> The field for thecodec8
record component. -
Constructor Summary
ConstructorsConstructorDescriptionCodecGrouper8
(@NotNull ConfiguredCodec<CI1, O> codec1, @NotNull ConfiguredCodec<CI2, O> codec2, @NotNull ConfiguredCodec<CI3, O> codec3, @NotNull ConfiguredCodec<CI4, O> codec4, @NotNull ConfiguredCodec<CI5, O> codec5, @NotNull ConfiguredCodec<CI6, O> codec6, @NotNull ConfiguredCodec<CI7, O> codec7, @NotNull ConfiguredCodec<CI8, O> codec8) Constructs a new codec grouper with the provided codecs.
Do not use this constructor directly, use the builder method inCodecBuilder
instead. -
Method Summary
Modifier and TypeMethodDescription@NotNull ConfiguredCodec
<CI1, O> codec1()
Returns the value of thecodec1
record component.@NotNull ConfiguredCodec
<CI2, O> codec2()
Returns the value of thecodec2
record component.@NotNull ConfiguredCodec
<CI3, O> codec3()
Returns the value of thecodec3
record component.@NotNull ConfiguredCodec
<CI4, O> codec4()
Returns the value of thecodec4
record component.@NotNull ConfiguredCodec
<CI5, O> codec5()
Returns the value of thecodec5
record component.@NotNull ConfiguredCodec
<CI6, O> codec6()
Returns the value of thecodec6
record component.@NotNull ConfiguredCodec
<CI7, O> codec7()
Returns the value of thecodec7
record component.@NotNull ConfiguredCodec
<CI8, O> codec8()
Returns the value of thecodec8
record component.Creates a new codec using the codecs of this grouper and the provided grouping function.
The grouping function is used to create the resulting object from the decoded components.final boolean
Indicates whether some other object is "equal to" this one.final int
hashCode()
Returns a hash code value for this object.final String
toString()
Returns a string representation of this record class.
-
Field Details
-
codec1
The field for thecodec1
record component. -
codec2
The field for thecodec2
record component. -
codec3
The field for thecodec3
record component. -
codec4
The field for thecodec4
record component. -
codec5
The field for thecodec5
record component. -
codec6
The field for thecodec6
record component. -
codec7
The field for thecodec7
record component. -
codec8
The field for thecodec8
record component.
-
-
Constructor Details
-
CodecGrouper8
@Internal public CodecGrouper8(@NotNull @NotNull ConfiguredCodec<CI1, O> codec1, @NotNull @NotNull ConfiguredCodec<CI2, O> codec2, @NotNull @NotNull ConfiguredCodec<CI3, O> codec3, @NotNull @NotNull ConfiguredCodec<CI4, O> codec4, @NotNull @NotNull ConfiguredCodec<CI5, O> codec5, @NotNull @NotNull ConfiguredCodec<CI6, O> codec6, @NotNull @NotNull ConfiguredCodec<CI7, O> codec7, @NotNull @NotNull ConfiguredCodec<CI8, O> codec8) Constructs a new codec grouper with the provided codecs.
Do not use this constructor directly, use the builder method inCodecBuilder
instead.- Parameters:
codec1
- The first codeccodec2
- The second codeccodec3
- The third codeccodec4
- The fourth codeccodec5
- The fifth codeccodec6
- The sixth codeccodec7
- The seventh codeccodec8
- The eighth codec- Throws:
NullPointerException
- If any of the provided codecs is null
-
-
Method Details
-
create
@NotNull public @NotNull Codec<O> create(@NotNull @NotNull CodecGroupingFunction8<CI1, CI2, CI3, CI4, CI5, CI6, CI7, CI8, O> function) Creates a new codec using the codecs of this grouper and the provided grouping function.
The grouping function is used to create the resulting object from the decoded components.- Parameters:
function
- The grouping function- Returns:
- The created codec
- Throws:
NullPointerException
- If the provided grouping function is null
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object)
. -
codec1
Returns the value of thecodec1
record component.- Returns:
- the value of the
codec1
record component
-
codec2
Returns the value of thecodec2
record component.- Returns:
- the value of the
codec2
record component
-
codec3
Returns the value of thecodec3
record component.- Returns:
- the value of the
codec3
record component
-
codec4
Returns the value of thecodec4
record component.- Returns:
- the value of the
codec4
record component
-
codec5
Returns the value of thecodec5
record component.- Returns:
- the value of the
codec5
record component
-
codec6
Returns the value of thecodec6
record component.- Returns:
- the value of the
codec6
record component
-
codec7
Returns the value of thecodec7
record component.- Returns:
- the value of the
codec7
record component
-
codec8
Returns the value of thecodec8
record component.- Returns:
- the value of the
codec8
record component
-