java.lang.Object
io.helidon.webserver.context.ContextFeature
- All Implemented Interfaces:
RuntimeType.Api<ContextFeatureConfig>
,NamedService
,Weighted
,ServerFeature
,Comparable<Weighted>
public class ContextFeature
extends Object
implements Weighted, ServerFeature, RuntimeType.Api<ContextFeatureConfig>
Adds
Context
support to Helidon WebServer.
When added to the processing, further processing will be executed in a request specific context.-
Nested Class Summary
Nested classes/interfaces inherited from interface io.helidon.webserver.spi.ServerFeature
ServerFeature.RoutingBuilders, ServerFeature.ServerFeatureContext, ServerFeature.SocketBuilders
-
Field Summary
Fields inherited from interface io.helidon.common.Weighted
DEFAULT_WEIGHT
-
Method Summary
Modifier and TypeMethodDescriptionstatic ContextFeatureConfig.Builder
builder()
Fluent API builder to set up an instance.static ContextFeature
create()
Create a new context feature with default setup.static ContextFeature
Create a new context feature with custom setup.static ContextFeature
create
(ContextFeatureConfig config) Create a new instance from its configuration.static ContextFeature
create
(Consumer<ContextFeatureConfig.Builder> builderConsumer) Create a new instance customizing its configuration.name()
Name of this implementation, as provided inConfiguredProvider.create(Config, String)
.The prototype as it was received when creating this runtime object instance.void
setup
(ServerFeature.ServerFeatureContext featureContext) Set up a server feature.type()
Type of this implementation, to distinguish instances of same type, with differentNamedService.name()
.double
weight()
Weight of this class (maybe because it is defined dynamically, so it cannot be defined by an annotation).
-
Field Details
-
WEIGHT
public static final double WEIGHTDefault weight of the feature. It is quite high, as context is used by a lot of other features.- See Also:
-
-
Method Details
-
builder
Fluent API builder to set up an instance.- Returns:
- a new builder
-
create
Create a new instance from its configuration.- Parameters:
config
- configuration- Returns:
- a new feature
-
create
Create a new instance customizing its configuration.- Parameters:
builderConsumer
- consumer of configuration- Returns:
- a new feature
-
create
Create a new context feature with default setup.- Returns:
- a new feature
-
create
Create a new context feature with custom setup.- Parameters:
config
- configuration- Returns:
- a new configured feature
-
setup
Description copied from interface:ServerFeature
Set up a server feature. Server features can modify server configuration, right before the server is created. To access listener configuration, or routing, a list of all listeners is provided.- Specified by:
setup
in interfaceServerFeature
- Parameters:
featureContext
- to access builders of webserver, listeners, and routing
-
name
Description copied from interface:NamedService
Name of this implementation, as provided inConfiguredProvider.create(Config, String)
.- Specified by:
name
in interfaceNamedService
- Returns:
- name of this service
-
type
Description copied from interface:NamedService
Type of this implementation, to distinguish instances of same type, with differentNamedService.name()
. Use for exampleConfiguredProvider.configKey()
to define the type.- Specified by:
type
in interfaceNamedService
- Returns:
- type of this service
-
prototype
Description copied from interface:RuntimeType.Api
The prototype as it was received when creating this runtime object instance.- Specified by:
prototype
in interfaceRuntimeType.Api<ContextFeatureConfig>
- Returns:
- prototype object used to create this instance
-
weight
public double weight()Description copied from interface:Weighted
Weight of this class (maybe because it is defined dynamically, so it cannot be defined by an annotation). If not dynamic, you can use theWeight
annotation rather than implementing this interface as long as it is supported by the library using thisWeighted
.
-