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 Tbuild()Bconfig(Config config)Configure this builder from config.protected abstract TdoBuild()Build an instance ofRestApiimplementation.BfaultTolerance(FtHandler ftHandler)Configure the fault tolerance handler to use with client requests.protected FtHandlerftHandler()Configured Fault tolerance handler.Tget()protected JsonBuilderFactoryjsonBuilderFactory()JSON builder factory.protected JsonReaderFactoryjsonReaderFactory()JSON reader factory.protected JsonWriterFactoryjsonWriterFactory()JSON writer factory.protected Bme()Allows returning the correct type when subclassing.protected voidpostBuild()Post build method.protected voidpreBuild()Pre build method.protected WebClientwebClient()WebClient instance, available afterpostBuild()is called.BwebClientBuilder(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. Useswebclientkey to configure theWebClientbuilder, andjsonpkey 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 ofRestApiimplementation.- 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
-
-