You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2020/05/15 15:13:33 UTC

[juneau] branch master updated: Javadocs.

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 485924e  Javadocs.
485924e is described below

commit 485924e474d9f66a89a0b485abba2fa86e617137
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Fri May 15 11:13:16 2020 -0400

    Javadocs.
---
 .../java/org/apache/juneau/jena/RdfSerializer.java |   2 +-
 .../juneau/jsonschema/JsonSchemaGenerator.java     |   8 +-
 .../apache/juneau/oapi/OpenApiParserBuilder.java   |   6 +-
 .../main/java/org/apache/juneau/parser/Parser.java |  13 +-
 .../org/apache/juneau/parser/ParserBuilder.java    |  12 +-
 .../apache/juneau/parser/ReaderParserBuilder.java  |   3 -
 .../serializer/OutputStreamSerializerBuilder.java  |   2 +-
 .../org/apache/juneau/serializer/Serializer.java   |  43 ++---
 .../juneau/serializer/SerializerBuilder.java       |  31 ++--
 .../juneau/serializer/WriterSerializerBuilder.java |   3 -
 .../java/org/apache/juneau/uon/UonSerializer.java  |   1 +
 .../apache/juneau/uon/UonSerializerBuilder.java    |  56 +++++-
 .../org/apache/juneau/rest/client2/RestClient.java | 203 ++++++++++++++++++++-
 .../juneau/rest/client2/RestClientBuilder.java     |  83 +++++----
 14 files changed, 347 insertions(+), 119 deletions(-)

diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
index 373408b..c4fdc2b 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
@@ -72,7 +72,7 @@ public class RdfSerializer extends WriterSerializer implements RdfCommon, RdfMet
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.jena.RdfSerializerBuilder#addBeanTypes(boolean)}
+	 * 			<li class='jm'>{@link org.apache.juneau.jena.RdfSerializerBuilder#addBeanTypes()}
 	 * 		</ul>
 	 * </ul>
 	 *
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java
index 02804ae..3ed66aa 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGenerator.java
@@ -272,10 +272,10 @@ public class JsonSchemaGenerator extends BeanTraverseContext implements JsonSche
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
 	 * 	<jc>// Don't generate schema for any prototype packages or the class named 'Swagger'.</jc>
-	 * 	<ja>@Rest</ja>(
-	 * 			properties={
-	 * 				<ja>@Property</ja>(name=<jsf>JSONSCHEMA_ignoreTypes</jsf>, value=<js>"Swagger,*.proto.*"</js>)
-	 * 			}
+	 * 	<ja>@Rest</ja>
+	 * 	<ja>@JsonSchemaConfig</ja>(
+	 * 		ignoreTypes=<js>"Swagger,*.proto.*"</js>
+	 * 	)
 	 * 	<jk>public class</jk> MyResource {...}
 	 * </p>
 	 */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
index 37aba0e..68cd3eb 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
@@ -96,13 +96,11 @@ public class OpenApiParserBuilder extends UonParserBuilder {
 	 * 		.format(<jsf>UON</jsf>)
 	 * 		.build();
 	 *
-	 * 	String string = <js>"foo bar"</js>;
-	 *
 	 * 	<jc>// Parse a plain-text string.</jc>
-	 * 	String v1 = s.serialize(<js>"foo bar"</js>);
+	 * 	String v1 = p1.parse(<js>"foo bar"</js>);
 	 *
 	 * 	<jc>// Parse a UON string.</jc>
-	 * 	String v2 = s2.serialize(<js>"'foo bar'"</js>);
+	 * 	String v2 = p2.parse(<js>"'foo bar'"</js>);
 	 * </p>
 	 *
 	 * <ul class='seealso'>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
index 279ee1f..2f642cb 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
@@ -369,12 +369,11 @@ public abstract class Parser extends BeanContext {
 	 * 		.build();
 	 *
 	 * 	<jc>// Use it.</jc>
-	 *  <jk>try</jk> {
-	 *  	String json = <js>"{unquotedAttr:'value'}"</js>;
-	 * 		MyBean myBean = p.parse(json, MyBean.<jk>class</jk>);
-	 *  } <jk>catch</jk> (ParseException e) {
-	 *  	<jsm>assertTrue</jsm>(e.getMessage().contains(<js>"Unquoted attribute detected."</js>);
-	 *  }
+	 * 	<jk>try</jk> {
+	 * 		MyBean myBean = p.parse(<js>"{unquotedAttr:'value'}"</js>, MyBean.<jk>class</jk>);
+	 * 	} <jk>catch</jk> (ParseException e) {
+	 * 		<jsm>assertTrue</jsm>(e.getMessage().contains(<js>"Unquoted attribute detected."</js>);
+	 * 	}
 	 * </p>
 	 */
 	public static final String PARSER_strict = PREFIX + ".strict.b";
@@ -422,7 +421,7 @@ public abstract class Parser extends BeanContext {
 	 * 		.build();
 	 *
 	 * 	<jc>// Use it.</jc>
-	 *  String json = <js>"{' foo ':' bar '}"</js>;
+	 * 	String json = <js>"{' foo ':' bar '}"</js>;
 	 * 	Map&lt;String,String&gt; map = p.parse(json, HashMap.<jk>class</jk>, String.<jk>class</jk>, String.<jk>class</jk>);
 	 *
 	 * 	<jc>// Make sure strings are parsed.</jc>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
index 19eaeb7..fb98b07 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
@@ -249,12 +249,12 @@ public class ParserBuilder extends BeanContextBuilder {
 	 * 		.build();
 	 *
 	 * 	<jc>// Use it.</jc>
-	 *  <jk>try</jk> {
-	 *  	String json = <js>"{unquotedAttr:'value'}"</js>;
+	 * 	<jk>try</jk> {
+	 * 		String json = <js>"{unquotedAttr:'value'}"</js>;
 	 * 		MyBean myBean = p.parse(json, MyBean.<jk>class</jk>);
-	 *  } <jk>catch</jk> (ParseException e) {
-	 *  	<jsm>assertTrue</jsm>(e.getMessage().contains(<js>"Unquoted attribute detected."</js>);
-	 *  }
+	 * 	} <jk>catch</jk> (ParseException e) {
+	 * 		<jsm>assertTrue</jsm>(e.getMessage().contains(<js>"Unquoted attribute detected."</js>);
+	 * 	}
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -298,7 +298,7 @@ public class ParserBuilder extends BeanContextBuilder {
 	 * 		.build();
 	 *
 	 * 	<jc>// Use it.</jc>
-	 *  String json = <js>"{' foo ':' bar '}"</js>;
+	 * 	String json = <js>"{' foo ':' bar '}"</js>;
 	 * 	Map&lt;String,String&gt; map = p.parse(json, HashMap.<jk>class</jk>, String.<jk>class</jk>, String.<jk>class</jk>);
 	 *
 	 * 	<jc>// Make sure strings are parsed.</jc>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
index 34b31f8..4e7caa4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
@@ -59,9 +59,6 @@ public abstract class ReaderParserBuilder extends ParserBuilder {
 	 * <p>
 	 * Used when passing in files to {@link Parser#parse(Object, Class)}.
 	 *
-	 * <p>
-	 * <js>"DEFAULT"</js> can be used to indicate the JVM default file system charset.
-	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
 	 * 	<jc>// Create a parser that reads UTF-8 files.</jc>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
index f3930c1..25f1ffb 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
@@ -72,7 +72,7 @@ public class OutputStreamSerializerBuilder extends SerializerBuilder {
 	 * 	String msgPack = s.serializeToString(<jk>new</jk> MyBean());
 	 * </p>
 	 *
-	 * <ul class='javatree'>
+	 * <ul class='seealso'>
 	 * 	<li class='jf'>{@link OutputStreamSerializer#OSSERIALIZER_binaryFormat}
 	 * </ul>
 	 *
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
index 18c2921..410cfe1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
@@ -102,15 +102,15 @@ public abstract class Serializer extends BeanTraverseContext {
 	 * 		.set(<jsf>SERIALIZER_addBeanTypes</jsf>, <jk>true</jk>)
 	 * 		.build();
 	 *
-	 * 	<jc>// A map of objects we want to serialize.</jc>
+	 * 	<jc>// Our map of beans to serialize.</jc>
 	 * 	<ja>@Bean</ja>(typeName=<js>"mybean"</js>)
-	 * 	<jk>public class</jk> MyBean {...}
-	 *
-	 * 	Map&lt;String,Object&gt; m = new HashMap&lt;&gt;();
-	 * 	m.put(<js>"foo"</js>, <jk>new</jk> MyBean());
+	 * 	<jk>public class</jk> MyBean {
+	 * 		<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
+	 * 	}
+	 * 	OMap map = OMap.of(<js>"foo"</js>, <jk>new</jk> MyBean());
 	 *
-	 * 	<jc>// Will contain '_type' attribute.</jc>
-	 * 	String json = s.serialize(m);
+	 * 	<jc>// Will contain:  {"foo":{"_type":"mybean","foo":"bar"}}</jc>
+	 * 	String json = s.serialize(map);
 	 * </p>
 	 */
 	public static final String SERIALIZER_addBeanTypes = PREFIX + ".addBeanTypes.b";
@@ -171,11 +171,13 @@ public abstract class Serializer extends BeanTraverseContext {
 	 * 		.set(<jsf>SERIALIZER_addRootType</jsf>, <jk>true</jk>)
 	 * 		.build();
 	 *
-	 * 	<jc>// The bean we want to serialize.</jc>
+	 * 	<jc>// Our bean to serialize.</jc>
 	 * 	<ja>@Bean</ja>(typeName=<js>"mybean"</js>)
-	 * 	<jk>public class</jk> MyBean {...}
+	 * 	<jk>public class</jk> MyBean {
+	 * 		<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
+	 * 	}
 	 *
-	 * 	<jc>// Will contain '_type' attribute.</jc>
+	 * 	<jc>// Will contain:  {"_type":"mybean","foo":"bar"}</jc>
 	 * 	String json = s.serialize(<jk>new</jk> MyBean());
 	 * </p>
 	 */
@@ -278,7 +280,7 @@ public abstract class Serializer extends BeanTraverseContext {
 	 * When enabled, null bean values will be serialized to the output.
 	 *
 	 * <ul class='notes'>
-	 * 	<li>Not enabling this setting will cause <c>Map</c>s with <jk>null</jk> values to be lost during parsing.
+	 * 	<li>Not enabling this setting will cause Maps with <jk>null</jk> values to be lost during parsing.
 	 * </ul>
 	 *
 	 * <h5 class='section'>Example:</h5>
@@ -286,7 +288,7 @@ public abstract class Serializer extends BeanTraverseContext {
 	 * 	<jc>// Create a serializer that serializes null properties.</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
-	 * 		.keepNullProperties(<jk>true</jk>)
+	 * 		.keepNullProperties()
 	 * 		.build();
 	 *
 	 * 	<jc>// Same, but use property.</jc>
@@ -404,10 +406,10 @@ public abstract class Serializer extends BeanTraverseContext {
 	 * 		.build();
 	 *
 	 * 	<jc>// An unsorted map.</jc>
-	 * 	OMap m = OMap.<jsm>of</jsm>(<js>"foo"</js>,1,<js>"bar"</js>,2,<js>"baz"</js>,3);
+	 * 	OMap map = OMap.<jsm>of</jsm>(<js>"foo"</js>,1,<js>"bar"</js>,2,<js>"baz"</js>,3);
 	 *
 	 * 	<jc>// Produces {"bar":2,"baz":3,"foo":1}</jc>
-	 * 	String json = s.serialize(array);
+	 * 	String json = s.serialize(map);
 	 * </p>
 	 */
 	public static final String SERIALIZER_sortMaps = PREFIX + ".sortMaps.b";
@@ -572,7 +574,7 @@ public abstract class Serializer extends BeanTraverseContext {
 	 * 	<jc>// Create a serializer that serializes null properties.</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
-	 * 		.trimNullProperties(<jk>false</jk>)
+	 * 		.dontTrimNullProperties()
 	 * 		.build();
 	 *
 	 * 	<jc>// Same, but use property.</jc>
@@ -628,8 +630,7 @@ public abstract class Serializer extends BeanTraverseContext {
 	 * 		.build();
 	 *
 	 *	<jc>// A map with space-padded keys/values</jc>
-	 * 	Map&lt;String,String&gt; map = <jk>new</jk> HashMap&lt;&gt;();
-	 * 	m.put(<js>" foo "</js>, <js>" bar "</js>);
+	 * 	OMap map = OMap.<jsm>of</jsm>(<js>" foo "</js>, <js>" bar "</js>);
 	 *
 	 * 	<jc>// Produces "{foo:'bar'}"</jc>
 	 * 	String json = s.toString(map);
@@ -683,14 +684,6 @@ public abstract class Serializer extends BeanTraverseContext {
 	 * 		.uriResolution(<jsf>ABSOLUTE</jsf>)  <jc>// Serialize URLs as absolute paths.</jc>
 	 * 		.build();
 	 *
-	 * 	<jc>// Same, but specify as a JSON string.</jc>
-	 * 	WriterSerializer s = JsonSerializer
-	 * 		.<jsm>create</jsm>()
-	 * 		.uriContext(<js>"{authority:'http://localhost:10000',contextRoot:'/myContext',servletPath:'/myServlet',pathInfo:'/foo'}"</js>)
-	 * 		.uriRelativity(<jsf>RESOURCE</jsf>)  <jc>// Assume relative paths are relative to servlet.</jc>
-	 * 		.uriResolution(<jsf>ABSOLUTE</jsf>)  <jc>// Serialize URLs as absolute paths.</jc>
-	 * 		.build();
-	 *
 	 * 	<jc>// Same, but use properties.</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
index f9217e5..1c26a12 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
@@ -91,15 +91,15 @@ public class SerializerBuilder extends BeanTraverseBuilder {
 	 * 		.addBeanTypes()
 	 * 		.build();
 	 *
-	 * 	<jc>// A map of objects we want to serialize.</jc>
+	 * 	<jc>// Our map of beans to serialize.</jc>
 	 * 	<ja>@Bean</ja>(typeName=<js>"mybean"</js>)
-	 * 	<jk>public class</jk> MyBean {...}
-	 *
-	 * 	Map&lt;String,Object&gt; m = new HashMap&lt;&gt;();
-	 * 	m.put(<js>"foo"</js>, <jk>new</jk> MyBean());
+	 * 	<jk>public class</jk> MyBean {
+	 * 		<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
+	 * 	}
+	 * 	OMap map = OMap.of(<js>"foo"</js>, <jk>new</jk> MyBean());
 	 *
-	 * 	<jc>// Will contain '_type' attribute.</jc>
-	 * 	String json = s.serialize(m);
+	 * 	<jc>// Will contain:  {"foo":{"_type":"mybean","foo":"bar"}}</jc>
+	 * 	String json = s.serialize(map);
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -153,14 +153,16 @@ public class SerializerBuilder extends BeanTraverseBuilder {
 	 * 	<jc>// Create a serializer that adds _type to root node.</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
-	 * 		.addRootType(<jk>true</jk>)
+	 * 		.addRootType()
 	 * 		.build();
 	 *
-	 * 	<jc>// The bean we want to serialize.</jc>
+	 * 	<jc>// Our bean to serialize.</jc>
 	 * 	<ja>@Bean</ja>(typeName=<js>"mybean"</js>)
-	 * 	<jk>public class</jk> MyBean {...}
+	 * 	<jk>public class</jk> MyBean {
+	 * 		<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
+	 * 	}
 	 *
-	 * 	<jc>// Will contain '_type' attribute.</jc>
+	 * 	<jc>// Will contain:  {"_type":"mybean","foo":"bar"}</jc>
 	 * 	String json = s.serialize(<jk>new</jk> MyBean());
 	 * </p>
 	 *
@@ -207,7 +209,7 @@ public class SerializerBuilder extends BeanTraverseBuilder {
 	 * 		.keepNullProperties()
 	 * 		.build();
 	 *
-	 * <jc>// Our bean to serialize.</jc>
+	 * 	<jc>// Our bean to serialize.</jc>
 	 * 	<jk>public class</jk> MyBean {
 	 * 		<jk>public</jk> String <jf>foo</jf> = <jk>null</jk>;
 	 * 	}
@@ -363,7 +365,7 @@ public class SerializerBuilder extends BeanTraverseBuilder {
 	 * 		.build();
 	 *
 	 * 	<jc>// An unsorted map.</jc>
-	 * 	OMap m = OMap.<jsm>of</jsm>(<js>"foo"</js>,1,<js>"bar"</js>,2,<js>"baz"</js>,3);
+	 * 	OMap map = OMap.<jsm>of</jsm>(<js>"foo"</js>,1,<js>"bar"</js>,2,<js>"baz"</js>,3);
 	 *
 	 * 	<jc>// Produces {"bar":2,"baz":3,"foo":1}</jc>
 	 * 	String json = s.serialize(map);
@@ -549,8 +551,7 @@ public class SerializerBuilder extends BeanTraverseBuilder {
 	 * 		.build();
 	 *
 	 *	<jc>// A map with space-padded keys/values</jc>
-	 * 	Map&lt;String,String&gt; map = <jk>new</jk> HashMap&lt;&gt;();
-	 * 	m.put(<js>" foo "</js>, <js>" bar "</js>);
+	 * 	OMap map = OMap.<jsm>of</jsm>(<js>" foo "</js>, <js>" bar "</js>);
 	 *
 	 * 	<jc>// Produces "{foo:'bar'}"</jc>
 	 * 	String json = s.toString(map);
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
index f2b8be7..779c7c3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
@@ -59,9 +59,6 @@ public class WriterSerializerBuilder extends SerializerBuilder {
 	 * <p>
 	 * Used when passing in files to {@link Serializer#serialize(Object, Object)}.
 	 *
-	 * <p>
-	 * <js>"DEFAULT"</js> can be used to indicate the JVM default file system charset.
-	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
 	 * 	<jc>// Create a serializer that writes UTF-8 files.</jc>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
index 95f68c8..6b919ae 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
@@ -184,6 +184,7 @@ public class UonSerializer extends WriterSerializer implements HttpPartSerialize
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
+	 *
 	 * <p>
 	 * Encode non-valid URI characters with <js>"%xx"</js> constructs.
 	 *
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
index 11eb5d7..88705aa 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
@@ -62,6 +62,33 @@ public class UonSerializerBuilder extends WriterSerializerBuilder {
 	 * <p>
 	 * Encode non-valid URI characters with <js>"%xx"</js> constructs.
 	 *
+	 * <p>
+	 * If <jk>true</jk>, non-valid URI characters will be converted to <js>"%xx"</js> sequences.
+	 * <br>Set to <jk>false</jk> if parameter value is being passed to some other code that will already perform
+	 * URL-encoding of non-valid URI characters.
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 * 	<jc>// Create a non-encoding UON serializer.</jc>
+	 * 	UonSerializer s1 = UonSerializer.
+	 * 		.<jsm>create</jsm>()
+	 * 		.build();
+	 *
+	 * 	<jc>// Create an encoding UON serializer.</jc>
+	 * 	UonSerializer s2 = UonSerializer.
+	 * 		.<jsm>create</jsm>()
+	 * 		.encoding()
+	 * 		.build();
+	 *
+	 * 	OMap m = OMap.<jsm>of</jsm>(<js>"foo"</js>, <js>"foo bar"</js>);
+	 *
+	 * 	<jc>// Produces: "(foo=foo bar)"</jc>
+	 * 	String uon1 = s1.serialize(m)
+	 *
+	 * 	<jc>// Produces: "(foo=foo%20bar)"</jc>
+	 * 	String uon2 = s2.serialize(m)
+	 * </p>
+	 *
 	 * <ul class='seealso'>
 	 * 	<li class='jf'>{@link UonSerializer#UON_encoding}
 	 * </ul>
@@ -80,7 +107,34 @@ public class UonSerializerBuilder extends WriterSerializerBuilder {
 	 * Configuration property:  Encode non-valid URI characters.
 	 *
 	 * <p>
-	 * Shortcut for calling <code>encoding(<jk>true</jk>)</code>.
+	 * Encode non-valid URI characters with <js>"%xx"</js> constructs.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, non-valid URI characters will be converted to <js>"%xx"</js> sequences.
+	 * <br>Set to <jk>false</jk> if parameter value is being passed to some other code that will already perform
+	 * URL-encoding of non-valid URI characters.
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 * 	<jc>// Create a non-encoding UON serializer.</jc>
+	 * 	UonSerializer s1 = UonSerializer.
+	 * 		.<jsm>create</jsm>()
+	 * 		.build();
+	 *
+	 * 	<jc>// Create an encoding UON serializer.</jc>
+	 * 	UonSerializer s2 = UonSerializer.
+	 * 		.<jsm>create</jsm>()
+	 * 		.encoding()
+	 * 		.build();
+	 *
+	 * 	OMap m = OMap.<jsm>of</jsm>(<js>"foo"</js>, <js>"foo bar"</js>);
+	 *
+	 * 	<jc>// Produces: "(foo=foo bar)"</jc>
+	 * 	String uon1 = s1.serialize(m)
+	 *
+	 * 	<jc>// Produces: "(foo=foo%20bar)"</jc>
+	 * 	String uon2 = s2.serialize(m)
+	 * </p>
 	 *
 	 * <ul class='seealso'>
 	 * 	<li class='jf'>{@link UonSerializer#UON_encoding}
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClient.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClient.java
index 8bdbe6d..fd264bd 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClient.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClient.java
@@ -983,8 +983,29 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
+	 *
 	 * <p>
 	 * Allows you to provide a custom handler for making HTTP calls.
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 * 	<jc>// Create a client that handles processing of requests using a custom handler.</jc>
+	 * 	RestClient client = RestClient
+	 * 		.<jsm>create</jsm>()
+	 * 		.callHandler(
+	 * 			<jk>new</jk> RestCallHandler() {
+	 * 				<ja>@Override</ja>
+	 * 				<jk>public</jk> HttpResponse execute(HttpHost target, HttpEntityEnclosingRequestBase request, HttpContext context) <jk>throws</jk> ClientProtocolException, IOException {
+	 * 					<jc>// Custom handle requests with request bodies.</jc>
+	 * 				}
+	 * 				<ja>@Override</ja>
+	 * 				<jk>public</jk> HttpResponse execute(HttpHost target, HttpRequestBase request, HttpContext context) <jk>throws</jk> ClientProtocolException, IOException {
+	 * 					<jc>// Custom handle requests without request bodies.</jc>
+	 * 				}
+	 * 			}
+	 * 		)
+	 * 		.build();
+	 * </p>
 	 */
 	public static final String RESTCLIENT_callHandler = PREFIX + "callHandler.o";
 
@@ -1036,8 +1057,18 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
+	 *
 	 * <p>
-	 * Defines the predicate used to determine which response status codes are considered errors.
+	 * Defines a predicate to test for error codes.
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 * 	<jc>// Create a client that considers any 300+ responses to be errors.</jc>
+	 * 	RestClient client = RestClient
+	 * 		.<jsm>create</jsm>()
+	 * 		.errorCodes(x -&gt; x &gt;= 300)
+	 * 		.build();
+	 * </p>
 	 */
 	public static final String RESTCLIENT_errorCodes = PREFIX + "errorCodes.o";
 
@@ -1067,12 +1098,36 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
 	 * <p>
 	 * This executor service is used to create {@link Future} objects on the following methods:
 	 * <ul>
-	 * 	<li>{@link RestRequest#runFuture()}
+	 * 	<li class='jm'>{@link RestRequest#runFuture()}
+	 * 	<li class='jm'>{@link RestRequest#completeFuture()}
+	 * 	<li class='jm'>{@link RestResponseBody#asFuture(Class)} (and similar methods)
 	 * </ul>
 	 *
 	 * <p>
 	 * The default executor service is a single-threaded {@link ThreadPoolExecutor} with a 30 second timeout
 	 * and a queue size of 10.
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 * 	<jc>// Create a client with a customized executor service.</jc>
+	 * 	RestClient client = RestClient
+	 * 		.<jsm>create</jsm>()
+	 * 		.executorService(<jk>new</jk> ThreadPoolExecutor(1, 1, 30, TimeUnit.<jsf>SECONDS</jsf>, <jk>new</jk> ArrayBlockingQueue&lt;Runnable&gt;(10)), <jk>true</jk>)
+	 * 		.build();
+	 *
+	 * 	<jc>// Use it to asynchronously run a request.</jc>
+	 * 	Future&lt;RestResponse&gt; f = client.get(<jsf>URL</jsf>).runFuture();
+	 * 	<jc>// Do some other stuff</jc>
+	 * 	<jk>try</jk> {
+	 * 		String body = f.get().getBody().asString();
+	 * 	} <jk>catch</jk> (RestCallException e) {
+	 * 	}
+	 * 	<jc>// Use it to asynchronously retrieve a response.</jc>
+	 * 	client
+	 * 		.get(<jsf>URL</jsf>)
+	 * 		.run()
+	 * 		.getBody().asFuture(MyBean.<jk>class</jk>);
+	 * </p>
 	 */
 	public static final String RESTCLIENT_executorService = PREFIX + "executorService.o";
 
@@ -1255,7 +1310,46 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
-	 * Interceptors that get called immediately after a connection is made.
+	 * Adds an interceptor that can be called to hook into specified events in the lifecycle of a single request.
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 *   <jc>// Customized interceptor (note you can also extend from BasicRestCallInterceptor as well.</jc>
+	 * 	<jk>public class</jk> MyRestCallInterceptor <jk>implements</jk> RestCallInterceptor {
+	 *
+	 * 		<ja>@Override</ja> <jc>// RestCallInterceptor</jc>
+	 * 		<jk>public void</jk> init(RestRequest req) <jk>throws</jk> Exception {
+	 *			<jc>// Intercept immediately after RestRequest object is created and all headers/query/form-data has been
+	 *			// set on the request from the client.</jc>
+	 *		}
+	 *
+	 *		<ja>@Override</ja> <jc>// HttpRequestInterceptor</jc>
+	 *		<jk>public void</jk> process(HttpRequest request, HttpContext context) {
+	 *			<jc>// Intercept before the request is sent to the server.</jc>
+	 *		}
+	 *
+	 *		<ja>@Override</ja> <jc>// RestCallInterceptor</jc>
+	 *		<jk>public void</jk> connect(RestRequest req, RestResponse res) <jk>throws</jk> Exception {
+	 *			<jc>// Intercept immediately after an HTTP response has been received.</jc>
+	 *		}
+	 *
+	 *		<ja>@Override</ja> <jc>// HttpResponseInterceptor</jc>
+	 *		<jk>public void</jk> process(HttpResponse response, HttpContext context) <jk>throws</jk> HttpException, IOException {
+	 *			<jc>// Intercept before the message body is evaluated.</jc>
+	 *		}
+	 *
+	 *		<ja>@Override</ja> <jc>// RestCallInterceptor</jc>
+	 *		<jk>public void</jk> close(RestRequest req, RestResponse res) <jk>throws</jk> Exception {
+	 * 			<jc>// Intercept when the response body is consumed.</jc>
+	 * 		}
+	 * 	}
+	 *
+	 * 	<jc>// Create a client with a customized interceptor.</jc>
+	 * 	RestClient client = RestClient
+	 * 		.<jsm>create</jsm>()
+	 * 		.interceptors(MyRestCallInterceptor.<jk>class</jk>)
+	 * 		.build();
+	 * </p>
 	 */
 	public static final String RESTCLIENT_interceptors = PREFIX + "interceptors.lo";
 
@@ -1284,6 +1378,18 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * Don't close this client when the {@link RestClient#close()} method is called.
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 * 	<jc>// Create a client with a customized client and don't close the client  service.</jc>
+	 * 	RestClient client = RestClient
+	 * 		.<jsm>create</jsm>()
+	 * 		.httpClient(myHttpClient)
+	 * 		.keepHttpClientOpen()
+	 * 		.build();
+	 *
+	 * 	client.closeQuietly();  <jc>// Customized HttpClient won't be closed.</jc>
+	 * </p>
 	 */
 	public static final String RESTCLIENT_keepHttpClientOpen = PREFIX + "keepHttpClientOpen.b";
 
@@ -1313,7 +1419,19 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
 	 * when the <c>finalize</c> methods are invoked.
 	 *
 	 * <p>
-	 * Automatically enabled with {@link #RESTCLIENT_debug}.
+	 * Automatically enabled with {@link RestClient#RESTCLIENT_debug}.
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 * 	<jc>// Create a client that logs a message if </jc>
+	 * 	RestClient client = RestClient
+	 * 		.<jsm>create</jsm>()
+	 * 		.leakDetection()
+	 * 		.logToConsole()  <jc>// Also log the error message to System.err</jc>
+	 * 		.build();
+	 *
+	 * 	client.closeQuietly();  <jc>// Customized HttpClient won't be closed.</jc>
+	 * </p>
 	 */
 	public static final String RESTCLIENT_leakDetection = PREFIX + "leakDetection.b";
 
@@ -1505,7 +1623,24 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
-	 * The parsers to use for parsing POJOs in response bodies.
+	 * Associates the specified {@link Parser Parsers} with the HTTP client.
+	 *
+	 * <p>
+	 * The parsers are used to parse the HTTP response body into a POJO.
+	 *
+	 * <p>
+	 * The parser that best matches the <c>Accept</c> header will be used to parse the response body.
+	 * <br>If no <c>Accept</c> header is specified, the first parser in the list will be used.
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 * 	<jc>// Create a client that uses JSON and XML transport for response bodies.</jc>
+	 * 	RestClient client = RestClient
+	 * 		.<jsm>create</jsm>()
+	 * 		.parser(JsonParser.<jk>class</jk>, XmlParser.<jk>class</jk>)
+	 * 		.strict()  <jc>// Enable strict mode on parsers.</jc>
+	 * 		.build();
+	 * </p>
 	 */
 	public static final String RESTCLIENT_parsers = PREFIX + "parsers.lo";
 
@@ -1532,6 +1667,18 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * The parser to use for parsing POJOs from form data, query parameters, headers, and path variables.
+	 *
+	 * <p>
+	 * The default part parser is {@link OpenApiParser} which allows for schema-driven marshalling.
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 * 	<jc>// Create a client that uses UON format by default for incoming HTTP parts.</jc>
+	 * 	RestClient client = RestClient
+	 * 		.<jsm>create</jsm>()
+	 * 		.partParser(UonParser.<js>class</js>)
+	 * 		.build();
+	 * </p>
 	 */
 	public static final String RESTCLIENT_partParser = PREFIX + "partParser.o";
 
@@ -1558,6 +1705,18 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * The serializer to use for serializing POJOs in form data, query parameters, headers, and path variables.
+	 *
+	 * <p>
+	 * The default part serializer is {@link OpenApiSerializer} which allows for schema-driven marshalling.
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 * 	<jc>// Create a client that uses UON format by default for outgoing HTTP parts.</jc>
+	 * 	RestClient client = RestClient
+	 * 		.<jsm>create</jsm>()
+	 * 		.partSerializer(UonSerializer.<js>class</js>)
+	 * 		.build();
+	 * </p>
 	 */
 	public static final String RESTCLIENT_partSerializer = PREFIX + "partSerializer.o";
 
@@ -1619,7 +1778,20 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
 	 * When set, relative URL strings passed in through the various rest call methods (e.g. {@link RestClient#get(Object)}
 	 * will be prefixed with the specified root.
 	 * <br>This root URL is ignored on those methods if you pass in a {@link URL}, {@link URI}, or an absolute URL string.
-	 * <br>Trailing slashes are trimmed.
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 * 	<jc>// Create a client that uses UON format by default for HTTP parts.</jc>
+	 * 	RestClient client = RestClient
+	 * 		.<jsm>create</jsm>()
+	 * 		.rootUri(<js>"http://localhost:10000/foo"</js>)
+	 * 		.build();
+	 *
+	 * 	Bar bar = client
+	 * 		.get(<js>"/bar"</js>)  // Relative to http://localhost:10000/foo
+	 * 		.run()
+	 * 		.getBody().as(Bar.<jk>class</jk>);
+	 * </p>
 	 */
 	public static final String RESTCLIENT_rootUri = PREFIX + "rootUri.s";
 
@@ -1647,7 +1819,24 @@ public class RestClient extends BeanContext implements HttpClient, Closeable {
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
-	 * The serializers to use for serializing POJOs in request bodies.
+	 * Associates the specified {@link Serializer Serializers} with the HTTP client.
+	 *
+	 * <p>
+	 * The serializer is used to serialize POJOs into the HTTP request body.
+	 *
+	 * <p>
+	 * The serializer that best matches the <c>Content-Type</c> header will be used to serialize the request body.
+	 * <br>If no <c>Content-Type</c> header is specified, the first serializer in the list will be used.
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 * 	<jc>// Create a client that uses JSON and XML transport for request bodies.</jc>
+	 * 	RestClient client = RestClient
+	 * 		.<jsm>create</jsm>()
+	 * 		.serializers(JsonSerializer.<jk>class</jk>,XmlSerializer.<jk>class</jk>)
+	 * 		.sortCollections()  <jc>// Sort any collections being serialized.</jc>
+	 * 		.build();
+	 * </p>
 	 */
 	public static final String RESTCLIENT_serializers = PREFIX + "serializers.lo";
 
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
index 1b33014..43788bf 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
@@ -2922,7 +2922,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 		.sortCollections()  <jc>// Sort any collections being serialized.</jc>
 	 * 		.build();
 	 * </p>
-
+	 *
 	 * <ul class='seealso'>
 	 * 	<li class='jf'>{@link RestClient#RESTCLIENT_serializers}
 	 * </ul>
@@ -3020,7 +3020,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 		<jc>// Throws a RestCallException with an inner SerializeException and not a StackOverflowError</jc>
 	 * 		client
 	 * 			.doPost(<js>"http://localhost:10000/foo"</js>, a)
-	 * 			.complete();
+	 * 			.run();
 	 *	} <jk>catch</jk> (RestCallException e} {
 	 *		<jc>// Handle exception.</jc>
 	 *	}
@@ -3075,7 +3075,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	<jc>// Produces request body "{f:null}"</jc>
 	 * 	client
 	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, a)
-	 * 		.complete();
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3116,7 +3116,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	<jc>// Produces request body "\t\t{\n\t\t\t'foo':'bar'\n\t\t}\n"</jc>
 	 * 	client
 	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, <jk>new</jk> MyBean())
-	 * 		.complete();
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3208,10 +3208,10 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	}
 	 * 	OMap map = OMap.of(<js>"foo"</js>, <jk>new</jk> MyBean());
 	 *
-	 * 	<jc>// Request body will contain {"foo":{"_type":"mybean","foo":"bar"}}.</jc>
+	 * 	<jc>// Request body will contain:  {"foo":{"_type":"mybean","foo":"bar"}}</jc>
 	 * 	client
-	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, m)
-	 * 		.complete();
+	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, map)
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3261,10 +3261,10 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 		<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
 	 * 	}
 	 *
-	 * 	<jc>// Request body will contain {"_type":"mybean","foo":"bar"}.</jc>
+	 * 	<jc>// Request body will contain:  {"_type":"mybean","foo":"bar"}</jc>
 	 * 	client
-	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, m)
-	 * 		.complete();
+	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, <jk>new</jk> MyBean())
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3297,15 +3297,15 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 		.keepNullProperties()
 	 * 		.build();
 	 *
-	 * <jc>// Our bean to serialize.</jc>
+	 * 	<jc>// Our bean to serialize.</jc>
 	 * 	<jk>public class</jk> MyBean {
 	 * 		<jk>public</jk> String <jf>foo</jf> = <jk>null</jk>;
 	 * 	}
 	 *
-	 * 	<jc>// Request body will contain "{foo:null}".</jc>
+	 * 	<jc>// Request body will contain:  {foo:null}</jc>
 	 * 	client
 	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, <jk>new</jk> MyBean())
-	 * 		.complete();
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3340,10 +3340,10 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	<jc>// An unsorted array</jc>
 	 * 	String[] array = {<js>"foo"</js>,<js>"bar"</js>,<js>"baz"</js>}
 	 *
-	 * 	<jc>// Request body will contain ["bar","baz","foo"]</jc>
+	 * 	<jc>// Request body will contain:  ["bar","baz","foo"]</jc>
 	 * 	client
 	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, array)
-	 * 		.complete();
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3376,12 +3376,12 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 		.build();
 	 *
 	 * 	<jc>// An unsorted map.</jc>
-	 * 	OMap m = OMap.<jsm>of</jsm>(<js>"foo"</js>,1,<js>"bar"</js>,2,<js>"baz"</js>,3);
+	 * 	OMap map = OMap.<jsm>of</jsm>(<js>"foo"</js>,1,<js>"bar"</js>,2,<js>"baz"</js>,3);
 	 *
-	 * 	<jc>// Request body will contain {"bar":2,"baz":3,"foo":1}</jc>
+	 * 	<jc>// Request body will contain:  {"bar":2,"baz":3,"foo":1}</jc>
 	 * 	client
 	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, map)
-	 * 		.complete();
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3423,10 +3423,10 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 		<jk>public</jk> String[] <jf>foo</jf> = {};
 	 * 	}
 	 *
-	 * 	<jc>// Request body will contain {}</jc>
+	 * 	<jc>// Request body will contain:  {}</jc>
 	 * 	client
 	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, <jk>new</jk> MyBean())
-	 * 		.complete();
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3467,10 +3467,10 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 		<jk>public</jk> OMap <jf>foo</jf> = OMap.<jsm>of</jsm>();
 	 * 	}
 	 *
-	 * 	<jc>// Request body will contain {}</jc>
+	 * 	<jc>// Request body will contain:  {}</jc>
 	 * 	client
 	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, <jk>new</jk> MyBean())
-	 * 		.complete();
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3500,13 +3500,12 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 		.build();
 	 *
 	 *	<jc>// A map with space-padded keys/values</jc>
-	 * 	Map&lt;String,String&gt; map = <jk>new</jk> HashMap&lt;&gt;();
-	 * 	m.put(<js>" foo "</js>, <js>" bar "</js>);
+	 * 	OMap map = OMap.<jsm>of</jsm>(<js>" foo "</js>, <js>" bar "</js>);
 	 *
-	 * 	<jc>// Request body will contain "{"foo":"bar"}"</jc>
+	 * 	<jc>// Request body will contain:  {"foo":"bar"}</jc>
 	 * 	client
 	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, map)
-	 * 		.complete();
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3549,10 +3548,10 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	<jc>// A relative URL</jc>
 	 * 	URL url = <jk>new</jk> URL(<js>"bar"</js>);
 	 *
-	 * 	<jc>// Request body will contain "http://localhost:10000/myContext/myServlet/foo/bar"</jc>
+	 * 	<jc>// Request body will contain:  "http://localhost:10000/myContext/myServlet/foo/bar"</jc>
 	 * 	client
 	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, url)
-	 * 		.complete();
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3709,10 +3708,10 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 		<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
 	 * 	}
 	 *
-	 * 	<jc>// Request body will contain {'foo':'bar'}</jc>
+	 * 	<jc>// Request body will contain:  {'foo':'bar'}</jc>
 	 * 	client
 	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, <jk>new</jk> MyBean())
-	 * 		.complete();
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3753,10 +3752,10 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 		<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
 	 * 	}
 	 *
-	 * 	<jc>// Request body will contain {'foo':'bar'}</jc>
+	 * 	<jc>// Request body will contain:  {'foo':'bar'}</jc>
 	 * 	client
 	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, <jk>new</jk> MyBean())
-	 * 		.complete();
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3790,10 +3789,10 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 		<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
 	 * 	}
 	 *
-	 * 	<jc>// Request body will contain "\{\n\t"foo": "bar"\n\}\n"</jc>
+	 * 	<jc>// Request body will contain:  {\n\t"foo": "bar"\n\}\n</jc>
 	 * 	client
 	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, <jk>new</jk> MyBean())
-	 * 		.complete();
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3826,10 +3825,10 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 		<jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
 	 * 	}
 	 *
-	 * 	<jc>// Request body will contain "\{\n\t"foo": "bar"\n\}\n"</jc>
+	 * 	<jc>// Request body will contain:  {\n\t"foo": "bar"\n\}\n</jc>
 	 * 	client
 	 * 		.doPost(<js>"http://localhost:10000/foo"</js>, <jk>new</jk> MyBean())
-	 * 		.complete();
+	 * 		.run();
 	 * </p>
 	 *
 	 * <ul class='seealso'>
@@ -3934,7 +3933,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	RestClient client = RestClient
 	 * 		.<jsm>create</jsm>()
 	 * 		.json()
-	 * 		.strict(<jk>true</jk>)
+	 * 		.strict()
 	 * 		.build();
 	 *
 	 * 	<jc>// Try to parse some bad JSON.</jc>
@@ -3972,7 +3971,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	RestClient client = RestClient
 	 * 		.<jsm>create</jsm>()
 	 * 		.json()
-	 * 		.trimStringsOnRead(<jk>true</jk>)
+	 * 		.trimStringsOnRead()
 	 * 		.build();
 	 *
 	 * 	<jc>// Try to parse JSON containing {" foo ":" bar "}.</jc>
@@ -4046,7 +4045,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	<jc>// Set a header with a value in UON format.</jc>
 	 * 	client
 	 * 		.get(<js>"/url"</js>)
-	 * 		.header(<js>"Foo"</js>, <js>"bar baz"</js>)  // Will be serialized as [Foo: 'bar baz']
+	 * 		.header(<js>"Foo"</js>, <js>"bar baz"</js>)  <jc>// Will be serialized as:  'bar baz'</jc>
 	 * 		.run();
 	 * </p>
 	 *
@@ -4105,7 +4104,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	<jc>// Set a header with a comma-separated list.</jc>
 	 * 	client
 	 * 		.get(<js>"/url"</js>)
-	 * 		.header(<js>"Foo"</js>, l)  // Will be serialized as [Foo: foo=bar,baz=qux\,true\,123]
+	 * 		.header(<js>"Foo"</js>, l)  // Will be serialized as:  <jc>foo=bar,baz=qux\,true\,123</jc>
 	 * 		.run();
 	 * </p>
 	 *
@@ -4158,7 +4157,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 		<js>"baz"</js>, <jk>new</jk> String[]{<js>"qux"</js>, <js>"true"</js>, <js>"123"</js>}
 	 *  );
 	 *
-	 * 	<jc>// Request body will be serialize as "foo=bar,baz=qux,true,123"</jc>
+	 * 	<jc>// Request body will be serialized as:  foo=bar,baz=qux,true,123</jc>
 	 * 	client
 	 * 		.post(<js>"/url"</js>, map)
 	 * 		.run();
@@ -4199,7 +4198,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 		<js>"baz"</js>, <jk>new</jk> String[]{<js>"qux"</js>, <js>"true"</js>, <js>"123"</js>}
 	 *  );
 	 *
-	 * 	<jc>// Request body will be serialize as "foo=bar,baz=qux,true,123"</jc>
+	 * 	<jc>// Request body will be serialized as:  foo=bar,baz=qux,true,123</jc>
 	 * 	client
 	 * 		.post(<js>"/url"</js>, map)
 	 * 		.run();