Module net.luis.utils
Record Class CodecGrouper5<CI1,CI2,CI3,CI4,CI5,O>
java.lang.Object
java.lang.Record
net.luis.utils.io.codec.group.grouper.CodecGrouper5<CI1,CI2,CI3,CI4,CI5,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 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 codec
public record CodecGrouper5<CI1,CI2,CI3,CI4,CI5,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)
extends Record
Represents a group of five 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. -
Constructor Summary
ConstructorsConstructorDescriptionCodecGrouper5
(@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) 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.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
-
Constructor Details
-
CodecGrouper5
@Internal public CodecGrouper5(@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) 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 codec- Throws:
NullPointerException
- If any of the provided codecs is null
-
-
Method Details
-
create
@NotNull public @NotNull Codec<O> create(@NotNull @NotNull CodecGroupingFunction5<CI1, CI2, CI3, CI4, CI5, 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
-