Class FunctionalObjectSerializer<T>
java.lang.Object
eu.cloudnetservice.driver.impl.network.object.serializers.FunctionalObjectSerializer<T>
- Type Parameters:
T- the type of data to write/read from the buffer.
- All Implemented Interfaces:
eu.cloudnetservice.driver.network.object.ObjectSerializer<T>
public final class FunctionalObjectSerializer<T>
extends Object
implements eu.cloudnetservice.driver.network.object.ObjectSerializer<T>
An object serializer instance which passes the read and write calls to the functional providers previously added.
- Since:
- 4.0
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateFunctionalObjectSerializer(@NonNull Function<eu.cloudnetservice.driver.network.buffer.DataBuf, T> reader, @NonNull BiConsumer<eu.cloudnetservice.driver.network.buffer.DataBuf.Mutable, T> writer) Constructs a new functional object serializer instance. -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> @NonNull FunctionalObjectSerializer<T> of(@NonNull Function<eu.cloudnetservice.driver.network.buffer.DataBuf, T> reader, @NonNull BiConsumer<eu.cloudnetservice.driver.network.buffer.DataBuf.Mutable, T> writer) Constructs a new functional object serializer instance.read(@NonNull eu.cloudnetservice.driver.network.buffer.DataBuf source, @NonNull Type type, @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper caller) voidMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface eu.cloudnetservice.driver.network.object.ObjectSerializer
preReadCheckAccepts, preWriteCheckAccepts
-
Field Details
-
reader
-
writer
-
-
Constructor Details
-
FunctionalObjectSerializer
private FunctionalObjectSerializer(@NonNull @NonNull Function<eu.cloudnetservice.driver.network.buffer.DataBuf, T> reader, @NonNull @NonNull BiConsumer<eu.cloudnetservice.driver.network.buffer.DataBuf.Mutable, T> writer) Constructs a new functional object serializer instance.- Parameters:
reader- the reader to read the content from the buffer.writer- the writer which writes the given data to the buffer.- Throws:
NullPointerException- if either the writer or reader is null.
-
-
Method Details
-
of
@NonNull public static <T> @NonNull FunctionalObjectSerializer<T> of(@NonNull @NonNull Function<eu.cloudnetservice.driver.network.buffer.DataBuf, T> reader, @NonNull @NonNull BiConsumer<eu.cloudnetservice.driver.network.buffer.DataBuf.Mutable, T> writer) Constructs a new functional object serializer instance.- Parameters:
reader- the reader to read the content from the buffer.writer- the writer which writes the given data to the buffer.- Returns:
- the created functional object serializer instance.
- Throws:
NullPointerException- if either the writer or reader is null.
-
read
@Nullable public T read(@NonNull @NonNull eu.cloudnetservice.driver.network.buffer.DataBuf source, @NonNull @NonNull Type type, @NonNull @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper caller) - Specified by:
readin interfaceeu.cloudnetservice.driver.network.object.ObjectSerializer<T>
-
write
public void write(@NonNull eu.cloudnetservice.driver.network.buffer.DataBuf.Mutable dataBuf, @Nullable T object, @NonNull @NonNull Type type, @NonNull @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper caller) - Specified by:
writein interfaceeu.cloudnetservice.driver.network.object.ObjectSerializer<T>
-