Class GrpcConfig.BuilderBase<BUILDER extends GrpcConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends GrpcConfig>

java.lang.Object
io.helidon.webserver.grpc.GrpcConfig.BuilderBase<BUILDER,PROTOTYPE>
Type Parameters:
BUILDER - type of the builder extending this abstract builder
PROTOTYPE - type of the prototype interface that would be built by Prototype.Builder.buildPrototype()
All Implemented Interfaces:
Prototype.Builder<BUILDER,PROTOTYPE>, ConfigBuilderSupport.ConfiguredBuilder<BUILDER,PROTOTYPE>, ConfigBuilderSupport.ConfiguredBuilder<BUILDER,PROTOTYPE>
Direct Known Subclasses:
GrpcConfig.Builder
Enclosing interface:
GrpcConfig

public abstract static class GrpcConfig.BuilderBase<BUILDER extends GrpcConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends GrpcConfig> extends Object implements ConfigBuilderSupport.ConfiguredBuilder<BUILDER,PROTOTYPE>
Fluent API builder base for GrpcConfig.
  • Constructor Details

    • BuilderBase

      protected BuilderBase()
      Protected to support extensibility.
  • Method Details

    • from

      public BUILDER from(GrpcConfig prototype)
      Update this builder from an existing prototype instance. This method disables automatic service discovery.
      Parameters:
      prototype - existing prototype to update this builder from
      Returns:
      updated builder instance
    • from

      public BUILDER from(GrpcConfig.BuilderBase<?,?> builder)
      Update this builder from an existing prototype builder instance.
      Parameters:
      builder - existing builder prototype to update this builder from
      Returns:
      updated builder instance
    • config

      @Deprecated public BUILDER config(Config config)
      Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.
      Specified by:
      config in interface ConfigBuilderSupport.ConfiguredBuilder<BUILDER extends GrpcConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends GrpcConfig>
      Parameters:
      config - configuration instance used to obtain values to update this builder
      Returns:
      updated builder instance
    • config

      public BUILDER config(Config config)
      Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.
      Specified by:
      config in interface ConfigBuilderSupport.ConfiguredBuilder<BUILDER extends GrpcConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends GrpcConfig>
      Parameters:
      config - configuration instance used to obtain values to update this builder
      Returns:
      updated builder instance
    • name

      public BUILDER name(String name)
      Protocol configuration name.
      Parameters:
      name - name of this configuration
      Returns:
      updated builder instance
      See Also:
    • type

      public BUILDER type(String type)
      Protocol configuration type.
      Parameters:
      type - type of this configuration
      Returns:
      updated builder instance
      See Also:
    • enableMetrics

      public BUILDER enableMetrics(boolean enableMetrics)
      Whether to collect metrics for gRPC server calls.
      Parameters:
      enableMetrics - metrics flag
      Returns:
      updated builder instance
      See Also:
    • enableCompression

      public BUILDER enableCompression(boolean enableCompression)
      Whether to support compression if requested by a client. If explicitly disabled, no compression will ever be used by the server even if a client-compatible compressor is found.
      Parameters:
      enableCompression - true if compression is enabled
      Returns:
      updated builder instance
      See Also:
    • grpcServicesDiscoverServices

      public BUILDER grpcServicesDiscoverServices(boolean discoverServices)
      gRPC server services. These services will not be discovered automatically.
      Parameters:
      discoverServices - whether to discover implementations through service loader
      Returns:
      updated builder instance
      See Also:
    • grpcServices

      public BUILDER grpcServices(List<? extends GrpcServerService> grpcServices)
      gRPC server services. These services will not be discovered automatically.
      Parameters:
      grpcServices - services to use
      Returns:
      updated builder instance
      See Also:
    • addGrpcServices

      public BUILDER addGrpcServices(List<? extends GrpcServerService> grpcServices)
      gRPC server services. These services will not be discovered automatically.
      Parameters:
      grpcServices - services to use
      Returns:
      updated builder instance
      See Also:
    • addGrpcService

      public BUILDER addGrpcService(GrpcServerService grpcService)
      gRPC server services. These services will not be discovered automatically.
      Parameters:
      grpcService - services to use
      Returns:
      updated builder instance
      See Also:
    • maxReadBufferSize

      public BUILDER maxReadBufferSize(int maxReadBufferSize)
      Max size of gRPC reading buffer. If receiving an entity larger than this, processing will be aborted. This can help prevent DoS attacks. Default set to 2 MB.
      Parameters:
      maxReadBufferSize -
      Returns:
      updated builder instance
      See Also:
    • name

      public String name()
      Protocol configuration name.
      Returns:
      the name
    • type

      public String type()
      Protocol configuration type.
      Returns:
      the type
    • enableMetrics

      public boolean enableMetrics()
      Whether to collect metrics for gRPC server calls.
      Returns:
      the enable metrics
    • enableCompression

      public boolean enableCompression()
      Whether to support compression if requested by a client. If explicitly disabled, no compression will ever be used by the server even if a client-compatible compressor is found.
      Returns:
      the enable compression
    • grpcServices

      public List<GrpcServerService> grpcServices()
      gRPC server services. These services will not be discovered automatically.
      Returns:
      the grpc services
    • maxReadBufferSize

      public int maxReadBufferSize()
      Max size of gRPC reading buffer. If receiving an entity larger than this, processing will be aborted. This can help prevent DoS attacks. Default set to 2 MB.
      Returns:
      the max read buffer size
    • config

      public Optional<Config> config()
      If this instance was configured, this would be the config instance used.
      Returns:
      config node used to configure this builder, or empty if not configured
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • preBuildPrototype

      protected void preBuildPrototype()
      Handles providers and decorators.
    • validatePrototype

      protected void validatePrototype()
      Validates required properties.