Interface Builder<B extends Builder<B,T>,T>

Type Parameters:
B - Type of the builder
T - Type of the built instance
All Superinterfaces:
Supplier<T>
All Known Subinterfaces:
ComponentMetricsSettings.Builder, Config.Builder, ConfigNode.ListNode.Builder, DbClientBuilder<T>, DistributionStatisticsConfig.Builder, Hson.Struct.Builder, HttpRouting.Builder, MeterRegistry.Builder<B,R>, OpenTracingTracerBuilder<T>, ResponseBuilder<B,T,X>, RestServiceSettings.Builder, Router.Builder, Span.Builder<B>, TracerBuilder<T>
All Known Implementing Classes:
AbacProvider.Builder, AbstractLogEntry.Builder, AccessLogConfig.Builder, AccessLogRoutingFeature.Builder, AimdLimitConfig.Builder, AllowListConfig.Builder, Annotation.Builder, Annotation.Builder, AnnotationAnalyzer.AnalyzerResponse.Builder, AnnotationParameter.Builder, ApiEntityResponse.Builder, ApiOptionalResponse.Builder, ApiOptionalResponse.BuilderBase, ApiResponse.Builder, AppRoleVaultAuth.Builder, AqConfigBuilder, AqConnector.AqConnectorBuilder, AsymmetricCipher.Builder, AsyncConfig.Builder, AudienceValidator.Builder, AuthenticationResponse.Builder, AuthorizationResponse.Builder, BufferedEmittingPublisher.Builder, BulkheadConfig.Builder, Channel.Builder, CircuitBreakerConfig.Builder, ClassBase.Builder, ClassModel.Builder, ClasspathConfigSource.Builder, ClasspathOverrideSource.Builder, ClientMethodDescriptor.Builder, ClientServiceDescriptor.Builder, CodegenEvent.Builder, CodegenEvent.BuilderBase, CompilerOptions.Builder, ComponentTracingConfig.Builder, CompositeProviderSelectionPolicy.Builder, ConfigContent.NodeContent.Builder, ConfigContent.OverrideContent.Builder, ConfigFileMethodConfig.Builder, ConfigItem.Builder, ConfigMethodConfig.Builder, ConfigObserverConfig.Builder, ConfigParser.Content.Builder, ConfigSources.SystemPropertiesConfigSource.Builder, ConfigVaultProvider.Builder, ConnectionConfig.Builder, ConnectionFlowControl.ConnectionFlowControlBuilder, ConnectorConfigBuilder, Constructor.Builder, ContentDisposition.Builder, ContentEncodingContextConfig.Builder, Context.Builder, ContextFeatureConfig.Builder, CoordinatorService.Builder, CorsConfig.Builder, CorsSupport.Builder, CorsSupportBase.Builder, CorsSupportHelper.Builder, CronConfig.Builder, CrossOriginConfig.Builder, CubbyholeSecurityProvider.CubbyholeSecretConfig.Builder, DbClient.Builder, DbClientBuilderBase, DbClientContext.Builder, DbClientContext.BuilderBase, DbClientHealthCheck.Builder, DbClientMetricBuilder, DbClientServiceBase.BuilderBase, DbClientTracing.Builder, DbExecuteContext.Builder, DbExecuteContext.BuilderBase, DbMapperManager.Builder, DbStatements.Builder, Dependency.Builder, DirectHandler.TransportResponse.Builder, DirectHandlers.Builder, DirectoryConfigSource.Builder, DiskSpaceHealthCheck.Builder, EmbeddedStorageManagerBuilder, Emitter.Builder, EncryptedJwt.Builder, EndpointConfig.Builder, EtcdConfigSourceBuilder, EvictableCache.Builder, Executable.Builder, ExpirationValidator.Builder, FallbackConfig.Builder, FaultTolerance.Builder, FaultTolerance.TypedBuilder, Field.Builder, FieldValidator.Builder, FileConfigSource.Builder, FileOverrideSource.Builder, FileSystemWatcher.Builder, FixedLimitConfig.Builder, FixedRateConfig.Builder, GitConfigSourceBuilder, GoogleTokenProvider.Builder, Grant.Builder, GraphQlService.Builder, GrpcChannelDescriptor.Builder, GrpcChannelsDescriptor.Builder, GrpcChannelsProvider.Builder, GrpcClientConfig.Builder, GrpcClientMethodDescriptor.Builder, GrpcClientProtocolConfig.Builder, GrpcConfig.Builder, GrpcProxyBuilder, GrpcRouting.Builder, GrpcServiceBuilder, GrpcServiceDescriptor.Builder, GrpcServiceDescriptor.Builder, GrpcTracingConfig.Builder, HashDigest.Builder, HeaderAtnOutboundConfig.Builder, HeaderAtnProvider.Builder, HeaderLogEntry.Builder, HealthCheckResponse.Builder, HealthObserverConfig.Builder, HeapMemoryHealthCheck.Builder, HelidonFeatureSupport.Builder, HelidonServiceLoader.Builder, HmacDigest.Builder, HoconConfigParserBuilder, HostLogEntry.Builder, Http1ClientConfig.Builder, Http1ClientProtocolConfig.Builder, Http1Config.Builder, Http1ConnectionSelectorConfig.Builder, Http2ClientConfig.Builder, Http2ClientProtocolConfig.Builder, Http2Config.Builder, Http2ConnectionSelector.Builder, Http2Settings.Builder, Http2UpgradeProvider.Builder, HttpBasicAuthProvider.Builder, HttpBasicOutboundConfig.Builder, HttpClientConfig.Builder, HttpConfigBase.Builder, HttpDigestAuthProvider.Builder, HttpMediaType.Builder, HttpRoute.Builder, HttpSignProvider.Builder, IdcsMtRoleMapperProvider.Builder, IdcsRoleMapperProvider.Builder, ImdsInstanceInfo.Builder, InboundClientDefinition.Builder, InfoObserverConfig.Builder, InjectionProvider.InstanceConfig.Builder, InMemoryOverrideSource.Builder, InnerClass.Builder, InvocationHandler.Builder, IoMulti.MultiFromByteChannelBuilder, IoMulti.MultiFromInputStreamBuilder, IoMulti.MultiToByteChannelBuilder, IoMulti.OutputStreamMultiBuilder, IssueTimeValidator.Builder, JaegerTracerBuilder, Javadoc.Builder, JavaxElPolicyExecutor.Builder, JdbcClientBuilder, JdbcConnectionPool.BuilderBase, JdbcParametersConfig.Builder, JerseySecurityFeature.Builder, JmsConfigBuilder, JmsConnector.JmsConnectorBuilder, JmsMessage.OutgoingJmsMessageBuilder, JwkEC.Builder, JwkKeys.Builder, JwkOctet.Builder, JwkRSA.Builder, Jwt.Builder, JwtAuthProvider.Builder, JwtHeaders.Builder, JwtProvider.Builder, JwtProvider.JwtOutboundTarget.Builder, JwtValidator.Builder, K8sVaultAuth.Builder, KafkaConfigBuilder, KafkaPublisher.Builder, KafkaSubscriber.Builder, KeyPerformanceIndicatorMetricsConfig.Builder, Keys.Builder, KeystoreKeys.Builder, Kv1SecurityProvider.Kv1SecretConfig.Builder, Kv2SecurityProvider.Kv2SecretConfig.Builder, LimitsFeatureConfig.Builder, ListenerConfig.Builder, ListNodeBuilderImpl, LogObserverConfig.Builder, LogStreamConfig.Builder, LruCacheConfig.Builder, MapConfigSource.Builder, MapConfigSource.MapBuilder, MappedCrossOriginConfig.Builder, MapperManager.Builder, MaxTokenAgeValidator.Builder, MediaContextConfig.Builder, Messaging.Builder, MeterRegistryFactory.Builder, Method.Builder, MetricsConfig.Builder, MetricsObserverConfig.Builder, MicrometerFeature.Builder, MicrometerPrometheusFormatter.Builder, MicrostreamCacheConfigurationBuilder, MicrostreamHealthCheck.Builder, MicrostreamMetricsSupport.Builder, ModuleInfo.Builder, ModuleInfo.BuilderBase, MongoDbClientBuilder, MpOpenApiManagerConfig.Builder, MultiTappedPublisher.Builder, Neo4j.Builder, Neo4jMetricsSupport.Builder, NotBeforeValidator.Builder, ObserveFeatureConfig.Builder, ObserverConfigBase.Builder, OciCertificatesTlsManagerConfig.Builder, OciConfig.Builder, OciConfig.Builder, OciMetricsSupport.Builder, OidcConfig.Builder, OidcFeature.Builder, OidcProvider.Builder, OpenApiFeatureConfig.Builder, OpenApiUiConfig.Builder, OutboundConfig.Builder, OutboundSecurityClientBuilder, OutboundSecurityResponse.Builder, OutboundTarget.Builder, OutboundTargetDefinition.Builder, Parameter.Builder, Parameters.Builder, PathsConfig.Builder, PathTracingConfig.Builder, PemKeys.Builder, PolicyValidator.Builder, PolicyValidator.PolicyConfig.Builder, PollingStrategies.ScheduledBuilder, Principal.Builder, PrometheusSupport.Builder, Proxy.Builder, RequestedUriDiscoveryContext.Builder, RequestException.Builder, RequestLineLogEntry.Builder, ResourceConfig.Builder, RestApi.Builder, RestException.Builder, Retry.DelayingRetryPolicy.Builder, Retry.JitterRetryPolicy.Builder, RetryConfig.Builder, Returns.Builder, RevocationConfig.Builder, Role.Builder, RoleValidator.RoleConfig.Builder, ScheduledPollingStrategy.Builder, ScheduledThreadPoolConfig.Builder, Scheduling.CronBuilder, Scheduling.FixedRateBuilder, ScopeConfig.Builder, ScopeValidator.Builder, ScopingConfig.Builder, Security.Builder, SecurityClientBuilder, SecurityContext.Builder, SecurityEnvironment.Builder, SecurityFeatureConfig.Builder, SecurityHandlerConfig.Builder, SecurityLevel.SecurityLevelBuilder, SecurityTime.Builder, SerializationConfig.Builder, Server.Builder, ServiceRegistryConfig.Builder, SessionTokenMethodConfig.Builder, SetCookie.Builder, Signature.Builder, SignedHeadersConfig.Builder, SimpleRetryPolicy.Builder, SizeLogEntry.Builder, SocketOptions.Builder, SpanLogTracingConfig.Builder, SpanTracingConfig.Builder, SseEvent.Builder, StaticContentService.Builder, StaticContentService.ClassPathBuilder, StaticContentService.FileBasedBuilder, StaticContentService.FileSystemBuilder, StatusLogEntry.Builder, Subject.Builder, SymmetricCipher.Builder, TaskConfig.Builder, TenantConfig.Builder, ThreadPoolConfig.Builder, Throws.Builder, TimeoutConfig.Builder, TimestampLogEntry.Builder, TimeTakenLogEntry.Builder, TimeValidator.TimeConfig.Builder, TlsConfig.Builder, TokenCredential.Builder, TokenHandler.Builder, TokenVaultAuth.Builder, TracingConfig.Builder, TracingObserverConfig.Builder, TransitSecurityProvider.TransitDigestConfig.Builder, TransitSecurityProvider.TransitEncryptionConfig.Builder, TypeArgument.Builder, TypedElementInfo.Builder, TypeInfo.Builder, TypeName.Builder, TyrusRouting.Builder, UriInfo.Builder, UrlConfigSource.Builder, UrlOverrideSource.Builder, UserLogEntry.Builder, UserPrincipalValidator.Builder, Vault.Builder, VaultOptionalResponse.Builder, VaultOptionalResponse.BuilderBase, VaultRestApi.Builder, VaultRestApi.BuilderBase, VaultRestException.Builder, VaultToken.Builder, VaultTokenBase.Builder, WebClientConfig.Builder, WebClientCookieManagerConfig.Builder, WebClientServiceResponse.Builder, WebServerConfig.Builder, WriteableMultiPart.Builder, WriteablePart.Builder, WsClientConfig.Builder, WsClientProtocolConfig.Builder, WsConfig.Builder, WsRouting.Builder, ZipkinTracerBuilder
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface Builder<B extends Builder<B,T>,T> extends Supplier<T>
Interface for builders, to be able to accept a builder in addition to an instance.

This interface is similar to Supplier as it provides an instance, only for classes that act as instance builders (fluent API builder pattern), where method Supplier.get() would be misleading.

  • Method Summary

    Modifier and Type
    Method
    Description
    Build the instance from this builder.
    default T
    get()
     
    default B
    Instance of this builder as the correct type.
    default B
    update(Consumer<B> consumer)
    Update the builder in a fluent API way.
  • Method Details

    • build

      T build()
      Build the instance from this builder.
      Returns:
      instance of the built type
    • update

      default B update(Consumer<B> consumer)
      Update the builder in a fluent API way.
      Parameters:
      consumer - consumer of the builder instance
      Returns:
      updated builder instance
    • identity

      default B identity()
      Instance of this builder as the correct type.
      Returns:
      this instance typed to correct type
    • get

      default T get()
      Specified by:
      get in interface Supplier<B extends Builder<B,T>>