Class RestApi.Builder<B extends RestApi.Builder<B,T>,T extends RestApi>
- java.lang.Object
-
- io.helidon.integrations.common.rest.RestApi.Builder<B,T>
-
- Type Parameters:
B
- type of the builder (a subclass of this class)T
- type of the builtRestApi
- Direct Known Subclasses:
OciRestApi.Builder
,VaultRestApi.BuilderBase
- Enclosing interface:
- RestApi
public abstract static class RestApi.Builder<B extends RestApi.Builder<B,T>,T extends RestApi> extends Object implements Builder<T>
Base builder for REST APIs.
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description T
build()
B
config(Config config)
Configure this builder from config.protected abstract T
doBuild()
Build an instance ofRestApi
implementation.B
faultTolerance(FtHandler ftHandler)
Configure the fault tolerance handler to use with client requests.protected FtHandler
ftHandler()
Configured Fault tolerance handler.T
get()
protected JsonBuilderFactory
jsonBuilderFactory()
JSON builder factory.protected JsonReaderFactory
jsonReaderFactory()
JSON reader factory.protected JsonWriterFactory
jsonWriterFactory()
JSON writer factory.protected B
me()
Allows returning the correct type when subclassing.protected void
postBuild()
Post build method.protected void
preBuild()
Pre build method.protected WebClient
webClient()
WebClient instance, available afterpostBuild()
is called.B
webClientBuilder(Consumer<WebClient.Builder> updater)
Update web client builder.
-
-
-
Method Detail
-
build
public final T build()
-
get
public final T get()
-
config
public B config(Config config)
Configure this builder from config. Useswebclient
key to configure theWebClient
builder, andjsonp
key to configure the JSON factories.- Parameters:
config
- configuration on the node of this rest API- Returns:
- updated builder
-
faultTolerance
public B faultTolerance(FtHandler ftHandler)
Configure the fault tolerance handler to use with client requests.- Parameters:
ftHandler
- fault tolerance handler- Returns:
- updated builder
-
webClientBuilder
public B webClientBuilder(Consumer<WebClient.Builder> updater)
Update web client builder. This can be used to configureWebClient.Builder.connectTimeout(long, java.util.concurrent.TimeUnit)
,WebClient.Builder.readTimeout(long, java.util.concurrent.TimeUnit)
and other options.- Parameters:
updater
- consumer that updates the web client builder- Returns:
- updated builder instance
-
me
protected B me()
Allows returning the correct type when subclassing.- Returns:
- this instance typed as subclass
-
preBuild
protected void preBuild()
Pre build method. This implementation builds the web client and sets up JSON factories.
-
postBuild
protected void postBuild()
Post build method. This implementation does nothing
-
doBuild
protected abstract T doBuild()
Build an instance ofRestApi
implementation.- Returns:
- a new instance
-
webClient
protected WebClient webClient()
WebClient instance, available afterpostBuild()
is called.- Returns:
- web client
-
ftHandler
protected FtHandler ftHandler()
Configured Fault tolerance handler.- Returns:
- handler
-
jsonBuilderFactory
protected JsonBuilderFactory jsonBuilderFactory()
JSON builder factory.- Returns:
- builder factory
-
jsonReaderFactory
protected JsonReaderFactory jsonReaderFactory()
JSON reader factory.- Returns:
- reader factory
-
jsonWriterFactory
protected JsonWriterFactory jsonWriterFactory()
JSON writer factory.- Returns:
- writer factory
-
-