Class DefaultRPCSenderBuilder

java.lang.Object
eu.cloudnetservice.driver.impl.network.rpc.sender.DefaultRPCSenderBuilder
All Implemented Interfaces:
eu.cloudnetservice.driver.network.rpc.RPCProvider.Builder<eu.cloudnetservice.driver.network.rpc.RPCSender.Builder>, eu.cloudnetservice.driver.network.rpc.RPCSender.Builder

public final class DefaultRPCSenderBuilder extends Object implements eu.cloudnetservice.driver.network.rpc.RPCSender.Builder
The default implementation of an RPC sender builder.
Since:
4.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private Supplier<eu.cloudnetservice.driver.network.NetworkChannel>
     
    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
    DefaultRPCSenderBuilder(@NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCFactory sourceFactory, @NonNull RPCClassMetadata classMetadata, @NonNull eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory, @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper objectMapper)
    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.RPCSender
    eu.cloudnetservice.driver.network.rpc.RPCSender.Builder
    dataBufFactory(@NonNull eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory)
    eu.cloudnetservice.driver.network.rpc.RPCSender.Builder
    eu.cloudnetservice.driver.network.rpc.RPCSender.Builder
    objectMapper(@NonNull eu.cloudnetservice.driver.network.object.ObjectMapper objectMapper)
    eu.cloudnetservice.driver.network.rpc.RPCSender.Builder
    targetChannel(@NonNull eu.cloudnetservice.driver.network.NetworkChannel channel)
    eu.cloudnetservice.driver.network.rpc.RPCSender.Builder
    targetChannel(@NonNull Supplier<eu.cloudnetservice.driver.network.NetworkChannel> channelSupplier)
    eu.cloudnetservice.driver.network.rpc.RPCSender.Builder
    targetComponent(@NonNull eu.cloudnetservice.driver.network.NetworkComponent networkComponent)

    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
    • objectMapper

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

      private eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory
    • channelSupplier

      private Supplier<eu.cloudnetservice.driver.network.NetworkChannel> channelSupplier
  • Constructor Details

    • DefaultRPCSenderBuilder

      public DefaultRPCSenderBuilder(@NonNull @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCFactory sourceFactory, @NonNull @NonNull RPCClassMetadata classMetadata, @NonNull @NonNull eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory, @NonNull @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper objectMapper)
      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.
      dataBufFactory - the default data buf factory of the source RPC factory.
      objectMapper - the default object mapper of the source RPC factory.
      Throws:
      NullPointerException - if the given class meta, data buf factory or object mapper is null.
  • Method Details

    • targetComponent

      @NonNull public eu.cloudnetservice.driver.network.rpc.RPCSender.Builder targetComponent(@NonNull @NonNull eu.cloudnetservice.driver.network.NetworkComponent networkComponent)
      Specified by:
      targetComponent in interface eu.cloudnetservice.driver.network.rpc.RPCSender.Builder
    • targetChannel

      @NonNull public eu.cloudnetservice.driver.network.rpc.RPCSender.Builder targetChannel(@NonNull @NonNull eu.cloudnetservice.driver.network.NetworkChannel channel)
      Specified by:
      targetChannel in interface eu.cloudnetservice.driver.network.rpc.RPCSender.Builder
    • targetChannel

      @NonNull public eu.cloudnetservice.driver.network.rpc.RPCSender.Builder targetChannel(@NonNull @NonNull Supplier<eu.cloudnetservice.driver.network.NetworkChannel> channelSupplier)
      Specified by:
      targetChannel in interface eu.cloudnetservice.driver.network.rpc.RPCSender.Builder
    • excludeMethod

      @NonNull public eu.cloudnetservice.driver.network.rpc.RPCSender.Builder excludeMethod(@NonNull @NonNull String name, @NonNull @NonNull TypeDescriptor methodDescriptor)
      Specified by:
      excludeMethod in interface eu.cloudnetservice.driver.network.rpc.RPCSender.Builder
    • objectMapper

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

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

      @NonNull public @NonNull eu.cloudnetservice.driver.network.rpc.RPCSender build()
      Specified by:
      build in interface eu.cloudnetservice.driver.network.rpc.RPCSender.Builder