Class DataBufableObjectSerializer

java.lang.Object
eu.cloudnetservice.driver.impl.network.object.serializers.DataBufableObjectSerializer
All Implemented Interfaces:
eu.cloudnetservice.driver.network.object.ObjectSerializer<eu.cloudnetservice.driver.network.buffer.DataBufable>

public final class DataBufableObjectSerializer extends Object implements eu.cloudnetservice.driver.network.object.ObjectSerializer<eu.cloudnetservice.driver.network.buffer.DataBufable>
An object codec implementation for all classes that implement DataBufable.
Since:
4.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final com.github.benmanes.caffeine.cache.Cache<Class<?>, Supplier<Object>>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    @NonNull eu.cloudnetservice.driver.network.buffer.DataBufable
    read(@NonNull eu.cloudnetservice.driver.network.buffer.DataBuf source, @NonNull Type type, @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper caller)
    void
    write(eu.cloudnetservice.driver.network.buffer.DataBuf.Mutable dataBuf, @NonNull eu.cloudnetservice.driver.network.buffer.DataBufable object, @NonNull Type type, @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper caller)

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface eu.cloudnetservice.driver.network.object.ObjectSerializer

    preReadCheckAccepts, preWriteCheckAccepts
  • Field Details

    • cachedClassAllocators

      private final com.github.benmanes.caffeine.cache.Cache<Class<?>, Supplier<Object>> cachedClassAllocators
  • Constructor Details

    • DataBufableObjectSerializer

      public DataBufableObjectSerializer()
  • Method Details

    • read

      @NonNull public @NonNull eu.cloudnetservice.driver.network.buffer.DataBufable 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:
      read in interface eu.cloudnetservice.driver.network.object.ObjectSerializer<eu.cloudnetservice.driver.network.buffer.DataBufable>
    • write

      public void write(@NonNull eu.cloudnetservice.driver.network.buffer.DataBuf.Mutable dataBuf, @NonNull @NonNull eu.cloudnetservice.driver.network.buffer.DataBufable object, @NonNull @NonNull Type type, @NonNull @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper caller)
      Specified by:
      write in interface eu.cloudnetservice.driver.network.object.ObjectSerializer<eu.cloudnetservice.driver.network.buffer.DataBufable>