Class DefaultRPCHandlerBuilder<T>

java.lang.Object
eu.cloudnetservice.driver.impl.network.rpc.handler.DefaultRPCHandlerBuilder<T>
Type Parameters:
T - the type that the handler is handling.
All Implemented Interfaces:
eu.cloudnetservice.driver.network.rpc.handler.RPCHandler.Builder<T>, eu.cloudnetservice.driver.network.rpc.RPCProvider.Builder<eu.cloudnetservice.driver.network.rpc.handler.RPCHandler.Builder<T>>

public final class DefaultRPCHandlerBuilder<T> extends Object implements eu.cloudnetservice.driver.network.rpc.handler.RPCHandler.Builder<T>
The default implementation of an RPC handler builder.
Since:
4.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private Object
     
    private final RPCClassMetadata
     
    private eu.cloudnetservice.driver.network.buffer.DataBufFactory
     
    private eu.cloudnetservice.driver.network.object.ObjectMapper
     
    private final eu.cloudnetservice.driver.network.rpc.factory.RPCFactory
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    DefaultRPCHandlerBuilder(@NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCFactory sourceFactory, @NonNull RPCClassMetadata classMetadata, @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper objectMapper, @NonNull eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory)
    Constructs a new builder instance for the target class (given by the class metadata) and the default data buf factory / object mapper from the source RPC factory.
  • Method Summary

    Modifier and Type
    Method
    Description
    @NonNull eu.cloudnetservice.driver.network.rpc.handler.RPCHandler
    eu.cloudnetservice.driver.network.rpc.handler.RPCHandler.Builder<T>
    dataBufFactory(@NonNull eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory)
    eu.cloudnetservice.driver.network.rpc.handler.RPCHandler.Builder<T>
    objectMapper(@NonNull eu.cloudnetservice.driver.network.object.ObjectMapper objectMapper)
    eu.cloudnetservice.driver.network.rpc.handler.RPCHandler.Builder<T>

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • sourceFactory

      private final eu.cloudnetservice.driver.network.rpc.factory.RPCFactory sourceFactory
    • classMetadata

      private final RPCClassMetadata classMetadata
    • boundInstance

      private Object boundInstance
    • objectMapper

      private eu.cloudnetservice.driver.network.object.ObjectMapper objectMapper
    • dataBufFactory

      private eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory
  • Constructor Details

    • DefaultRPCHandlerBuilder

      public DefaultRPCHandlerBuilder(@NonNull @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCFactory sourceFactory, @NonNull @NonNull RPCClassMetadata classMetadata, @NonNull @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper objectMapper, @NonNull @NonNull eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory)
      Constructs a new builder instance for the target class (given by the class metadata) and the default data buf factory / object mapper from the source RPC factory.
      Parameters:
      sourceFactory - the rpc factory that constructed this object.
      classMetadata - the metadata for the target class.
      objectMapper - the default object mapper of the source RPC factory.
      dataBufFactory - the default data buf factory of the source RPC factory.
      Throws:
      NullPointerException - if one of the given parameters is null.
  • Method Details

    • targetInstance

      @NonNull public eu.cloudnetservice.driver.network.rpc.handler.RPCHandler.Builder<T> targetInstance(@Nullable @Nullable Object instance)
      Specified by:
      targetInstance in interface eu.cloudnetservice.driver.network.rpc.handler.RPCHandler.Builder<T>
    • objectMapper

      @NonNull public eu.cloudnetservice.driver.network.rpc.handler.RPCHandler.Builder<T> objectMapper(@NonNull @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper objectMapper)
      Specified by:
      objectMapper in interface eu.cloudnetservice.driver.network.rpc.RPCProvider.Builder<T>
    • dataBufFactory

      @NonNull public eu.cloudnetservice.driver.network.rpc.handler.RPCHandler.Builder<T> dataBufFactory(@NonNull @NonNull eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory)
      Specified by:
      dataBufFactory in interface eu.cloudnetservice.driver.network.rpc.RPCProvider.Builder<T>
    • build

      @NonNull public @NonNull eu.cloudnetservice.driver.network.rpc.handler.RPCHandler build()
      Specified by:
      build in interface eu.cloudnetservice.driver.network.rpc.handler.RPCHandler.Builder<T>