This is an automated email from the ASF dual-hosted git repository. jamesbognar pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push: new 0ba39ee70 Update new docs 0ba39ee70 is described below commit 0ba39ee704e5142d353af240c746a9df69ae3a97 Author: James Bognar <james.bog...@salesforce.com> AuthorDate: Wed Sep 17 09:21:45 2025 -0400 Update new docs --- .../docs/topics/02.20.00.PojoCategories.md | 4 +-- .../docs/topics/02.21.00.SimpleVariableLanguage.md | 37 ++++++++++++---------- .../docs/topics/02.21.02.VarResolvers.md | 16 +++++++--- .../docs/topics/02.27.08.HtmlCustomTemplates.md | 7 ++-- juneau-docs-poc/docs/topics/08.01.01.Overview.md | 7 ++-- .../docs/topics/08.02.05.LifecycleHooks.md | 22 +++++++------ juneau-docs-poc/docs/topics/10.10.04.FormData.md | 9 ++++-- juneau-docs-poc/docs/topics/10.10.05.Query.md | 9 ++++-- juneau-docs-poc/docs/topics/10.10.06.Header.md | 9 ++++-- juneau-docs-poc/docs/topics/10.10.07.Path.md | 9 ++++-- .../docs/topics/10.12.00.CustomizingHttpClient.md | 13 +++++--- 11 files changed, 88 insertions(+), 54 deletions(-) diff --git a/juneau-docs-poc/docs/topics/02.20.00.PojoCategories.md b/juneau-docs-poc/docs/topics/02.20.00.PojoCategories.md index 07238acc4..6784e8e0c 100644 --- a/juneau-docs-poc/docs/topics/02.20.00.PojoCategories.md +++ b/juneau-docs-poc/docs/topics/02.20.00.PojoCategories.md @@ -284,8 +284,8 @@ POJOs are convertible from Strings using any of the following (matched in the sp Exceptions exist for the following classes: -- [TimeZone]({{API_DOCS}}/java/util/TimeZone.html) - Uses [TimeZone#getTimeZone(String)]({{API_DOCS}}/java/util/TimeZone.html#getTimeZone(String)) -- [Locale]({{API_DOCS}}/java/util/Locale.html) - Uses [Locale#forLanguageTag(String)]({{API_DOCS}}/java/util/Locale.html#forLanguageTag(String)) after replacing '_' with '-'. +- [TimeZone]({{API_DOCS}}/java/util/TimeZone.html) - Uses [TimeZone.getTimeZone(String)]({{API_DOCS}}/java/util/TimeZone.html#getTimeZone(String)) +- [Locale]({{API_DOCS}}/java/util/Locale.html) - Uses [Locale.forLanguageTag(String)]({{API_DOCS}}/java/util/Locale.html#forLanguageTag(String)) after replacing '_' with '-'. - [Boolean]({{API_DOCS}}/java/lang/Boolean.html) - Blank and "null" are interpreted as null values. - Primitives (except for `void.class`) - Uses the primitive wrapper classes for instantiating from Strings. diff --git a/juneau-docs-poc/docs/topics/02.21.00.SimpleVariableLanguage.md b/juneau-docs-poc/docs/topics/02.21.00.SimpleVariableLanguage.md index 36716020e..350a1409b 100644 --- a/juneau-docs-poc/docs/topics/02.21.00.SimpleVariableLanguage.md +++ b/juneau-docs-poc/docs/topics/02.21.00.SimpleVariableLanguage.md @@ -12,21 +12,27 @@ Most variables can be recursively nested within the varKey (e.g. `$FOO{$BAR{xxx} The [VarResolver]({{API_DOCS}}/org/apache/juneau/svl/VarResolver.html) class is used to resolve variables. The [VarResolver#DEFAULT]({{API_DOCS}}/org/apache/juneau/svl/VarResolver.html#DEFAULT) resolver is a reusable instance of this class configured with the following basic variables: -- [SystemPropertiesVar]({{API_DOCS}}/org/apache/juneau/svl/vars/SystemPropertiesVar.html) - `$S\{key[,default]\}` -- [EnvVariablesVar]({{API_DOCS}}/org/apache/juneau/svl/vars/EnvVariablesVar.html) - `$E\{key[,default]\}` + +<tree> +<java-class>[SystemPropertiesVar]({{API_DOCS}}/org/apache/juneau/svl/vars/SystemPropertiesVar.html) - `$S{key[,default]}`</java-class> +<java-class>[EnvVariablesVar]({{API_DOCS}}/org/apache/juneau/svl/vars/EnvVariablesVar.html) - `$E{key[,default]}`</java-class> +</tree> The following logic variables are also provided: -- [IfVar]({{API_DOCS}}/org/apache/juneau/svl/vars/IfVar.html) - `$IF\{arg,then[,else]\}` -- [SwitchVar]({{API_DOCS}}/org/apache/juneau/svl/vars/SwitchVar.html) - `$SW\{arg,pattern1:then1[,pattern2:then2...]\}` -- [CoalesceVar]({{API_DOCS}}/org/apache/juneau/svl/vars/CoalesceVar.html) - `$CO\{arg1[,arg2...]\}` -- [PatternMatchVar]({{API_DOCS}}/org/apache/juneau/svl/vars/PatternMatchVar.html) - `$PM\{arg,pattern\}` -- [PatternReplaceVar]({{API_DOCS}}/org/apache/juneau/svl/vars/PatternReplaceVar.html) - `$PR\{arg,pattern,replace\}` -- [PatternExtractVar]({{API_DOCS}}/org/apache/juneau/svl/vars/PatternExtractVar.html) - `$PE\{arg,pattern,groupIndex\}` -- [NotEmptyVar]({{API_DOCS}}/org/apache/juneau/svl/vars/NotEmptyVar.html) - `$NE\{arg\}` -- [UpperCaseVar]({{API_DOCS}}/org/apache/juneau/svl/vars/UpperCaseVar.html) - `$UC\{arg\}` -- [LowerCaseVar]({{API_DOCS}}/org/apache/juneau/svl/vars/LowerCaseVar.html) - `$LC\{arg\}` -- [LenVar]({{API_DOCS}}/org/apache/juneau/svl/vars/LenVar.html) - `$LN\{arg[,delimiter]\}` -- [SubstringVar]({{API_DOCS}}/org/apache/juneau/svl/vars/SubstringVar.html) - `$ST\{arg,start[,end]\}` + +<tree> +<java-class>[IfVar]({{API_DOCS}}/org/apache/juneau/svl/vars/IfVar.html) - `$IF{arg,then[,else]}`</java-class> +<java-class>[SwitchVar]({{API_DOCS}}/org/apache/juneau/svl/vars/SwitchVar.html) - `$SW{arg,pattern1:then1[,pattern2:then2...]}`</java-class> +<java-class>[CoalesceVar]({{API_DOCS}}/org/apache/juneau/svl/vars/CoalesceVar.html) - `$CO{arg1[,arg2...]}`</java-class> +<java-class>[PatternMatchVar]({{API_DOCS}}/org/apache/juneau/svl/vars/PatternMatchVar.html) - `$PM{arg,pattern}`</java-class> +<java-class>[PatternReplaceVar]({{API_DOCS}}/org/apache/juneau/svl/vars/PatternReplaceVar.html) - `$PR{arg,pattern,replace}`</java-class> +<java-class>[PatternExtractVar]({{API_DOCS}}/org/apache/juneau/svl/vars/PatternExtractVar.html) - `$PE{arg,pattern,groupIndex}`</java-class> +<java-class>[NotEmptyVar]({{API_DOCS}}/org/apache/juneau/svl/vars/NotEmptyVar.html) - `$NE{arg}`</java-class> +<java-class>[UpperCaseVar]({{API_DOCS}}/org/apache/juneau/svl/vars/UpperCaseVar.html) - `$UC{arg}`</java-class> +<java-class>[LowerCaseVar]({{API_DOCS}}/org/apache/juneau/svl/vars/LowerCaseVar.html) - `$LC{arg}`</java-class> +<java-class>[LenVar]({{API_DOCS}}/org/apache/juneau/svl/vars/LenVar.html) - `$LN{arg[,delimiter]}`</java-class> +<java-class>[SubstringVar]({{API_DOCS}}/org/apache/juneau/svl/vars/SubstringVar.html) - `$ST{arg,start[,end]}`</java-class> +</tree> :::tip Example @@ -36,6 +42,8 @@ The following logic variables are also provided: String property = VarResolver.DEFAULT.resolve("The Java home directory is $S{java.home}"); ``` +::: + The following shows how variables can be arbitrarily nested... ```java @@ -44,7 +52,4 @@ The following shows how variables can be arbitrarily nested... // 2) 'my.property' system property if environment variable not found. // 3) 'not found' string if system property not found. String property = VarResolver.DEFAULT.resolve("$E{MYPROPERTY,$S{my.property,not found}}"); - ``` - -::: diff --git a/juneau-docs-poc/docs/topics/02.21.02.VarResolvers.md b/juneau-docs-poc/docs/topics/02.21.02.VarResolvers.md index 3676dd92a..468bef7e9 100644 --- a/juneau-docs-poc/docs/topics/02.21.02.VarResolvers.md +++ b/juneau-docs-poc/docs/topics/02.21.02.VarResolvers.md @@ -14,13 +14,19 @@ Two methods are provided for resolving variables: Var resolvers can rely on the existence of other objects. For example, [ConfigVar]({{API_DOCS}}/org/apache/juneau/config/vars/ConfigVar.html) relies on the existence of a [Config]({{API_DOCS}}/org/apache/juneau/config/Config.html). This is accomplished through the following method: -- [Builder]({{API_DOCS}}/org/apache/juneau/svl/VarResolver/Builder.html) -- \{@link oaj.svl.VarResolver.Builder#bean(Class,Object) bean(Class, T)\} - Specify a bean for all sessions. -- [VarResolverSession]({{API_DOCS}}/org/apache/juneau/svl/VarResolverSession.html) -- \{@link oaj.svl.VarResolverSession#bean(Class,Object) bean(Class, T)\} - Specify a bean for this session. + +<tree> +<java-class>[VarResolver.Builder]({{API_DOCS}}/org/apache/juneau/svl/VarResolver/Builder.html)</java-class> +<node-1><java-method>[bean(Class<T>, T)]({{API_DOCS}}/org/apache/juneau/svl/VarResolver/Builder.html#bean(Class,Object)) - Specify a bean for all sessions.</java-method></node-1> +<java-class>[VarResolverSession]({{API_DOCS}}/org/apache/juneau/svl/VarResolverSession.html)</java-class> +<node-1><java-method>[bean(Class<T>, T)]({{API_DOCS}}/org/apache/juneau/svl/VarResolverSession.html#bean(Class,Object)) - Specify a bean for this session.</java-method></node-1> +</tree> Beans are accessible through the following method: -- [VarResolverSession#getBean(Class)]({{API_DOCS}}/org/apache/juneau/svl/VarResolverSession.html#getBean(Class)) + +<tree> +<java-method>[VarResolverSession#getBean(Class)]({{API_DOCS}}/org/apache/juneau/svl/VarResolverSession.html#getBean(Class))</java-method> +</tree> Var resolvers can be cloned and extended by using the [VarResolver#copy()]({{API_DOCS}}/org/apache/juneau/svl/VarResolver.html#copy()) method. Cloning a resolver will copy it's [Var]({{API_DOCS}}/org/apache/juneau/svl/Var.html) class names and context objects. diff --git a/juneau-docs-poc/docs/topics/02.27.08.HtmlCustomTemplates.md b/juneau-docs-poc/docs/topics/02.27.08.HtmlCustomTemplates.md index bb0de6918..768da7b92 100644 --- a/juneau-docs-poc/docs/topics/02.27.08.HtmlCustomTemplates.md +++ b/juneau-docs-poc/docs/topics/02.27.08.HtmlCustomTemplates.md @@ -3,7 +3,10 @@ title: "Custom Templates" --- Custom page templates can be created by implementing the [HtmlDocTemplate]({{API_DOCS}}/org/apache/juneau/html/HtmlDocTemplate.html) interface and associating it with your [HtmlDocSerializer]({{API_DOCS}}/org/apache/juneau/html/HtmlDocSerializer.html) using the [Builder#template(Class)]({{API_DOCS}}/org/apache/juneau/html/HtmlDocSerializer/Builder.html#template(Class)) setting. -- [HtmlDocTemplate]({{API_DOCS}}/org/apache/juneau/html/HtmlDocTemplate.html) -- \{@link oaj.html.HtmlDocTemplate#writeTo(HtmlDocSerializerSession,HtmlWriter,Object) writeTo(HtmlDocSerializerSession,HtmlWriter,Object)\} + +<tree> +<java-class>[HtmlDocTemplate]({{API_DOCS}}/org/apache/juneau/html/HtmlDocTemplate.html)</java-class> +<node-1><javac-method>[writeTo(HtmlDocSerializerSession,HtmlWriter,Object)]({{API_DOCS}}/org/apache/juneau/html/HtmlDocTemplate.html#writeTo(HtmlDocSerializerSession,HtmlWriter,Object))</javac-method></node-1> +</tree> The interface implementation is open-ended allowing you to define the contents of the page any way you wish. diff --git a/juneau-docs-poc/docs/topics/08.01.01.Overview.md b/juneau-docs-poc/docs/topics/08.01.01.Overview.md index aa6b13d6c..336560506 100644 --- a/juneau-docs-poc/docs/topics/08.01.01.Overview.md +++ b/juneau-docs-poc/docs/topics/08.01.01.Overview.md @@ -5,8 +5,11 @@ title: "Overview" A REST resource is simply a Java class annotated with [@Rest]({{API_DOCS}}/org/apache/juneau/rest/annotation/Rest.html). The most common case is a class that extends [BasicRestServlet]({{API_DOCS}}/org/apache/juneau/rest/servlet/BasicRestServlet.html), which itself is simply an extension of [HttpServlet]({{API_DOCS}}/jakarta/servlet/http/HttpServlet.html) which allows it to be deployed as a servlet. Juneau has two sample applications for demonstrating how to use the REST API, one using Jetty and one using Spring Boot: -- `org.apache.juneau.examples.rest.jetty` -- `org.apache.juneau.examples.rest.springboot` + +<tree> +<java-package>`org.apache.juneau.examples.rest.jetty`</java-package> +<java-package>`org.apache.juneau.examples.rest.springboot`</java-package> +</tree> The `org.apache.juneau.examples.rest.springboot` application is described in the section SpringBoot Overview. The Jetty application consists of the following application class that registers our top-level servlet: diff --git a/juneau-docs-poc/docs/topics/08.02.05.LifecycleHooks.md b/juneau-docs-poc/docs/topics/08.02.05.LifecycleHooks.md index 4d629ae65..ce74c4028 100644 --- a/juneau-docs-poc/docs/topics/08.02.05.LifecycleHooks.md +++ b/juneau-docs-poc/docs/topics/08.02.05.LifecycleHooks.md @@ -36,13 +36,15 @@ public class MyResource extends BasicRestObject { The following lifecycle annotations are provided. -- Resource lifecycle events: -- [RestInit]({{API_DOCS}}/org/apache/juneau/rest/annotation/RestInit.html) - Right before initialization. -- [RestPostInit]({{API_DOCS}}/org/apache/juneau/rest/annotation/RestPostInit.html) - Right after initialization. -- [RestDestroy]({{API_DOCS}}/org/apache/juneau/rest/annotation/RestDestroy.html) - Right before servlet destroy. -- REST call lifecycle events: -- [RestStartCall]({{API_DOCS}}/org/apache/juneau/rest/annotation/RestStartCall.html) - At the beginning of a REST call. - -[RestPreCall]({{API_DOCS}}/org/apache/juneau/rest/annotation/RestPreCall.html) - Right before the @RestOp method is invoked. -[RestPostCall]({{API_DOCS}}/org/apache/juneau/rest/annotation/RestPostCall.html) - Right after the @RestOp method is invoked. -- [RestEndCall]({{API_DOCS}}/org/apache/juneau/rest/annotation/RestEndCall.html) - At the end of the REST call after the response has been flushed. + +<tree> +<node-0>Resource lifecycle events:</node-0> +<node-1><java-annotation>[RestInit]({{API_DOCS}}/org/apache/juneau/rest/annotation/RestInit.html) - Right before initialization.</java-annotation></node-1> +<node-1><java-annotation>[RestPostInit]({{API_DOCS}}/org/apache/juneau/rest/annotation/RestPostInit.html) - Right after initialization.</java-annotation></node-1> +<node-1><java-annotation>[RestDestroy]({{API_DOCS}}/org/apache/juneau/rest/annotation/RestDestroy.html) - Right before servlet destroy.</java-annotation></node-1> +<node-0>REST call lifecycle events:</node-0> +<node-1><java-annotation>[RestStartCall]({{API_DOCS}}/org/apache/juneau/rest/annotation/RestStartCall.html) - At the beginning of a REST call.</java-annotation></node-1> +<node-1><java-annotation>[RestPreCall]({{API_DOCS}}/org/apache/juneau/rest/annotation/RestPreCall.html) - Right before the @RestOp method is invoked.</java-annotation></node-1> +<node-1><java-annotation>[RestPostCall]({{API_DOCS}}/org/apache/juneau/rest/annotation/RestPostCall.html) - Right after the @RestOp method is invoked.</java-annotation></node-1> +<node-1><java-annotation>[RestEndCall]({{API_DOCS}}/org/apache/juneau/rest/annotation/RestEndCall.html) - At the end of the REST call after the response has been flushed.</java-annotation></node-1> +</tree> diff --git a/juneau-docs-poc/docs/topics/10.10.04.FormData.md b/juneau-docs-poc/docs/topics/10.10.04.FormData.md index 0786f8f00..c82b9f2fa 100644 --- a/juneau-docs-poc/docs/topics/10.10.04.FormData.md +++ b/juneau-docs-poc/docs/topics/10.10.04.FormData.md @@ -3,9 +3,12 @@ title: "@FormData" --- The [@FormData]({{API_DOCS}}/org/apache/juneau/http/annotation/FormData.html) annotation can be applied to arguments of @RemoteOp-annotated methods to denote that they are form-data parameters on the request. -- [FormData]({{API_DOCS}}/org/apache/juneau/http/annotation/FormData.html) -- [name]({{API_DOCS}}/org/apache/juneau/http/annotation/FormData.html#name()) - Form data entry name. -- [serializer]({{API_DOCS}}/org/apache/juneau/http/annotation/FormData.html#serializer()) - Override the part serializer. + +<tree> +<java-annotation>[@FormData]({{API_DOCS}}/org/apache/juneau/http/annotation/FormData.html)</java-annotation> +<node-1><java-field>[name]({{API_DOCS}}/org/apache/juneau/http/annotation/FormData.html#name()) - Form data entry name.</java-field></node-1> +<node-1><java-field>[serializer]({{API_DOCS}}/org/apache/juneau/http/annotation/FormData.html#serializer()) - Override the part serializer.</java-field></node-1> +</tree> :::tip Example diff --git a/juneau-docs-poc/docs/topics/10.10.05.Query.md b/juneau-docs-poc/docs/topics/10.10.05.Query.md index dc58e08c9..b6ee19188 100644 --- a/juneau-docs-poc/docs/topics/10.10.05.Query.md +++ b/juneau-docs-poc/docs/topics/10.10.05.Query.md @@ -3,9 +3,12 @@ title: "@Query" --- The [@Query]({{API_DOCS}}/org/apache/juneau/http/annotation/Query.html) annotation can be applied to arguments of @RemoteOp-annotated methods to denote that they are query parameters on the request. -- [Query]({{API_DOCS}}/org/apache/juneau/http/annotation/Query.html) -- [name]({{API_DOCS}}/org/apache/juneau/http/annotation/Query.html#name()) - Query parameter name. -- [serializer]({{API_DOCS}}/org/apache/juneau/http/annotation/Query.html#serializer()) - Override the part serializer. + +<tree> +<java-annotation>[@Query]({{API_DOCS}}/org/apache/juneau/http/annotation/Query.html)</java-annotation> +<node-1><java-field>[name]({{API_DOCS}}/org/apache/juneau/http/annotation/Query.html#name()) - Query parameter name.</java-field></node-1> +<node-1><java-field>[serializer]({{API_DOCS}}/org/apache/juneau/http/annotation/Query.html#serializer()) - Override the part serializer.</java-field></node-1> +</tree> :::tip Example diff --git a/juneau-docs-poc/docs/topics/10.10.06.Header.md b/juneau-docs-poc/docs/topics/10.10.06.Header.md index a5dc68e70..a63aae17f 100644 --- a/juneau-docs-poc/docs/topics/10.10.06.Header.md +++ b/juneau-docs-poc/docs/topics/10.10.06.Header.md @@ -3,9 +3,12 @@ title: "@Header" --- The [@Header]({{API_DOCS}}/org/apache/juneau/http/annotation/Header.html) annotation can be applied to arguments of @RemoteOp-annotated methods to denote that they are header parameters on the request. -- [Header]({{API_DOCS}}/org/apache/juneau/http/annotation/Header.html) -- [name]({{API_DOCS}}/org/apache/juneau/http/annotation/Header.html#name()) - Header name. -- [serializer]({{API_DOCS}}/org/apache/juneau/http/annotation/Header.html#serializer()) - Override the part serializer. + +<tree> +<java-annotation>[@Header]({{API_DOCS}}/org/apache/juneau/http/annotation/Header.html)</java-annotation> +<node-1><java-field>[name]({{API_DOCS}}/org/apache/juneau/http/annotation/Header.html#name()) - Header name.</java-field></node-1> +<node-1><java-field>[serializer]({{API_DOCS}}/org/apache/juneau/http/annotation/Header.html#serializer()) - Override the part serializer.</java-field></node-1> +</tree> :::tip Example diff --git a/juneau-docs-poc/docs/topics/10.10.07.Path.md b/juneau-docs-poc/docs/topics/10.10.07.Path.md index 10e0e4e67..a3b88d25a 100644 --- a/juneau-docs-poc/docs/topics/10.10.07.Path.md +++ b/juneau-docs-poc/docs/topics/10.10.07.Path.md @@ -3,9 +3,12 @@ title: "@Path" --- The [@Path]({{API_DOCS}}/org/apache/juneau/http/annotation/Path.html) annotation can be applied to arguments of @RemoteOp-annotated methods to denote that they are path parameters on the request. -- [Path]({{API_DOCS}}/org/apache/juneau/http/annotation/Path.html) -- [name]({{API_DOCS}}/org/apache/juneau/http/annotation/Path.html#name()) - Path variable name. -- [serializer]({{API_DOCS}}/org/apache/juneau/http/annotation/Path.html#serializer()) - Override the part serializer. + +<tree> +<java-annotation>[@Path]({{API_DOCS}}/org/apache/juneau/http/annotation/Path.html)</java-annotation> +<node-1><java-field>[name]({{API_DOCS}}/org/apache/juneau/http/annotation/Path.html#name()) - Path variable name.</java-field></node-1> +<node-1><java-field>[serializer]({{API_DOCS}}/org/apache/juneau/http/annotation/Path.html#serializer()) - Override the part serializer.</java-field></node-1> +</tree> :::tip Example diff --git a/juneau-docs-poc/docs/topics/10.12.00.CustomizingHttpClient.md b/juneau-docs-poc/docs/topics/10.12.00.CustomizingHttpClient.md index 3349f39cc..5ba6eddf1 100644 --- a/juneau-docs-poc/docs/topics/10.12.00.CustomizingHttpClient.md +++ b/juneau-docs-poc/docs/topics/10.12.00.CustomizingHttpClient.md @@ -3,11 +3,14 @@ title: "Customizing HttpClient" --- Several methods are provided for customizing the underlying HTTP client and client builder classes: -- [Builder]({{API_DOCS}}/org/apache/juneau/rest/client/RestClient/Builder.html) -- [httpClientBuilder(HttpClientBuilder)]({{API_DOCS}}/org/apache/juneau/rest/client/RestClient/Builder.html#httpClientBuilder(HttpClientBuilder)) - Set the client builder yourself. -- [createHttpClientBuilder()]({{API_DOCS}}/org/apache/juneau/rest/client/RestClient/Builder.html#createHttpClientBuilder()) - Override to create the client builder. -- [createHttpClient()]({{API_DOCS}}/org/apache/juneau/rest/client/RestClient/Builder.html#createHttpClient()) - Override to create the client. -- [createConnectionManager()]({{API_DOCS}}/org/apache/juneau/rest/client/RestClient/Builder.html#createConnectionManager()) - Override to create the connection management. + +<tree> +<java-class>[RestClient.Builder]({{API_DOCS}}/org/apache/juneau/rest/client/RestClient/Builder.html)</java-class> +<node-1><java-method>[httpClientBuilder(HttpClientBuilder)]({{API_DOCS}}/org/apache/juneau/rest/client/RestClient/Builder.html#httpClientBuilder(HttpClientBuilder)) - Set the client builder yourself.</java-method></node-1> +<node-1><java-method>[createHttpClientBuilder()]({{API_DOCS}}/org/apache/juneau/rest/client/RestClient/Builder.html#createHttpClientBuilder()) - Override to create the client builder.</java-method></node-1> +<node-1><java-method>[createHttpClient()]({{API_DOCS}}/org/apache/juneau/rest/client/RestClient/Builder.html#createHttpClient()) - Override to create the client.</java-method></node-1> +<node-1><java-method>[createConnectionManager()]({{API_DOCS}}/org/apache/juneau/rest/client/RestClient/Builder.html#createConnectionManager()) - Override to create the connection management.</java-method></node-1> +</tree> Additionally, all methods on the `HttpClientBuilder` class have been extended with fluent setters. :::tip Example