Module io.helidon.webserver.cors
Package io.helidon.webserver.cors
Class CorsConfig.BuilderBase<BUILDER extends CorsConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends CorsConfig>
java.lang.Object
io.helidon.webserver.cors.CorsConfig.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> ConfigBuilderSupport.ConfiguredBuilder<BUILDER,,PROTOTYPE> ConfigBuilderSupport.ConfiguredBuilder<BUILDER,PROTOTYPE>
- Direct Known Subclasses:
CorsConfig.Builder
- Enclosing interface:
CorsConfig
public abstract static class CorsConfig.BuilderBase<BUILDER extends CorsConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends CorsConfig>
extends Object
implements ConfigBuilderSupport.ConfiguredBuilder<BUILDER,PROTOTYPE>
Fluent API builder base for
CorsConfig.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classGenerated implementation of the prototype, can be extended by descendant prototype implementations. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanWhether to add a default path configuration, that matches all paths,GET, HEAD, POSTmethods, and allows all origins, methods, and headers.addDefaults(boolean addDefaults) Whether to add a default path configuration, that matches all paths,GET, HEAD, POSTmethods, and allows all origins, methods, and headers.addPath(CorsPathConfig path) Per path configuration.addPath(Consumer<CorsPathConfig.Builder> consumer) Per path configuration.addPaths(List<? extends CorsPathConfig> paths) Per path configuration.List of sockets to register this feature on.addSockets(Set<String> sockets) List of sockets to register this feature on.Clear all paths.Clear all sockets.config()Deprecated, for removal: This API element is subject to removal in a future version.Deprecated.Update builder from configuration (node of this type).enabled()This feature can be disabled.enabled(boolean enabled) This feature can be disabled.from(CorsConfig prototype) Update this builder from an existing prototype instance.from(CorsConfig.BuilderBase<?, ?> builder) Update this builder from an existing prototype builder instance.name()Name of this instance.Name of this instance.paths()Per path configuration.paths(List<? extends CorsPathConfig> paths) Per path configuration.booleanService discovery flag forpaths().pathsDiscoverServices(boolean pathsDiscoverServices) Service discovery flag forpaths().protected voidHandles providers and decorators.Service registry used to discover providers and services.serviceRegistry(ServiceRegistry serviceRegistry) Service registry used to discover providers and services.sockets()List of sockets to register this feature on.List of sockets to register this feature on.toString()protected voidValidates required properties.doubleweight()Weight of the CORS feature.weight(double weight) Weight of the CORS feature.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.helidon.builder.api.Prototype.Builder
buildPrototype, self
-
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
-
config
Deprecated.Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.- Specified by:
configin interfaceConfigBuilderSupport.ConfiguredBuilder<BUILDER extends CorsConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends CorsConfig> - Parameters:
config- configuration instance used to obtain values to update this builder- 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:
configin interfaceConfigBuilderSupport.ConfiguredBuilder<BUILDER extends CorsConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends CorsConfig> - Parameters:
config- configuration instance used to obtain values to update this builder- Returns:
- updated builder instance
-
weight
Weight of the CORS feature. As it is used by other features, the default is quite high: 850.0.- Parameters:
weight- weight of the feature- Returns:
- updated builder instance
- See Also:
-
clearSockets
Clear all sockets.- Returns:
- updated builder instance
- See Also:
-
sockets
List of sockets to register this feature on. If empty, it would get registered on all sockets.- Parameters:
sockets- socket names to register on, defaults to empty (all available sockets)- Returns:
- updated builder instance
- See Also:
-
addSockets
List of sockets to register this feature on. If empty, it would get registered on all sockets.- Parameters:
sockets- socket names to register on, defaults to empty (all available sockets)- Returns:
- updated builder instance
- See Also:
-
addSocket
List of sockets to register this feature on. If empty, it would get registered on all sockets.- Parameters:
socket- add single socket names to register on, defaults to empty (all available sockets)- Returns:
- updated builder instance
- See Also:
-
name
Name of this instance.- Parameters:
name- instance name- Returns:
- updated builder instance
- See Also:
-
enabled
This feature can be disabled. This feature is automatically enabled if there is at least onepaths()defined.- Parameters:
enabled- whether the feature is enabled- Returns:
- updated builder instance
- See Also:
-
clearPaths
Clear all paths.- Returns:
- updated builder instance
- See Also:
-
paths
Per path configuration. Default path is added, unlessaddDefaults()is set tofalse.- Parameters:
paths- per path configurations- Returns:
- updated builder instance
- See Also:
-
addPaths
Per path configuration. Default path is added, unlessaddDefaults()is set tofalse.- Parameters:
paths- per path configurations- Returns:
- updated builder instance
- See Also:
-
addPath
Per path configuration. Default path is added, unlessaddDefaults()is set tofalse.- Parameters:
path- add single per path configurations- Returns:
- updated builder instance
- See Also:
-
addPath
Per path configuration. Default path is added, unlessaddDefaults()is set tofalse.- Parameters:
consumer- consumer of builder for per path configurations- Returns:
- updated builder instance
- See Also:
-
addDefaults
Whether to add a default path configuration, that matches all paths,GET, HEAD, POSTmethods, and allows all origins, methods, and headers. This is always added as a last path.- Parameters:
addDefaults- whether to add defaults as the last path, defaults totrue- Returns:
- updated builder instance
- See Also:
-
pathsDiscoverServices
Service discovery flag forpaths(). If set totrue, services will be discovered from Java service loader, or Helidon ServiceRegistry.- Parameters:
pathsDiscoverServices- whether to enable automatic service discovery- Returns:
- updated builder instance
- See Also:
-
serviceRegistry
Service registry used to discover providers and services. Provide an explicit registry instance to use.If not configured, the
GlobalServiceRegistrywould be used to discover services.- Parameters:
serviceRegistry- service registry to use- Returns:
- updated builder instance
- See Also:
-
weight
public double weight()Weight of the CORS feature. As it is used by other features, the default is quite high: 850.0.- Returns:
- weight of the feature
-
sockets
List of sockets to register this feature on. If empty, it would get registered on all sockets.- Returns:
- socket names to register on, defaults to empty (all available sockets)
-
name
Name of this instance.- Returns:
- instance name
-
enabled
This feature can be disabled. This feature is automatically enabled if there is at least onepaths()defined.- Returns:
- whether the feature is enabled
-
paths
Per path configuration. Default path is added, unlessaddDefaults()is set tofalse.- Returns:
- per path configurations
-
addDefaults
public boolean addDefaults()Whether to add a default path configuration, that matches all paths,GET, HEAD, POSTmethods, and allows all origins, methods, and headers. This is always added as a last path.- Returns:
- whether to add defaults as the last path, defaults to
true
-
config
Deprecated, for removal: This API element is subject to removal in a future version.this method will be removed without a replacement, path based configuration is now handled bypaths()Access to config that was used to create this feature.- Returns:
- configuration
-
pathsDiscoverServices
public boolean pathsDiscoverServices()Service discovery flag forpaths(). If set totrue, services will be discovered from Java service loader, or Helidon ServiceRegistry.- Returns:
- whether to enable automatic service discovery
-
serviceRegistry
Service registry used to discover providers and services. Provide an explicit registry instance to use.If not configured, the
GlobalServiceRegistrywould be used to discover services.- Returns:
- service registry to use
-
toString
-
preBuildPrototype
protected void preBuildPrototype()Handles providers and decorators. -
validatePrototype
protected void validatePrototype()Validates required properties.
-
paths()