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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final recordThe default implementation of an instance allocator using an internal instance factory as delegation.Nested classes/interfaces inherited from interface eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder
eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder.InstanceAllocator<T> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Supplier<eu.cloudnetservice.driver.network.NetworkChannel> private final RPCClassMetadataprivate eu.cloudnetservice.driver.network.buffer.DataBufFactoryprivate final RPCClassMetadataprivate final RPCGenerationCacheprivate intprivate eu.cloudnetservice.driver.network.object.ObjectMapperprivate Class<?> private final eu.cloudnetservice.driver.network.rpc.factory.RPCFactory -
Constructor Summary
ConstructorsConstructorDescriptionDefaultRPCImplementationBuilder(@NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCFactory sourceFactory, @NonNull eu.cloudnetservice.driver.network.object.ObjectMapper objectMapper, @NonNull eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory, @NonNull RPCClassMetadata classMetadata, @NonNull RPCGenerationCache generationCache) Constructs a new default implementation builder instance. -
Method Summary
Modifier and TypeMethodDescriptiondataBufFactory(@NonNull eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory) excludeMethod(@NonNull String name, @NonNull TypeDescriptor methodDescriptor) @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder.InstanceAllocator<T> objectMapper(@NonNull eu.cloudnetservice.driver.network.object.ObjectMapper objectMapper) superclass(@NonNull Class<? super T> superclass) targetChannel(@NonNull eu.cloudnetservice.driver.network.NetworkChannel channel) targetChannel(@NonNull Supplier<eu.cloudnetservice.driver.network.NetworkChannel> channelSupplier) targetComponent(@NonNull eu.cloudnetservice.driver.network.NetworkComponent networkComponent)
-
Field Details
-
sourceFactory
private final eu.cloudnetservice.driver.network.rpc.factory.RPCFactory sourceFactory -
classMetadata
-
fullClasMetadata
-
generationCache
-
generationFlags
private int generationFlags -
objectMapper
private eu.cloudnetservice.driver.network.object.ObjectMapper objectMapper -
senderTargetClass
-
dataBufFactory
private eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory -
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
-
targetComponent
@NonNull public @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T> targetComponent(@NonNull @NonNull eu.cloudnetservice.driver.network.NetworkComponent networkComponent) - Specified by:
targetComponentin interfaceeu.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:
targetChannelin interfaceeu.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:
targetChannelin interfaceeu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T>
-
implementConcreteMethods
-
excludeMethod
@NonNull public @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T> excludeMethod(@NonNull @NonNull String name, @NonNull @NonNull TypeDescriptor methodDescriptor) - Specified by:
excludeMethodin interfaceeu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T>
-
objectMapper
-
dataBufFactory
@NonNull public @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder<T> dataBufFactory(@NonNull @NonNull eu.cloudnetservice.driver.network.buffer.DataBufFactory dataBufFactory) - Specified by:
dataBufFactoryin interfaceeu.cloudnetservice.driver.network.rpc.RPCProvider.Builder<T>
-
generateImplementation
-