Class DefaultRPCImplementationBuilder<T>

java.lang.Object
eu.cloudnetservice.driver.impl.network.rpc.generation.DefaultRPCImplementationBuilder<T>
Type Parameters:
T - the type that is being implemented.
All Implemented Interfaces:
eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T>, eu.cloudnetservice.driver.network.rpc.RPCProvider.Builder<eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T>>

public final class DefaultRPCImplementationBuilder<T> extends Object implements eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T>
The default implementation of a rpc implementation builder.
Since:
4.0
  • Field Details

    • sourceFactory

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

      private final RPCClassMetadata classMetadata
    • fullClasMetadata

      private final RPCClassMetadata fullClasMetadata
    • generationCache

      private final RPCGenerationCache generationCache
    • generationFlags

      private int generationFlags
    • objectMapper

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

      private Class<?> senderTargetClass
    • dataBufFactory

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

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

    • DefaultRPCImplementationBuilder

      public DefaultRPCImplementationBuilder(@NonNull @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCFactory sourceFactory, @NonNull @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper objectMapper, @NonNull @NonNull eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory, @NonNull @NonNull RPCClassMetadata classMetadata, @NonNull @NonNull RPCGenerationCache generationCache)
      Constructs a new default implementation builder instance.
      Parameters:
      classMetadata - the metadata of class that is being implemented.
      generationCache - the cache for all generated implementations.
      Throws:
      NullPointerException - if the given class meta, sender builder or generation cache is null.
  • Method Details

    • superclass

      @NonNull public @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T> superclass(@NonNull @NonNull Class<? super T> superclass)
      Specified by:
      superclass in interface eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T>
    • targetComponent

      @NonNull public @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T> targetComponent(@NonNull @NonNull eu.cloudnetservice.driver.network.NetworkComponent networkComponent)
      Specified by:
      targetComponent in interface eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T>
    • targetChannel

      @NonNull public @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T> targetChannel(@NonNull @NonNull eu.cloudnetservice.driver.network.NetworkChannel channel)
      Specified by:
      targetChannel in interface eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T>
    • targetChannel

      @NonNull public @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T> targetChannel(@NonNull @NonNull Supplier<eu.cloudnetservice.driver.network.NetworkChannel> channelSupplier)
      Specified by:
      targetChannel in interface eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T>
    • implementConcreteMethods

      @NonNull public @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T> implementConcreteMethods()
      Specified by:
      implementConcreteMethods in interface eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T>
    • excludeMethod

      @NonNull public @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T> excludeMethod(@NonNull @NonNull String name, @NonNull @NonNull TypeDescriptor methodDescriptor)
      Specified by:
      excludeMethod in interface eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T>
    • objectMapper

      @NonNull public @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<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 @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T> dataBufFactory(@NonNull @NonNull eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory)
      Specified by:
      dataBufFactory in interface eu.cloudnetservice.driver.network.rpc.RPCProvider.Builder<T>
    • generateImplementation

      @NonNull public @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder.InstanceAllocator<T> generateImplementation()
      Specified by:
      generateImplementation in interface eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T>