Module io.helidon.openapi
Package io.helidon.openapi
Class OpenApiFeatureConfig.BuilderBase<BUILDER extends OpenApiFeatureConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends OpenApiFeatureConfig>
java.lang.Object
io.helidon.openapi.OpenApiFeatureConfig.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:
OpenApiFeatureConfig.Builder
- Enclosing interface:
OpenApiFeatureConfig
public abstract static class OpenApiFeatureConfig.BuilderBase<BUILDER extends OpenApiFeatureConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends OpenApiFeatureConfig>
extends Object
implements ConfigBuilderSupport.ConfiguredBuilder<BUILDER,PROTOTYPE>
Fluent API builder base for
OpenApiFeatureConfig.-
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 TypeMethodDescriptionHints for role names the user is expected to be in.addService(OpenApiService service) OpenAPI services.addServices(List<? extends OpenApiService> services) OpenAPI services.List of sockets to register this feature on.addSockets(Set<String> sockets) List of sockets to register this feature on.Deprecated, for removal: This API element is subject to removal in a future version.Clear existing value of manager.Clear all roles.Clear all services.Clear all sockets.Clear existing value of staticFile.config()Configuration used to configure this instance.Deprecated.Update builder from configuration (node of this type).cors()Deprecated, for removal: This API element is subject to removal in a future version.feature specific CORS configuration is deprecated and will be removed; use either config based CORS setup (configuration keycors, or programmatic setup using theio.helidon.webserver.cors.CorsFeatureserver featurecors(CrossOriginConfig cors) Deprecated, for removal: This API element is subject to removal in a future version.feature specific CORS configuration is deprecated and will be removed; use either config based CORS setup (configuration keycors, or programmatic setup using theio.helidon.webserver.cors.CorsFeatureserver featurecors(Consumer<CrossOriginConfig.Builder> consumer) Deprecated, for removal: This API element is subject to removal in a future version.feature specific CORS configuration is deprecated and will be removed; use either config based CORS setup (configuration keycors, or programmatic setup using theio.helidon.webserver.cors.CorsFeatureserver featurecors(Supplier<? extends CrossOriginConfig> supplier) Deprecated, for removal: This API element is subject to removal in a future version.feature specific CORS configuration is deprecated and will be removed; use either config based CORS setup (configuration keycors, or programmatic setup using theio.helidon.webserver.cors.CorsFeatureserver featurefrom(OpenApiFeatureConfig prototype) Update this builder from an existing prototype instance.from(OpenApiFeatureConfig.BuilderBase<?, ?> builder) Update this builder from an existing prototype builder instance.booleanSets whether the feature should be enabled.isEnabled(boolean isEnabled) Sets whether the feature should be enabled.manager()OpenAPI manager.manager(OpenApiManager<?> manager) OpenAPI manager.booleanService discovery flag formanager().managerDiscoverServices(boolean managerDiscoverServices) Service discovery flag formanager().name()Name of this instance.Name of this instance.booleanWhether to allow anybody to access the endpoint.permitAll(boolean permitAll) Whether to allow anybody to access the endpoint.protected voidHandles providers and decorators.roles()Hints for role names the user is expected to be in.Hints for role names the user is expected to be in.services()OpenAPI services.services(List<? extends OpenApiService> services) OpenAPI services.booleanService discovery flag forservices().servicesDiscoverServices(boolean servicesDiscoverServices) Service discovery flag forservices().sockets()List of sockets to register this feature on.List of sockets to register this feature on.Path of the static OpenAPI document file.staticFile(String staticFile) Path of the static OpenAPI document file.toString()protected voidValidates required properties.Web context path for the OpenAPI endpoint.webContext(String webContext) Web context path for the OpenAPI endpoint.doubleweight()Weight of the OpenAPI feature.weight(double weight) Weight of the OpenAPI 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 OpenApiFeatureConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends OpenApiFeatureConfig> - 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 OpenApiFeatureConfig.BuilderBase<BUILDER,PROTOTYPE>, PROTOTYPE extends OpenApiFeatureConfig> - Parameters:
config- configuration instance used to obtain values to update this builder- Returns:
- updated builder instance
-
weight
Weight of the OpenAPI feature. This is quite low, to be registered after routing. 90.0.- Parameters:
weight- weight of the feature- Returns:
- updated builder instance
- See Also:
-
isEnabled
Sets whether the feature should be enabled.- Parameters:
isEnabled-trueif enabled,falseotherwise- Returns:
- updated builder instance
- See Also:
-
webContext
Web context path for the OpenAPI endpoint.- Parameters:
webContext- webContext to use- Returns:
- updated builder instance
- See Also:
-
clearStaticFile
Clear existing value of staticFile.- Returns:
- updated builder instance
- See Also:
-
staticFile
Path of the static OpenAPI document file. Default types are `json`, `yaml`, and `yml`.- Parameters:
staticFile- location of the static OpenAPI document file- Returns:
- updated builder instance
- See Also:
-
clearCors
Deprecated, for removal: This API element is subject to removal in a future version.feature specific CORS configuration is deprecated and will be removed; use either config based CORS setup (configuration keycors, or programmatic setup using theio.helidon.webserver.cors.CorsFeatureserver featureClear existing value of cors.- Returns:
- updated builder instance
- See Also:
-
cors
Deprecated, for removal: This API element is subject to removal in a future version.feature specific CORS configuration is deprecated and will be removed; use either config based CORS setup (configuration keycors, or programmatic setup using theio.helidon.webserver.cors.CorsFeatureserver featureCORS config.- Parameters:
cors- CORS config- Returns:
- updated builder instance
- See Also:
-
cors
@Deprecated(since="4.4.0", forRemoval=true) public BUILDER cors(Consumer<CrossOriginConfig.Builder> consumer) Deprecated, for removal: This API element is subject to removal in a future version.feature specific CORS configuration is deprecated and will be removed; use either config based CORS setup (configuration keycors, or programmatic setup using theio.helidon.webserver.cors.CorsFeatureserver featureCORS config.- Parameters:
consumer- consumer of builder of CORS config- Returns:
- updated builder instance
- See Also:
-
cors
@Deprecated(since="4.4.0", forRemoval=true) public BUILDER cors(Supplier<? extends CrossOriginConfig> supplier) Deprecated, for removal: This API element is subject to removal in a future version.feature specific CORS configuration is deprecated and will be removed; use either config based CORS setup (configuration keycors, or programmatic setup using theio.helidon.webserver.cors.CorsFeatureserver featureCORS config.- Parameters:
supplier- supplier of CORS config- Returns:
- updated builder instance
- See Also:
-
clearServices
Clear all services.- Returns:
- updated builder instance
- See Also:
-
services
OpenAPI services.- Parameters:
services- the OpenAPI services- Returns:
- updated builder instance
- See Also:
-
addServices
OpenAPI services.- Parameters:
services- the OpenAPI services- Returns:
- updated builder instance
- See Also:
-
addService
OpenAPI services.- Parameters:
service- add single the OpenAPI services- Returns:
- updated builder instance
- See Also:
-
clearManager
Clear existing value of manager.- Returns:
- updated builder instance
- See Also:
-
manager
OpenAPI manager.- Parameters:
manager- the OpenAPI manager- Returns:
- updated builder instance
- See Also:
-
permitAll
Whether to allow anybody to access the endpoint.- Parameters:
permitAll- whether to permit access to metrics endpoint to anybody, defaults totrue- Returns:
- updated builder instance
- See Also:
-
clearRoles
Clear all roles.- Returns:
- updated builder instance
- See Also:
-
roles
Hints for role names the user is expected to be in.- Parameters:
roles- list of hints- Returns:
- updated builder instance
- See Also:
-
addRoles
Hints for role names the user is expected to be in.- Parameters:
roles- list of hints- Returns:
- updated builder instance
- See Also:
-
name
Name of this instance.- Parameters:
name- instance name, used when discovered from configuration- 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:
-
servicesDiscoverServices
Service discovery flag forservices(). If set totrue, services will be discovered from Java service loader, or Helidon ServiceRegistry.- Parameters:
servicesDiscoverServices- whether to enable automatic service discovery- Returns:
- updated builder instance
- See Also:
-
managerDiscoverServices
Service discovery flag formanager(). If set totrue, services will be discovered from Java service loader, or Helidon ServiceRegistry.- Parameters:
managerDiscoverServices- whether to enable automatic service discovery- Returns:
- updated builder instance
- See Also:
-
weight
public double weight()Weight of the OpenAPI feature. This is quite low, to be registered after routing. 90.0.- Returns:
- weight of the feature
-
isEnabled
public boolean isEnabled()Sets whether the feature should be enabled.- Returns:
trueif enabled,falseotherwise
-
webContext
Web context path for the OpenAPI endpoint.- Returns:
- webContext to use
-
staticFile
Path of the static OpenAPI document file. Default types are `json`, `yaml`, and `yml`.- Returns:
- location of the static OpenAPI document file
-
cors
Deprecated, for removal: This API element is subject to removal in a future version.feature specific CORS configuration is deprecated and will be removed; use either config based CORS setup (configuration keycors, or programmatic setup using theio.helidon.webserver.cors.CorsFeatureserver featureCORS config.- Returns:
- CORS config
-
services
OpenAPI services.- Returns:
- the OpenAPI services
-
manager
OpenAPI manager.- Returns:
- the OpenAPI manager
-
permitAll
public boolean permitAll()Whether to allow anybody to access the endpoint.- Returns:
- whether to permit access to metrics endpoint to anybody, defaults to
true - See Also:
-
roles
Hints for role names the user is expected to be in.- Returns:
- list of hints
-
name
Name of this instance.- Returns:
- instance name, used when discovered from configuration
-
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)
-
servicesDiscoverServices
public boolean servicesDiscoverServices()Service discovery flag forservices(). If set totrue, services will be discovered from Java service loader, or Helidon ServiceRegistry.- Returns:
- whether to enable automatic service discovery
-
managerDiscoverServices
public boolean managerDiscoverServices()Service discovery flag formanager(). If set totrue, services will be discovered from Java service loader, or Helidon ServiceRegistry.- Returns:
- whether to enable automatic service discovery
-
toString
-
preBuildPrototype
protected void preBuildPrototype()Handles providers and decorators. -
validatePrototype
protected void validatePrototype()Validates required properties. -
config
Configuration used to configure this instance.- Returns:
- config instance
-
cors, or programmatic setup using theio.helidon.webserver.cors.CorsFeatureserver feature