Module io.helidon.webserver
Package io.helidon.webserver
Class WebServerConfig.BuilderBase<BUILDER extends WebServerConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends WebServerConfig>
java.lang.Object
io.helidon.webserver.ListenerConfig.BuilderBase<BUILDER,PROTOTYPE>
io.helidon.webserver.WebServerConfig.BuilderBase<BUILDER,PROTOTYPE>
- Type Parameters:
BUILDER
- type of the builder extending this abstract builderPROTOTYPE
- type of the prototype interface that would be built byPrototype.Builder.buildPrototype()
- All Implemented Interfaces:
Prototype.Builder<BUILDER,
,PROTOTYPE> Prototype.ConfiguredBuilder<BUILDER,
PROTOTYPE>
- Direct Known Subclasses:
WebServerConfig.Builder
- Enclosing interface:
WebServerConfig
public abstract static class WebServerConfig.BuilderBase<BUILDER extends WebServerConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends WebServerConfig>
extends ListenerConfig.BuilderBase<BUILDER,PROTOTYPE>
implements Prototype.ConfiguredBuilder<BUILDER,PROTOTYPE>
Fluent API builder base for
WebServer
.-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
Generated implementation of the prototype, can be extended by descendant prototype implementations.Nested classes/interfaces inherited from class io.helidon.webserver.ListenerConfig.BuilderBase
ListenerConfig.BuilderBase.ListenerConfigImpl
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddFeature
(ServerFeature feature) Server features allow customization of the server, listeners, or routings.addFeatures
(List<? extends ServerFeature> features) Server features allow customization of the server, listeners, or routings.addSockets
(Map<? extends String, ? extends ListenerConfig> sockets) This method keeps existing values, then puts all new values into the map.Clear existing value of this property.config()
If this instance was configured, this would be the config instance used.Update builder from configuration (node of this type).features()
Server features allow customization of the server, listeners, or routings.features
(List<? extends ServerFeature> features) Server features allow customization of the server, listeners, or routings.featuresDiscoverServices
(boolean discoverServices) Server features allow customization of the server, listeners, or routings.from
(WebServerConfig prototype) Update this builder from an existing prototype instance.from
(WebServerConfig.BuilderBase<?, ?> builder) Update this builder from an existing prototype builder instance.Routing for additional sockets.protected void
Handles providers and decorators.putSocket
(String key, ListenerConfig socket) This method adds a new value to the map, or replaces it if the key already exists.putSocket
(String key, Consumer<ListenerConfig.Builder> consumer) This method adds a new value to the map, or replaces it if the key already exists.routing
(String socket, HttpRouting.Builder routing) Add Http routing for an additional socket.routing
(String socket, Consumer<HttpRouting.Builder> consumer) Add Http routing for an additional socket.Context for the WebServer, if none defined, a new one will be created with global context as the root.serverContext
(Context serverContext) Context for the WebServer, if none defined, a new one will be created with global context as the root.serverContext
(Consumer<Context.Builder> consumer) Context for the WebServer, if none defined, a new one will be created with global context as the root.boolean
When true the webserver registers a shutdown hook with the JVM Runtime.shutdownHook
(boolean shutdownHook) When true the webserver registers a shutdown hook with the JVM Runtime.sockets()
Socket configurations.sockets
(Map<? extends String, ? extends ListenerConfig> sockets) This method replaces all values with the new ones.toString()
protected void
Validates required properties.Methods inherited from class io.helidon.webserver.ListenerConfig.BuilderBase
addConnectionSelector, addConnectionSelectors, addListenerSocketOptions, addProtocol, addProtocols, address, address, addRouting, addRoutings, backlog, backlog, clearConcurrencyLimit, clearConnectionConfig, clearContentEncoding, clearDirectHandlers, clearListenerContext, clearMediaContext, clearReceiveBufferSize, clearRequestedUriDiscoveryContext, clearRouting, clearTls, concurrencyLimit, concurrencyLimit, connectionConfig, connectionConfig, connectionConfig, connectionOptions, connectionOptions, connectionOptions, connectionOptions, connectionSelectors, connectionSelectors, contentEncoding, contentEncoding, contentEncoding, contentEncoding, directHandlers, directHandlers, directHandlers, enableProxyProtocol, enableProxyProtocol, from, from, host, host, idleConnectionPeriod, idleConnectionPeriod, idleConnectionTimeout, idleConnectionTimeout, listenerContext, listenerContext, listenerContext, listenerSocketOptions, listenerSocketOptions, maxConcurrentRequests, maxConcurrentRequests, maxInMemoryEntity, maxInMemoryEntity, maxPayloadSize, maxPayloadSize, maxTcpConnections, maxTcpConnections, mediaContext, mediaContext, mediaContext, mediaContext, name, name, port, port, protocols, protocols, protocolsDiscoverServices, putListenerSocketOption, receiveBufferSize, receiveBufferSize, requestedUriDiscoveryContext, requestedUriDiscoveryContext, requestedUriDiscoveryContext, routing, routing, routing, routings, routings, shutdownGracePeriod, shutdownGracePeriod, smartAsyncWrites, smartAsyncWrites, tls, tls, tls, tls, writeBufferSize, writeBufferSize, writeQueueLength, writeQueueLength
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.helidon.builder.api.Prototype.Builder
buildPrototype, self
Methods inherited from interface io.helidon.builder.api.Prototype.ConfiguredBuilder
discoverService, discoverServices
-
Constructor Details
-
BuilderBase
protected BuilderBase()Protected to support extensibility.
-
-
Method Details
-
from
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
Update this builder from an existing prototype builder instance.- Parameters:
builder
- existing builder prototype to update this builder from- Returns:
- updated builder instance
-
routing
Add Http routing for an additional socket.- Parameters:
socket
- name of the socketconsumer
- HTTP Routing for the given socket name- Returns:
- updated builder instance
-
routing
Add Http routing for an additional socket.- Parameters:
socket
- name of the socketrouting
- HTTP Routing for the given socket name- Returns:
- updated builder instance
-
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 interfacePrototype.ConfiguredBuilder<BUILDER extends WebServerConfig.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends WebServerConfig> - Overrides:
config
in classListenerConfig.BuilderBase<BUILDER extends WebServerConfig.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends WebServerConfig> - Parameters:
config
- configuration instance used to obtain values to update this builder- Returns:
- updated builder instance
-
shutdownHook
When true the webserver registers a shutdown hook with the JVM Runtime.Defaults to true. Set this to false such that a shutdown hook is not registered.
- Parameters:
shutdownHook
- whether to register a shutdown hook- Returns:
- updated builder instance
- See Also:
-
sockets
This method replaces all values with the new ones.- Parameters:
sockets
- map of listener configurations, except for the default one- Returns:
- updated builder instance
- See Also:
-
addSockets
This method keeps existing values, then puts all new values into the map.- Parameters:
sockets
- map of listener configurations, except for the default one- Returns:
- updated builder instance
- See Also:
-
putSocket
This method adds a new value to the map, or replaces it if the key already exists.- Parameters:
key
- key to add or replacesocket
- new value for the key- Returns:
- updated builder instance
- See Also:
-
putSocket
This method adds a new value to the map, or replaces it if the key already exists.- Parameters:
key
- key to add or replaceconsumer
- builder consumer to create new value for the key- Returns:
- updated builder instance
- See Also:
-
featuresDiscoverServices
Server features allow customization of the server, listeners, or routings.- Parameters:
discoverServices
- whether to discover implementations through service loader- Returns:
- updated builder instance
- See Also:
-
features
Server features allow customization of the server, listeners, or routings.- Parameters:
features
- server features- Returns:
- updated builder instance
- See Also:
-
addFeatures
Server features allow customization of the server, listeners, or routings.- Parameters:
features
- server features- Returns:
- updated builder instance
- See Also:
-
addFeature
Server features allow customization of the server, listeners, or routings.- Parameters:
feature
- server features- Returns:
- updated builder instance
- See Also:
-
clearServerContext
Clear existing value of this property.- Returns:
- updated builder instance
- See Also:
-
serverContext
Context for the WebServer, if none defined, a new one will be created with global context as the root.- Parameters:
serverContext
- server context- Returns:
- updated builder instance
- See Also:
-
serverContext
Context for the WebServer, if none defined, a new one will be created with global context as the root.- Parameters:
consumer
- server context- Returns:
- updated builder instance
- See Also:
-
shutdownHook
public boolean shutdownHook()When true the webserver registers a shutdown hook with the JVM Runtime.Defaults to true. Set this to false such that a shutdown hook is not registered.
- Returns:
- the shutdown hook
-
sockets
Socket configurations. Note that socket named "@default" cannot be used, configure the values on the server directly.- Returns:
- the sockets
-
namedRoutings
Routing for additional sockets. Note that socket named "@default" cannot be used, configure the routing on the server directly.- Returns:
- the named routings
-
features
Server features allow customization of the server, listeners, or routings.- Returns:
- the features
-
serverContext
Context for the WebServer, if none defined, a new one will be created with global context as the root.- Returns:
- the server context
-
config
If this instance was configured, this would be the config instance used.- Overrides:
config
in classListenerConfig.BuilderBase<BUILDER extends WebServerConfig.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends WebServerConfig> - Returns:
- config node used to configure this builder, or empty if not configured
-
toString
- Overrides:
toString
in classListenerConfig.BuilderBase<BUILDER extends WebServerConfig.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends WebServerConfig>
-
preBuildPrototype
protected void preBuildPrototype()Handles providers and decorators.- Overrides:
preBuildPrototype
in classListenerConfig.BuilderBase<BUILDER extends WebServerConfig.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends WebServerConfig>
-
validatePrototype
protected void validatePrototype()Validates required properties.- Overrides:
validatePrototype
in classListenerConfig.BuilderBase<BUILDER extends WebServerConfig.BuilderBase<BUILDER,
PROTOTYPE>, PROTOTYPE extends WebServerConfig>
-