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:
    • clearGrpcServices

      public BUILDER clearGrpcServices()
      Clear all grpcServices.
      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 - add single 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:
    • grpcServicesDiscoverServices

      public BUILDER grpcServicesDiscoverServices(boolean grpcServicesDiscoverServices)
      Service discovery flag for grpcServices(). If set to true, services will be discovered from Java service loader, or Helidon ServiceRegistry.
      Parameters:
      grpcServicesDiscoverServices - whether to enable automatic service discovery
      Returns:
      updated builder instance
      See Also:
    • name

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

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

      public boolean enableMetrics()
      Whether to collect metrics for gRPC server calls.
      Returns:
      metrics flag
    • 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:
      true if compression is enabled
    • grpcServices

      public List<GrpcServerService> grpcServices()
      gRPC server services. These services will not be discovered automatically.
      Returns:
      services to use
    • 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.
    • grpcServicesDiscoverServices

      public boolean grpcServicesDiscoverServices()
      Service discovery flag for grpcServices(). If set to true, services will be discovered from Java service loader, or Helidon ServiceRegistry.
      Returns:
      whether to enable automatic service discovery
    • toString

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

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

      protected void validatePrototype()
      Validates required properties.
    • config

      protected Optional<Config> config()
      Configuration used to configure this instance.
      Returns:
      config instance