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 2018/01/11 01:13:09 UTC

[1/7] juneau git commit: Javadoc updates

Repository: juneau
Updated Branches:
  refs/heads/master aae7b5f52 -> c162400e6


http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
index 7a3a295..915b2a6 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
@@ -20,6 +20,7 @@ import static org.apache.juneau.rest.client.RestClient.*;
 
 import java.lang.reflect.*;
 import java.net.*;
+import java.net.URI;
 import java.security.*;
 import java.util.*;
 import java.util.concurrent.*;
@@ -46,6 +47,7 @@ import org.apache.http.protocol.*;
 import org.apache.juneau.*;
 import org.apache.juneau.http.*;
 import org.apache.juneau.httppart.*;
+import org.apache.juneau.json.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.serializer.*;
 import org.apache.juneau.uon.*;
@@ -230,7 +232,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder logTo(Level level, Logger log) {
-		return interceptor(new RestCallLogger(level, log));
+		return interceptors(new RestCallLogger(level, log));
 	}
 
 	/**
@@ -692,6 +694,9 @@ public class RestClientBuilder extends BeanContextBuilder {
 	//--------------------------------------------------------------------------------
 
 	/**
+	 * Configuration property:  Executor service.
+	 * 
+	 * <p>
 	 * Defines the executor service to use when calling future methods on the {@link RestCall} class.
 	 *
 	 * <p>
@@ -750,7 +755,9 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	<li class='jf'>{@link RestClient#RESTCLIENT_keepHttpClientOpen}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder keepHttpClientOpen(boolean value) {
@@ -758,6 +765,9 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  Call interceptors.
+	 * 
+	 * <p>
 	 * Adds an interceptor that gets called immediately after a connection is made.
 	 *
 	 * <h5 class='section'>See Also:</h5>
@@ -765,76 +775,91 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 	<li class='jf'>{@link RestClient#RESTCLIENT_interceptors}
 	 * </ul>
 	 * 
-	 * @param interceptor The interceptor.
+	 * @param value The values to add to this setting.
 	 * @return This object (for method chaining).
 	 */
-	public RestClientBuilder interceptor(RestCallInterceptor interceptor) {
-		return addTo(RESTCLIENT_interceptors, interceptor);
+	public RestClientBuilder interceptors(RestCallInterceptor...value) {
+		return addTo(RESTCLIENT_interceptors, value);
 	}
 
 	/**
-	 * Sets the parser used for parsing POJOs from the HTTP response message body.
+	 * Configuration property:  Parser.
+	 * 
+	 * <p>
+	 * The parser to use for parsing POJOs in response bodies.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestClient#RESTCLIENT_parser}
 	 * </ul>
 	 * 
-	 * @param parser The parser.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default value is {@link JsonParser#DEFAULT}.
 	 * @return This object (for method chaining).
 	 */
-	public RestClientBuilder parser(Parser parser) {		
-		return set(RESTCLIENT_parser, parser);
+	public RestClientBuilder parser(Class<? extends Parser> value) {
+		return set(RESTCLIENT_parser, value);
 	}
 
 	/**
-	 * Same as {@link #parser(Parser)}, except takes in a parser class that will be instantiated through a no-arg
-	 * constructor.
+	 * Configuration property:  Parser.
+	 * 
+	 * <p>
+	 * Same as {@link #parser(Parser)} except takes in a parser instance.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestClient#RESTCLIENT_parser}
 	 * </ul>
 	 * 
-	 * @param parserClass The parser class.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default value is {@link JsonParser#DEFAULT}.
 	 * @return This object (for method chaining).
 	 */
-	public RestClientBuilder parser(Class<? extends Parser> parserClass) {
-		return set(RESTCLIENT_parser, parserClass);
+	public RestClientBuilder parser(Parser value) {		
+		return set(RESTCLIENT_parser, value);
 	}
 
 	/**
-	 * Sets the part serializer to use for converting POJOs to headers, query parameters, form-data parameters, and
-	 * path variables.
+	 * Configuration property:  Part serializer.
+	 *
+	 * <p>
+	 * The serializer to use for serializing POJOs in form data, query parameters, headers, and path variables.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestClient#RESTCLIENT_partSerializer}
 	 * </ul>
 	 * 
-	 * @param partSerializer The part serializer instance.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default value is {@link SimpleUonPartSerializer}.
 	 * @return This object (for method chaining).
 	 */
-	public RestClientBuilder partSerializer(HttpPartSerializer partSerializer) {
-		return set(RESTCLIENT_partSerializer, partSerializer);
+	public RestClientBuilder partSerializer(Class<? extends HttpPartSerializer> value) {
+		return set(RESTCLIENT_partSerializer, value);
 	}
 
 	/**
-	 * Sets the part formatter to use for converting POJOs to headers, query parameters, form-data parameters, and
-	 * path variables.
+	 * Configuration property:  Part serializer.
+	 *
+	 * <p>
+	 * Same as {@link #partSerializer(Class)} but takes in a parser instance.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestClient#RESTCLIENT_partSerializer}
 	 * </ul>
 	 * 
-	 * @param partSerializerClass
-	 * 	The part serializer class.
-	 * 	The class must have a no-arg constructor.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default value is {@link SimpleUonPartSerializer}.
 	 * @return This object (for method chaining).
 	 */
-	public RestClientBuilder partSerializer(Class<? extends HttpPartSerializer> partSerializerClass) {
-		return set(RESTCLIENT_partSerializer, partSerializerClass);
+	public RestClientBuilder partSerializer(HttpPartSerializer value) {
+		return set(RESTCLIENT_partSerializer, value);
 	}
 
 	/**
@@ -862,26 +887,26 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Set a root URL for this client.
+	 * Configuration property:  Root URI.
 	 *
 	 * <p>
-	 * When set, URL strings passed in through the various rest call methods (e.g. {@link RestClient#doGet(Object)}
+	 * When set, relative URL strings passed in through the various rest call methods (e.g. {@link RestClient#doGet(Object)}
 	 * will be prefixed with the specified root.
-	 * This root URL is ignored on those methods if you pass in a {@link URL}, {@link URI}, or an absolute URL string.
+	 * <br>This root URL is ignored on those methods if you pass in a {@link URL}, {@link URI}, or an absolute URL string.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestClient#RESTCLIENT_rootUri}
 	 * </ul>
 	 * 
-	 * @param rootUrl
+	 * @param value
 	 * 	The root URL to prefix to relative URL strings.
-	 * 	Trailing slashes are trimmed.
-	 * 	Usually a <code>String</code> but you can also pass in <code>URI</code> and <code>URL</code> objects as well.
+	 * 	<br>Trailing slashes are trimmed.
+	 * 	<br>Usually a <code>String</code> but you can also pass in <code>URI</code> and <code>URL</code> objects as well.
 	 * @return This object (for method chaining).
 	 */
-	public RestClientBuilder rootUrl(Object rootUrl) {
-		return set(RESTCLIENT_rootUri, rootUrl);
+	public RestClientBuilder rootUrl(Object value) {
+		return set(RESTCLIENT_rootUri, value);
 	}
 
 	/**
@@ -901,45 +926,60 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the serializer used for serializing POJOs to the HTTP request message body.
+	 * Configuration property:  Serializer.
+	 *
+	 * <p>
+	 * The serializer to use for serializing POJOs in request bodies.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestClient#RESTCLIENT_serializer}
 	 * </ul>
 	 * 
-	 * @param serializer The serializer.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link JsonSerializer}.
 	 * @return This object (for method chaining).
 	 */
-	public RestClientBuilder serializer(Serializer serializer) {
-		return set(RESTCLIENT_serializer, serializer);
+	public RestClientBuilder serializer(Class<? extends Serializer> value) {
+		return set(RESTCLIENT_serializer, value);
 	}
 
 	/**
-	 * Same as {@link #serializer(Serializer)}, except takes in a serializer class that will be instantiated through a
-	 * no-arg constructor.
+	 * Configuration property:  Serializer.
+	 *
+	 * <p>
+	 * Same as {@link #serializer(Class)} but takes in a serializer instance.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestClient#RESTCLIENT_serializer}
 	 * </ul>
 	 * 
-	 * @param serializerClass The serializer class.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link JsonSerializer}.
 	 * @return This object (for method chaining).
 	 */
-	public RestClientBuilder serializer(Class<? extends Serializer> serializerClass) {
-		return set(RESTCLIENT_serializer, serializerClass);
+	public RestClientBuilder serializer(Serializer value) {
+		return set(RESTCLIENT_serializer, value);
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_abridged} property on all serializers in this group.
+	 * Configuration property:  Abridged output.
+	 *
+	 * <p>
+	 * When enabled, it is assumed that the parser knows the exact Java POJO type being parsed, and therefore top-level
+	 * type information that might normally be included to determine the data type will not be serialized.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_abridged}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder abridged(boolean value) {
@@ -947,14 +987,37 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_addBeanTypeProperties} property on all serializers in this group.
+	 * Configuration property:  Abridged output.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>abridged(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_abridged}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RestClientBuilder abridged() {
+		return set(SERIALIZER_abridged, true);
+	}
+
+	/**
+	 * Configuration property:  Add <js>"_type"</js> properties when needed.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, then <js>"_type"</js> properties will be added to beans if their type cannot be inferred
+	 * through reflection.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_addBeanTypeProperties}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder addBeanTypeProperties(boolean value) {
@@ -962,14 +1025,24 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_detectRecursions} property on all serializers in this group.
+	 * Configuration property:  Automatically detect POJO recursions.
+	 *
+	 * <p>
+	 * Specifies that recursions should be checked for during serialization.
+	 *
+	 * <h5 class='section'>Notes:</h5>
+	 * <ul>
+	 * 	<li>Checking for recursion can cause a small performance penalty.
+	 * </ul>
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_detectRecursions}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder detectRecursions(boolean value) {
@@ -977,14 +1050,42 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_ignoreRecursions} property on all serializers in this group.
+	 * Configuration property:  Automatically detect POJO recursions.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>detectRecursions(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_detectRecursions}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RestClientBuilder detectRecursions() {
+		return set(SERIALIZER_detectRecursions, true);
+	}
+
+	/**
+	 * Configuration property:  Ignore recursion errors.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, when we encounter the same object when serializing a tree, we set the value to <jk>null</jk>.
+	 * Otherwise, an exception is thrown.
+	 *
+	 * <h5 class='section'>Notes:</h5>
+	 * <ul>
+	 * 	<li>Checking for recursion can cause a small performance penalty.
+	 * </ul>
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_ignoreRecursions}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder ignoreRecursions(boolean value) {
@@ -992,14 +1093,36 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_initialDepth} property on all serializers in this group.
+	 * Configuration property:  Ignore recursion errors.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>ignoreRecursions(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_ignoreRecursions}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RestClientBuilder ignoreRecursions() {
+		return set(SERIALIZER_ignoreRecursions, true);
+	}
+
+	/**
+	 * Configuration property:  Initial depth.
+	 *
+	 * <p>
+	 * The initial indentation level at the root.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_initialDepth}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <code>0</code>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder initialDepth(int value) {
@@ -1007,14 +1130,40 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_maxDepth} property on all serializers in this group.
+	 * Configuration property:  Serializer listener.
+	 *
+	 * <p>
+	 * Class used to listen for errors and warnings that occur during serialization.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_listener}
+	 * </ul>
+	 * 
+	 * @param value 
+	 * 	The new value for this property.
+	 * @return This object (for method chaining).
+	 */
+	public RestClientBuilder listenerS(Class<? extends SerializerListener> value) {
+		return set(SERIALIZER_listener, value);
+	}
+
+	/**
+	 * Configuration property:  Max serialization depth.
+	 *
+	 * <p>
+	 * Abort serialization if specified depth is reached in the POJO tree.
+	 * <br>If this depth is exceeded, an exception is thrown.
+	 * <br>This prevents stack overflows from occurring when trying to serialize models with recursive references.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_maxDepth}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <code>100</code>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder maxDepth(int value) {
@@ -1022,14 +1171,19 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_maxIndent} property on all serializers in this group.
+	 * Configuration property:  Maximum indentation.
+	 *
+	 * <p>
+	 * Specifies the maximum indentation level in the serialized document.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_maxIndent}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <code>100</code>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder maxIndent(boolean value) {
@@ -1037,14 +1191,19 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_quoteChar} property on all serializers in this group.
+	 * Configuration property:  Quote character.
+	 *
+	 * <p>
+	 * This is the character used for quoting attributes and values.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_quoteChar}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <js>'"'</js>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder quoteChar(char value) {
@@ -1052,29 +1211,36 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_listener} property on all serializers in this group.
+	 * Configuration property:  Quote character.
+	 * 
+	 * <p>
+	 * Shortcut for calling <code>quoteChar(<js>'\''</js>)</code>.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
-	 * 	<li class='jf'>{@link Serializer#SERIALIZER_listener}
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_quoteChar}
 	 * </ul>
 	 * 
-	 * @param sl The new serializer listener.
 	 * @return This object (for method chaining).
 	 */
-	public RestClientBuilder serializerListener(Class<? extends SerializerListener> sl) {
-		return set(SERIALIZER_listener, sl);
+	public RestClientBuilder sq() {
+		return set(SERIALIZER_quoteChar, '\'');
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_sortCollections} property on all serializers in this group.
+	 * Configuration property:  Sort arrays and collections alphabetically.
+	 *
+	 * <p>
+	 * Copies and sorts the contents of arrays and collections before serializing them.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_sortCollections}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder sortCollections(boolean value) {
@@ -1082,8 +1248,28 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  Sort arrays and collections alphabetically.
+	 * 
+	 * <p>
+	 * Shortcut for calling <code>sortCollections(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_sortCollections}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RestClientBuilder sortCollections() {
+		return set(SERIALIZER_sortCollections, true);
+	}
+
+	/**
 	 * Sets the {@link Serializer#SERIALIZER_sortMaps} property on all serializers in this group.
 	 *
+	 * <p>
+	 * Copies and sorts the contents of maps before serializing them.
+	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_sortMaps}
@@ -1097,14 +1283,36 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_trimEmptyCollections} property on all serializers in this group.
+	 * Configuration property:  Sort maps alphabetically.
+	 * 
+	 * <p>
+	 * Shortcut for calling <code>sortMaps(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_sortMaps}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RestClientBuilder sortMaps() {
+		return set(SERIALIZER_sortMaps, true);
+	}
+
+	/**
+	 * Configuration property:  Trim empty lists and arrays.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, empty list values will not be serialized to the output.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimEmptyCollections}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder trimEmptyCollections(boolean value) {
@@ -1112,14 +1320,36 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_trimEmptyMaps} property on all serializers in this group.
+	 * Configuration property:  Trim empty lists and arrays.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>trimEmptyCollections(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimEmptyCollections}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RestClientBuilder trimEmptyCollections() {
+		return set(SERIALIZER_trimEmptyCollections, true);
+	}
+
+	/**
+	 * Configuration property:  Trim empty maps.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, empty map values will not be serialized to the output.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimEmptyMaps}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder trimEmptyMaps(boolean value) {
@@ -1127,14 +1357,36 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_trimNullProperties} property on all serializers in this group.
+	 * Configuration property:  Trim empty maps.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>trimEmptyMaps(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimEmptyMaps}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RestClientBuilder trimEmptyMaps() {
+		return set(SERIALIZER_trimEmptyMaps, true);
+	}
+
+	/**
+	 * Configuration property:  Trim null bean property values.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, null bean values will not be serialized to the output.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimNullProperties}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder trimNullProperties(boolean value) {
@@ -1142,22 +1394,47 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_trimStrings} property on all serializers in this group.
+	 * Configuration property:  Trim strings.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, string values will be trimmed of whitespace using {@link String#trim()} before being serialized.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimStrings}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
-	public RestClientBuilder trimStrings(boolean value) {
+	public RestClientBuilder trimStringsS(boolean value) {
 		return set(SERIALIZER_trimStrings, value);
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_uriContext} property on all serializers in this group.
+	 * Configuration property:  Trim strings.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>trimStrings(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimStrings}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RestClientBuilder trimStringsS() {
+		return set(SERIALIZER_trimStrings, true);
+	}
+
+	/**
+	 * Configuration property:  URI context bean.
+	 *
+	 * <p>
+	 * Bean used for resolution of URIs to absolute or root-relative form.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -1172,14 +1449,19 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_uriRelativity} property on all serializers in this group.
+	 * Configuration property:  URI relativity.
+	 *
+	 * <p>
+	 * Defines what relative URIs are relative to when serializing URI/URL objects.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_uriRelativity}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is {@link UriRelativity#RESOURCE}
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder uriRelativity(UriRelativity value) {
@@ -1187,14 +1469,19 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_uriResolution} property on all serializers in this group.
+	 * Configuration property:  URI resolution.
+	 *
+	 * <p>
+	 * Defines the resolution level for URIs when serializing URI/URL objects.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_uriResolution}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is {@link UriResolution#NONE}
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder uriResolution(UriResolution value) {
@@ -1202,14 +1489,19 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_useWhitespace} property on all serializers in this group.
+	 * Configuration property:  Use whitespace.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, newlines and indentation and spaces are added to the output to improve readability.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_useWhitespace}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder useWhitespace(boolean value) {
@@ -1217,14 +1509,52 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 	
 	/**
-	 * Sets the {@link Parser#PARSER_fileCharset} property on all parsers in this group.
+	 * Configuration property:  Use whitespace.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>useWhitespace(<jk>true</jk>)</code>.
+	 * 
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_useWhitespace}
+	 * </ul>
+	 * @return This object (for method chaining).
+	 */
+	public RestClientBuilder useWhitespace() {
+		return set(SERIALIZER_useWhitespace, true);
+	}
+
+	/**
+	 * Configuration property:  Use whitespace.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>useWhitespace(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_useWhitespace}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RestClientBuilder ws() {
+		return set(SERIALIZER_useWhitespace, true);
+	}
+
+	/**
+	 * Configuration property:  File charset.
+	 *
+	 * <p>
+	 * The character set to use for reading <code>Files</code> from the file system.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Parser#PARSER_fileCharset}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <js>"DEFAULT"</js> which causes the system default to be used.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder fileCharset(String value) {
@@ -1232,14 +1562,19 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Parser#PARSER_inputStreamCharset} property on all parsers in this group.
+	 * Configuration property:  Input stream charset.
+	 *
+	 * <p>
+	 * The character set to use for converting <code>InputStreams</code> and byte arrays to readers.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Parser#PARSER_inputStreamCharset}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <js>"UTF-8"</js>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder inputStreamCharset(String value) {
@@ -1247,29 +1582,37 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Parser#PARSER_listener} property on all parsers in this group.
+	 * Configuration property:  Parser listener.
+	 *
+	 * <p>
+	 * Class used to listen for errors and warnings that occur during parsing.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Parser#PARSER_listener}
 	 * </ul>
 	 * 
-	 * @param pl The new parser listener.
+	 * @param value The new value for this property.
 	 * @return This object (for method chaining).
 	 */
-	public RestClientBuilder parserListener(Class<? extends ParserListener> pl) {
-		return set(PARSER_listener, pl);
+	public RestClientBuilder listenerP(Class<? extends ParserListener> value) {
+		return set(PARSER_listener, value);
 	}
 
 	/**
-	 * Sets the {@link Parser#PARSER_strict} property on all parsers in this group.
+	 * Configuration property:  Strict mode.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, strict mode for the parser is enabled.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Parser#PARSER_strict}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder strict(boolean value) {
@@ -1277,14 +1620,37 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Parser#PARSER_trimStrings} property on all parsers in this group.
+	 * Configuration property:  Strict mode.
+	 * 
+	 * <p>
+	 * Shortcut for calling <code>strict(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Parser#PARSER_strict}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RestClientBuilder strict() {
+		return set(PARSER_strict, true);
+	}
+
+	/**
+	 * Configuration property:  Trim parsed strings.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, string values will be trimmed of whitespace using {@link String#trim()} before being added to
+	 * the POJO.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Parser#PARSER_trimStrings}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestClientBuilder trimStringsP(boolean value) {
@@ -1292,11 +1658,24 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link UonSerializer#UON_paramFormat} property on the URL-encoding serializers in this group.
+	 * Configuration property:  Trim parsed strings.
 	 *
 	 * <p>
-	 * This overrides the behavior of the URL-encoding serializer to quote and escape characters in query names and
-	 * values that may be confused for UON notation (e.g. <js>"'(foo=123)'"</js>, <js>"'@(1,2,3)'"</js>).
+	 * Shortcut for calling <code>trimStrings(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Parser#PARSER_trimStrings}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RestClientBuilder trimStringsP() {
+		return set(PARSER_trimStrings, true);
+	}
+
+	/**
+	 * XXX
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -1311,24 +1690,7 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Shortcut for calling <code>paramFormat(<js>"PLAINTEXT"</js>)</code>.
-	 *
-	 * <p>
-	 * The default behavior is to serialize part values (query parameters, form data, headers, path variables) in UON
-	 * notation.
-	 * Calling this method forces plain-text to be used instead.
-	 *
-	 * <p>
-	 * Specifically, UON notation has the following effects:
-	 * <ul>
-	 * 	<li>Boolean strings (<js>"true"</js>/<js>"false"</js>) and numeric values (<js>"123"</js>) will be
-	 * 			quoted (<js>"'true'"</js>, <js>"'false'"</js>, <js>"'123'"</js>.
-	 * 		<br>This allows them to be differentiated from actual boolean and numeric values.
-	 * 	<li>String such as <js>"(foo='bar')"</js> that mimic UON structures will be quoted and escaped to
-	 * 		<js>"'(foo=bar~'baz~')'"</js>.
-	 * </ul>
-	 * <p>
-	 * The down-side to using plain text part serialization is that you cannot serialize arbitrary POJOs.
+	 * XXX
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -1337,129 +1699,127 @@ public class RestClientBuilder extends BeanContextBuilder {
 	 * 
 	 * @return This object (for method chaining).
 	 */
-	public RestClientBuilder plainTextParts() {
+	public RestClientBuilder paramFormatPlain() {
 		return set(UON_paramFormat, "PLAINTEXT");
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beanClassVisibility(Visibility value) {
-		super.beanClassVisibility(value);
+	public RestClientBuilder beansRequireDefaultConstructor(boolean value) {
+		super.beansRequireDefaultConstructor(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beanConstructorVisibility(Visibility value) {
-		super.beanConstructorVisibility(value);
+	public RestClientBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beanDictionary(boolean append, Object...values) {
-		super.beanDictionary(append, values);
+	public RestClientBuilder beansRequireSerializable(boolean value) {
+		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beanDictionary(Class<?>...values) {
-		super.beanDictionary(values);
+	public RestClientBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beanDictionary(Object...values) {
-		super.beanDictionary(values);
+	public RestClientBuilder beansRequireSettersForGetters(boolean value) {
+		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beanDictionaryRemove(Object...values) {
-		super.beanDictionaryRemove(values);
+	public RestClientBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beanFieldVisibility(Visibility value) {
-		super.beanFieldVisibility(value);
+	public RestClientBuilder beansRequireSomeProperties(boolean value) {
+		super.beansRequireSomeProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beanFilters(boolean append, Object...values) {
-		super.beanFilters(append, values);
+	public RestClientBuilder beanMapPutReturnsOldValue(boolean value) {
+		super.beanMapPutReturnsOldValue(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beanFilters(Object...values) {
-		super.beanFilters(values);
+	public RestClientBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beanFiltersRemove(Object...values) {
-		super.beanFiltersRemove(values);
+	public RestClientBuilder beanConstructorVisibility(Visibility value) {
+		super.beanConstructorVisibility(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beanMapPutReturnsOldValue(boolean value) {
-		super.beanMapPutReturnsOldValue(value);
+	public RestClientBuilder beanClassVisibility(Visibility value) {
+		super.beanClassVisibility(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beansRequireDefaultConstructor(boolean value) {
-		super.beansRequireDefaultConstructor(value);
+	public RestClientBuilder beanFieldVisibility(Visibility value) {
+		super.beanFieldVisibility(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beansRequireSerializable(boolean value) {
-		super.beansRequireSerializable(value);
+	public RestClientBuilder beanMethodVisibility(Visibility value) {
+		super.beanMethodVisibility(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beansRequireSettersForGetters(boolean value) {
-		super.beansRequireSettersForGetters(value);
+	public RestClientBuilder useJavaBeanIntrospector(boolean value) {
+		super.useJavaBeanIntrospector(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beansRequireSomeProperties(boolean value) {
-		super.beansRequireSomeProperties(value);
+	public RestClientBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beanTypePropertyName(String value) {
-		super.beanTypePropertyName(value);
+	public RestClientBuilder useInterfaceProxies(boolean value) {
+		super.useInterfaceProxies(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder debug() {
-		super.debug();
-		set(RESTCLIENT_debug, true);
-		header("Debug", true);
+	public RestClientBuilder ignoreUnknownBeanProperties(boolean value) {
+		super.ignoreUnknownBeanProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder excludeProperties(Class<?> beanClass, String properties) {
-		super.excludeProperties(beanClass, properties);
+	public RestClientBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder excludeProperties(Map<String,String> values) {
-		super.excludeProperties(values);
+	public RestClientBuilder ignoreUnknownNullBeanProperties(boolean value) {
+		super.ignoreUnknownNullBeanProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder excludeProperties(String beanClassName, String properties) {
-		super.excludeProperties(beanClassName, properties);
+	public RestClientBuilder ignorePropertiesWithoutSetters(boolean value) {
+		super.ignorePropertiesWithoutSetters(value);
 		return this;
 	}
 
@@ -1470,152 +1830,176 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public RestClientBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RestClientBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder ignorePropertiesWithoutSetters(boolean value) {
-		super.ignorePropertiesWithoutSetters(value);
+	public RestClientBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder ignoreUnknownBeanProperties(boolean value) {
-		super.ignoreUnknownBeanProperties(value);
+	public RestClientBuilder sortProperties(boolean value) {
+		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder ignoreUnknownNullBeanProperties(boolean value) {
-		super.ignoreUnknownNullBeanProperties(value);
+	public RestClientBuilder sortProperties() {
+		super.sortProperties();
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public <T> RestClientBuilder implClass(Class<T> interfaceClass, Class<? extends T> implClass) {
-		super.implClass(interfaceClass, implClass);
+	public RestClientBuilder notBeanPackages(Object...values) {
+		super.notBeanPackages(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder implClasses(Map<String,Class<?>> values) {
-		super.implClasses(values);
+	public RestClientBuilder notBeanPackages(String...values) {
+		super.notBeanPackages(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder includeProperties(Class<?> beanClass, String properties) {
-		super.includeProperties(beanClass, properties);
+	public RestClientBuilder notBeanPackages(boolean append, Object...values) {
+		super.notBeanPackages(append, values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder includeProperties(Map<String,String> values) {
-		super.includeProperties(values);
+	public RestClientBuilder notBeanPackagesRemove(Object...values) {
+		super.notBeanPackagesRemove(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder includeProperties(String beanClassName, String properties) {
-		super.includeProperties(beanClassName, properties);
+	public RestClientBuilder notBeanClasses(Object...values) {
+		super.notBeanClasses(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder locale(Locale value) {
-		super.locale(value);
+	public RestClientBuilder notBeanClasses(Class<?>...values) {
+		super.notBeanClasses(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder mediaType(MediaType value) {
-		super.mediaType(value);
+	public RestClientBuilder notBeanClasses(boolean append, Object...values) {
+		super.notBeanClasses(append, values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder beanMethodVisibility(Visibility value) {
-		super.beanMethodVisibility(value);
+	public RestClientBuilder notBeanClassesRemove(Object...values) {
+		super.notBeanClassesRemove(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder notBeanClasses(boolean append, Object...values) {
-		super.notBeanClasses(append, values);
+	public RestClientBuilder beanFilters(Object...values) {
+		super.beanFilters(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder notBeanClasses(Class<?>...values) {
-		super.notBeanClasses(values);
+	public RestClientBuilder beanFilters(Class<?>...values) {
+		super.beanFilters(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder notBeanClasses(Object...values) {
-		super.notBeanClasses(values);
+	public RestClientBuilder beanFilters(boolean append, Object...values) {
+		super.beanFilters(append, values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder notBeanClassesRemove(Object...values) {
-		super.notBeanClassesRemove(values);
+	public RestClientBuilder beanFiltersRemove(Object...values) {
+		super.beanFiltersRemove(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder notBeanPackages(boolean append, Object...values) {
-		super.notBeanPackages(append, values);
+	public RestClientBuilder pojoSwaps(Object...values) {
+		super.pojoSwaps(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder notBeanPackages(Object...values) {
-		super.notBeanPackages(values);
+	public RestClientBuilder pojoSwaps(Class<?>...values) {
+		super.pojoSwaps(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder notBeanPackages(String...values) {
-		super.notBeanPackages(values);
+	public RestClientBuilder pojoSwaps(boolean append, Object...values) {
+		super.pojoSwaps(append, values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder notBeanPackagesRemove(Object...values) {
-		super.notBeanPackagesRemove(values);
+	public RestClientBuilder pojoSwapsRemove(Object...values) {
+		super.pojoSwapsRemove(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder pojoSwaps(boolean append, Object...values) {
-		super.pojoSwaps(append, values);
+	public RestClientBuilder implClasses(Map<String,Class<?>> values) {
+		super.implClasses(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder pojoSwaps(Class<?>...values) {
-		super.pojoSwaps(values);
+	public <T> RestClientBuilder implClass(Class<T> interfaceClass, Class<? extends T> implClass) {
+		super.implClass(interfaceClass, implClass);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder pojoSwaps(Object...values) {
-		super.pojoSwaps(values);
+	public RestClientBuilder beanDictionary(Object...values) {
+		super.beanDictionary(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder pojoSwapsRemove(Object...values) {
-		super.pojoSwapsRemove(values);
+	public RestClientBuilder beanDictionary(Class<?>...values) {
+		super.beanDictionary(values);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder sortProperties(boolean value) {
-		super.sortProperties(value);
+	public RestClientBuilder beanDictionary(boolean append, Object...values) {
+		super.beanDictionary(append, values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
+	public RestClientBuilder beanDictionaryRemove(Object...values) {
+		super.beanDictionaryRemove(values);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
+	public RestClientBuilder beanTypePropertyName(String value) {
+		super.beanTypePropertyName(value);
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
+	public RestClientBuilder locale(Locale value) {
+		super.locale(value);
 		return this;
 	}
 
@@ -1626,14 +2010,16 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder useInterfaceProxies(boolean value) {
-		super.useInterfaceProxies(value);
+	public RestClientBuilder mediaType(MediaType value) {
+		super.mediaType(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
-	public RestClientBuilder useJavaBeanIntrospector(boolean value) {
-		super.useJavaBeanIntrospector(value);
+	public RestClientBuilder debug() {
+		super.debug();
+		set(RESTCLIENT_debug, true);
+		header("Debug", true);
 		return this;
 	}
 
@@ -1679,6 +2065,12 @@ public class RestClientBuilder extends BeanContextBuilder {
 		return this;
 	}
 
+	@Override /* ContextBuilder */
+	public RestClientBuilder apply(PropertyStore copyFrom) {
+		super.apply(copyFrom);
+		return this;
+	}
+
 
 	//------------------------------------------------------------------------------------------------
 	// Passthrough methods for HttpClientBuilder.

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SSLOpts.java
----------------------------------------------------------------------
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SSLOpts.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SSLOpts.java
index 1974a0d..e00fa48 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SSLOpts.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SSLOpts.java
@@ -93,7 +93,7 @@ public class SSLOpts {
 	/**
 	 * Bean property setter:  <property>protocols</property>.
 	 *
-	 * @param protocols The new value for the <property>properties</property> property on this bean.
+	 * @param protocols The new value for the <property>protocols</property> property on this bean.
 	 * @return This object (for method chaining).
 	 */
 	public SSLOpts setProtocols(String protocols) {
@@ -113,7 +113,7 @@ public class SSLOpts {
 	/**
 	 * Bean property setter:  <property>certValidate</property>.
 	 *
-	 * @param certValidate The new value for the <property>properties</property> property on this bean.
+	 * @param certValidate The new value for the <property>certValidate</property> property on this bean.
 	 * @return This object (for method chaining).
 	 */
 	public SSLOpts setCertValidate(CertValidate certValidate) {
@@ -133,7 +133,7 @@ public class SSLOpts {
 	/**
 	 * Bean property setter:  <property>hostVerify</property>.
 	 *
-	 * @param hostVerify The new value for the <property>properties</property> property on this bean.
+	 * @param hostVerify The new value for the <property>hostVerify</property> property on this bean.
 	 * @return This object (for method chaining).
 	 */
 	public SSLOpts setHostVerify(HostVerify hostVerify) {

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/package.html
----------------------------------------------------------------------
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/package.html b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/package.html
index ec36bab..993dcac 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/package.html
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/package.html
@@ -755,7 +755,7 @@
 	<h3 class='topic' onclick='toggle(this)'>1.7 - Interceptors</h3>
 	<div class='topic'>
 		<p>
-			The {@link org.apache.juneau.rest.client.RestClientBuilder#interceptor(RestCallInterceptor)} and 
+			The {@link org.apache.juneau.rest.client.RestClientBuilder#interceptors(RestCallInterceptor...)} and 
 			{@link org.apache.juneau.rest.client.RestCall#interceptor(RestCallInterceptor)} methods can be used to 
 			intercept responses during specific connection lifecycle events.
 		</p>

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
----------------------------------------------------------------------
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index 421c0ef..301f751 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -978,6 +978,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><b>Methods:</b>  
 	 * 		<ul>
 	 * 			<li class='jm'>{@link RestContextBuilder#renderResponseStackTraces(boolean)}
+	 * 			<li class='jm'>{@link RestContextBuilder#renderResponseStackTraces()}
 	 * 		</ul>
 	 * </ul>
 	 *

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
index f324cad..2e7f9e7 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
@@ -518,7 +518,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_allowBodyParam}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder allowBodyParam(boolean value) {
@@ -539,7 +541,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_allowedMethodParams}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is <code>[<js>"HEAD"</js>,<js>"OPTIONS"</js>]</code>.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder allowedMethodParams(String...value) {
@@ -559,7 +563,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_allowHeaderParams}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder allowHeaderParams(boolean value) {
@@ -578,7 +584,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_callHandler}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link RestCallHandler}.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder callHandler(Class<? extends RestCallHandler> value) {
@@ -596,7 +604,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_callHandler}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link RestCallHandler}.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder callHandler(RestCallHandler value) {
@@ -676,7 +686,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_classpathResourceFinder}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link ClasspathResourceFinderBasic}.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder classpathResourceFinder(Class<? extends ClasspathResourceFinder> value) {
@@ -694,7 +706,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_classpathResourceFinder}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link ClasspathResourceFinderBasic}.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder classpathResourceFinder(ClasspathResourceFinder value) {
@@ -716,7 +730,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_clientVersionHeader}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is <js>"X-Client-Version"</js>.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder clientVersionHeader(String value) {
@@ -798,7 +814,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_defaultCharset}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is <js>"utf-8"</js>.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder defaultCharset(String value) {
@@ -981,7 +999,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_infoProvider}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link RestInfoProvider}.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder infoProvider(Class<? extends RestInfoProvider> value) {
@@ -999,7 +1019,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_infoProvider}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link RestInfoProvider}.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder infoProvider(RestInfoProvider value) {
@@ -1017,7 +1039,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_logger}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.  Can be <jk>null</jk> to disable logging.
+	 * @param value 
+	 * 	The new value for this setting.  
+	 * 	<br>The default is {@link RestLogger.Normal}.
+	 * 	<br>Can be <jk>null</jk> to disable logging.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder logger(Class<? extends RestLogger> value) {
@@ -1035,7 +1060,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_logger}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.  Can be <jk>null</jk> to disable logging.
+	 * @param value 
+	 * 	The new value for this setting.  
+	 * 	<br>The default is {@link RestLogger.Normal}.
+	 * 	<br>Can be <jk>null</jk> to disable logging.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder logger(RestLogger value) {
@@ -1054,7 +1082,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_maxInput}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is <js>"100M"</js>.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder maxInput(String value) {
@@ -1265,7 +1295,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_partParser}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link UonPartParser}.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder partParser(Class<? extends HttpPartParser> value) {
@@ -1283,7 +1315,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_partParser}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link UonPartParser}.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder partParser(HttpPartParser value) {
@@ -1301,7 +1335,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_partSerializer}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link SimpleUonPartSerializer}.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder partSerializer(Class<? extends HttpPartSerializer> value) {
@@ -1319,7 +1355,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_partSerializer}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link SimpleUonPartSerializer}.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder partSerializer(HttpPartSerializer value) {
@@ -1358,7 +1396,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_renderResponseStackTraces}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder renderResponseStackTraces(boolean value) {
@@ -1366,6 +1406,23 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	}
 
 	/**
+	 * Configuration property:  Render response stack traces in responses.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>renderResponseStackTraces(<jk>true</jk>)<code>.
+	 * 
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link RestContext#REST_renderResponseStackTraces}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RestContextBuilder renderResponseStackTraces() {
+		return set(REST_renderResponseStackTraces, true);
+	}
+
+	/**
 	 * REST resource resolver.
 	 * 
 	 * <p>
@@ -1379,7 +1436,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_resourceResolver}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link RestResourceResolverSimple}.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder resourceResolver(Class<? extends RestResourceResolver> value) {
@@ -1397,7 +1456,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_resourceResolver}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link RestResourceResolverSimple}.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder resourceResolver(RestResourceResolver value) {
@@ -1532,7 +1593,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 
 	 * @param append
 	 * 	If <jk>true</jk>, append to the existing list, otherwise overwrite the previous value. 
-	 * @param headers The headers to add to this list.
+	 * @param headers 
+	 * 	The headers to add to this list.
+	 * 	<br>The default is <code>{<js>'Cache-Control'</js>: <js>'max-age=86400, public</js>}</code>.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder staticFileResponseHeaders(boolean append, Map<String,String> headers) {
@@ -1796,7 +1859,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_useClasspathResourceCaching}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder useClasspathResourceCaching(boolean value) {
@@ -1815,7 +1880,9 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li class='jf'>{@link RestContext#REST_useStackTraceHashes}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RestContextBuilder useStackTraceHashes(boolean value) {
@@ -1888,18 +1955,36 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	}
 
 	@Override /* BeanContextBuilder */
+	public RestContextBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RestContextBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public RestContextBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RestContextBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public RestContextBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RestContextBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -1912,6 +1997,12 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	}
 
 	@Override /* BeanContextBuilder */
+	public RestContextBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RestContextBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -1942,6 +2033,12 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	}
 
 	@Override /* BeanContextBuilder */
+	public RestContextBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RestContextBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -1954,6 +2051,12 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	}
 
 	@Override /* BeanContextBuilder */
+	public RestContextBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RestContextBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -1972,18 +2075,36 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	}
 
 	@Override /* BeanContextBuilder */
+	public RestContextBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RestContextBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public RestContextBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RestContextBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public RestContextBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RestContextBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;


[7/7] juneau git commit: Javadoc updates

Posted by ja...@apache.org.
Javadoc updates

Project: http://git-wip-us.apache.org/repos/asf/juneau/repo
Commit: http://git-wip-us.apache.org/repos/asf/juneau/commit/c162400e
Tree: http://git-wip-us.apache.org/repos/asf/juneau/tree/c162400e
Diff: http://git-wip-us.apache.org/repos/asf/juneau/diff/c162400e

Branch: refs/heads/master
Commit: c162400e696e04cb9316b5b826d95e4067390567
Parents: aae7b5f
Author: JamesBognar <ja...@apache.org>
Authored: Wed Jan 10 20:13:00 2018 -0500
Committer: JamesBognar <ja...@apache.org>
Committed: Wed Jan 10 20:13:00 2018 -0500

----------------------------------------------------------------------
 .../java/org/apache/juneau/BeanConfigTest.java  |  32 +-
 .../java/org/apache/juneau/BeanMapTest.java     |  10 +-
 .../test/java/org/apache/juneau/TestUtils.java  |   8 +-
 .../juneau/a/rttests/RoundTripBeanMapsTest.java |   2 +-
 .../a/rttests/RoundTripLargeObjectsTest.java    |   2 +-
 .../juneau/a/rttests/RoundTripMapsTest.java     |   2 +-
 .../apache/juneau/a/rttests/RoundTripTest.java  |  16 +-
 .../a/rttests/RoundTripTrimStringsTest.java     |   4 +-
 .../org/apache/juneau/dto/atom/AtomTest.java    |   6 +-
 .../apache/juneau/dto/cognos/CognosXmlTest.java |   2 +-
 .../org/apache/juneau/html/BasicHtmlTest.java   |   2 +-
 .../apache/juneau/html/CommonParserTest.java    |   4 +-
 .../java/org/apache/juneau/html/CommonTest.java |  50 +-
 .../java/org/apache/juneau/html/HtmlTest.java   |   6 +-
 .../apache/juneau/jena/CommonParserTest.java    |   8 +-
 .../java/org/apache/juneau/jena/CommonTest.java |  23 +-
 .../org/apache/juneau/jena/RdfParserTest.java   |   2 +-
 .../java/org/apache/juneau/jena/RdfTest.java    |  10 +-
 .../apache/juneau/json/CommonParserTest.java    |   4 +-
 .../java/org/apache/juneau/json/CommonTest.java |  24 +-
 .../java/org/apache/juneau/json/JsonTest.java   |   6 +
 .../juneau/transforms/CalendarSwapTest.java     |   2 +-
 .../urlencoding/CommonParser_UonTest.java       |   4 +-
 .../CommonParser_UrlEncodingTest.java           |   4 +-
 .../juneau/urlencoding/Common_UonTest.java      |  22 +-
 .../urlencoding/Common_UrlEncodingTest.java     |  22 +-
 .../urlencoding/UrlEncodingSerializerTest.java  |   4 +-
 .../org/apache/juneau/xml/CommonParserTest.java |   4 +-
 .../java/org/apache/juneau/xml/CommonTest.java  |  22 +-
 .../org/apache/juneau/xml/XmlParserTest.java    |   2 +-
 .../java/org/apache/juneau/xml/XmlTest.java     |  42 +-
 .../juneau/yaml/proto/CommonParserTest.java     |   4 +-
 .../apache/juneau/yaml/proto/CommonTest.java    |  24 +-
 .../java/org/apache/juneau/jena/RdfCommon.java  |  43 +-
 .../java/org/apache/juneau/jena/RdfParser.java  |   1 +
 .../apache/juneau/jena/RdfParserBuilder.java    | 170 ++--
 .../org/apache/juneau/jena/RdfSerializer.java   |   2 +
 .../juneau/jena/RdfSerializerBuilder.java       | 309 ++++---
 .../java/org/apache/juneau/BeanContext.java     | 126 ++-
 .../org/apache/juneau/BeanContextBuilder.java   | 408 +++++++---
 .../java/org/apache/juneau/BeanSession.java     |   4 +-
 .../java/org/apache/juneau/annotation/Bean.java |  91 +--
 .../apache/juneau/annotation/BeanProperty.java  |   3 -
 .../org/apache/juneau/csv/CsvParserBuilder.java |  68 +-
 .../apache/juneau/csv/CsvSerializerBuilder.java | 107 +++
 .../apache/juneau/html/HtmlParserBuilder.java   |  74 +-
 .../org/apache/juneau/html/HtmlSerializer.java  |   1 +
 .../juneau/html/HtmlSerializerBuilder.java      | 173 +++-
 .../SimpleUonPartSerializerBuilder.java         | 107 +++
 .../juneau/httppart/UonPartParserBuilder.java   |  68 +-
 .../httppart/UonPartSerializerBuilder.java      | 128 ++-
 .../org/apache/juneau/jso/JsoParserBuilder.java |  68 +-
 .../apache/juneau/jso/JsoSerializerBuilder.java | 107 +++
 .../apache/juneau/json/JsonParserBuilder.java   |  68 +-
 .../json/JsonSchemaSerializerBuilder.java       | 117 ++-
 .../org/apache/juneau/json/JsonSerializer.java  |   3 +-
 .../juneau/json/JsonSerializerBuilder.java      | 145 +++-
 .../juneau/msgpack/MsgPackParserBuilder.java    |  68 +-
 .../msgpack/MsgPackSerializerBuilder.java       | 107 +++
 .../java/org/apache/juneau/parser/Parser.java   |   7 +-
 .../org/apache/juneau/parser/ParserBuilder.java | 142 ++--
 .../juneau/parser/ParserGroupBuilder.java       | 130 ++-
 .../org/apache/juneau/parser/ParserPipe.java    |   2 +-
 .../plaintext/PlainTextParserBuilder.java       |  68 +-
 .../plaintext/PlainTextSerializerBuilder.java   | 107 +++
 .../apache/juneau/serializer/Serializer.java    |  24 +-
 .../juneau/serializer/SerializerBuilder.java    | 387 ++++++---
 .../serializer/SerializerGroupBuilder.java      | 392 ++++++++-
 .../apache/juneau/soap/SoapXmlSerializer.java   |   4 +
 .../juneau/soap/SoapXmlSerializerBuilder.java   | 150 +++-
 .../transform/AnnotationBeanFilterBuilder.java  |   2 +-
 .../org/apache/juneau/transform/BeanFilter.java |   2 +-
 .../juneau/transform/BeanFilterBuilder.java     | 103 ++-
 .../transform/InterfaceBeanFilterBuilder.java   |   2 +-
 .../org/apache/juneau/uon/UonParserBuilder.java |  68 +-
 .../org/apache/juneau/uon/UonSerializer.java    |   4 +-
 .../apache/juneau/uon/UonSerializerBuilder.java | 140 +++-
 .../urlencoding/UrlEncodingParserBuilder.java   |  68 +-
 .../urlencoding/UrlEncodingSerializer.java      |   1 +
 .../UrlEncodingSerializerBuilder.java           | 155 +++-
 .../java/org/apache/juneau/xml/XmlParser.java   |   4 +
 .../org/apache/juneau/xml/XmlParserBuilder.java | 140 +++-
 .../juneau/xml/XmlSchemaSerializerBuilder.java  | 113 +++
 .../org/apache/juneau/xml/XmlSerializer.java    |   1 +
 .../apache/juneau/xml/XmlSerializerBuilder.java | 225 +++--
 .../juneau/yaml/proto/YamlParserBuilder.java    |  68 +-
 .../yaml/proto/YamlSerializerBuilder.java       | 129 ++-
 juneau-doc/src/main/javadoc/overview.html       |  98 ++-
 .../core/json/JsonConfigurationExample.java     |   2 +-
 .../apache/juneau/examples/rest/TestUtils.java  |   8 +-
 .../apache/juneau/rest/test/FormDataTest.java   |   2 +-
 .../juneau/rest/test/UrlPathPatternTest.java    |   2 +-
 .../apache/juneau/rest/client/RestClient.java   |   6 +-
 .../juneau/rest/client/RestClientBuilder.java   | 812 ++++++++++++++-----
 .../org/apache/juneau/rest/client/SSLOpts.java  |   6 +-
 .../org/apache/juneau/rest/client/package.html  |   2 +-
 .../org/apache/juneau/rest/RestContext.java     |   1 +
 .../apache/juneau/rest/RestContextBuilder.java  | 169 +++-
 98 files changed, 5339 insertions(+), 1352 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/BeanConfigTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/BeanConfigTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/BeanConfigTest.java
index 8016c63..4f0590a 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/BeanConfigTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/BeanConfigTest.java
@@ -571,19 +571,19 @@ public class BeanConfigTest {
 		p2 = JsonParser.create();
 		assertSameCache(p1, p2);
 
-		p1.beansRequireDefaultConstructor(true);
+		p1.beansRequireDefaultConstructor();
 		assertDifferentCache(p1, p2);
-		p2.beansRequireDefaultConstructor(true);
+		p2.beansRequireDefaultConstructor();
 		assertSameCache(p1, p2);
 
-		p1.beansRequireSerializable(true);
+		p1.beansRequireSerializable();
 		assertDifferentCache(p1, p2);
-		p2.beansRequireSerializable(true);
+		p2.beansRequireSerializable();
 		assertSameCache(p1, p2);
 
-		p1.beansRequireSettersForGetters(true);
+		p1.beansRequireSettersForGetters();
 		assertDifferentCache(p1, p2);
-		p2.beansRequireSettersForGetters(true);
+		p2.beansRequireSettersForGetters();
 		assertSameCache(p1, p2);
 
 		p1.beansRequireSomeProperties(false);
@@ -591,9 +591,9 @@ public class BeanConfigTest {
 		p2.beansRequireSomeProperties(false);
 		assertSameCache(p1, p2);
 
-		p1.beanMapPutReturnsOldValue(true);
+		p1.beanMapPutReturnsOldValue();
 		assertDifferentCache(p1, p2);
-		p2.beanMapPutReturnsOldValue(true);
+		p2.beanMapPutReturnsOldValue();
 		assertSameCache(p1, p2);
 
 		p1.beanConstructorVisibility(Visibility.DEFAULT);
@@ -664,9 +664,9 @@ public class BeanConfigTest {
 		p2.beanMethodVisibility(Visibility.PROTECTED);
 		assertSameCache(p1, p2);
 
-		p1.useJavaBeanIntrospector(true);
+		p1.useJavaBeanIntrospector();
 		assertDifferentCache(p1, p2);
-		p2.useJavaBeanIntrospector(true);
+		p2.useJavaBeanIntrospector();
 		assertSameCache(p1, p2);
 
 		p1.useInterfaceProxies(false);
@@ -674,9 +674,9 @@ public class BeanConfigTest {
 		p2.useInterfaceProxies(false);
 		assertSameCache(p1, p2);
 
-		p1.ignoreUnknownBeanProperties(true);
+		p1.ignoreUnknownBeanProperties();
 		assertDifferentCache(p1, p2);
-		p2.ignoreUnknownBeanProperties(true);
+		p2.ignoreUnknownBeanProperties();
 		assertSameCache(p1, p2);
 
 		p1.ignoreUnknownNullBeanProperties(false);
@@ -689,14 +689,14 @@ public class BeanConfigTest {
 		p2.ignorePropertiesWithoutSetters(false);
 		assertSameCache(p1, p2);
 
-		p1.ignoreInvocationExceptionsOnGetters(true);
+		p1.ignoreInvocationExceptionsOnGetters();
 		assertDifferentCache(p1, p2);
-		p2.ignoreInvocationExceptionsOnGetters(true);
+		p2.ignoreInvocationExceptionsOnGetters();
 		assertSameCache(p1, p2);
 
-		p1.ignoreInvocationExceptionsOnSetters(true);
+		p1.ignoreInvocationExceptionsOnSetters();
 		assertDifferentCache(p1, p2);
-		p2.ignoreInvocationExceptionsOnSetters(true);
+		p2.ignoreInvocationExceptionsOnSetters();
 		assertSameCache(p1, p2);
 
 		p1.notBeanPackages("foo");

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java
index e937339..7c33a53 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java
@@ -957,7 +957,7 @@ public class BeanMapTest {
 
 		// JSON
 		String json = "{baz:789,foo:123,bar:456}";
-		p = JsonParser.create().ignoreUnknownBeanProperties(true).build();
+		p = JsonParser.create().ignoreUnknownBeanProperties().build();
 		t = p.parse(json, O.class);
 		assertEquals(123, t.foo);
 
@@ -971,7 +971,7 @@ public class BeanMapTest {
 
 		// XML
 		String xml = "<object><baz type='number'>789</baz><foo type='number'>123</foo><bar type='number'>456</bar></object>";
-		p = XmlParser.create().ignoreUnknownBeanProperties(true).build();
+		p = XmlParser.create().ignoreUnknownBeanProperties().build();
 		t = p.parse(xml, O.class);
 		assertEquals(123, t.foo);
 
@@ -985,7 +985,7 @@ public class BeanMapTest {
 
 		// HTML
 		String html = "<table _type='object'><tr><th><string>key</string></th><th><string>value</string></th></tr><tr><td><string>baz</string></td><td><number>789</number></td></tr><tr><td><string>foo</string></td><td><number>123</number></td></tr><tr><td><string>bar</string></td><td><number>456</number></td></tr></table>";
-		p = HtmlParser.create().ignoreUnknownBeanProperties(true).build();
+		p = HtmlParser.create().ignoreUnknownBeanProperties().build();
 		t = p.parse(html, O.class);
 		assertEquals(123, t.foo);
 
@@ -999,7 +999,7 @@ public class BeanMapTest {
 
 		// UON
 		String uon = "(baz=789,foo=123,bar=456)";
-		p = UonParser.create().ignoreUnknownBeanProperties(true).build();
+		p = UonParser.create().ignoreUnknownBeanProperties().build();
 		t = p.parse(uon, O.class);
 		assertEquals(123, t.foo);
 
@@ -1013,7 +1013,7 @@ public class BeanMapTest {
 
 		// URL-Encoding
 		String urlencoding = "baz=789&foo=123&bar=456";
-		p = UrlEncodingParser.create().ignoreUnknownBeanProperties(true).build();
+		p = UrlEncodingParser.create().ignoreUnknownBeanProperties().build();
 		t = p.parse(urlencoding, O.class);
 		assertEquals(123, t.foo);
 

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java
index d7d1bda..943add8 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java
@@ -47,8 +47,8 @@ public class TestUtils {
 
 	private static JsonSerializer jsSorted = JsonSerializer.create()
 		.simple()
-		.sortCollections(true)
-		.sortMaps(true)
+		.sortCollections()
+		.sortMaps()
 		.trimNullProperties(false)
 		.build();
 
@@ -61,7 +61,7 @@ public class TestUtils {
 	private static JsonSerializer js3 = JsonSerializer.create()
 		.simple()
 		.pojoSwaps(IteratorSwap.class, EnumerationSwap.class)
-		.sortProperties(true)
+		.sortProperties()
 		.build();
 
 	private static final BeanSession beanSession = BeanContext.DEFAULT.createSession();
@@ -232,7 +232,7 @@ public class TestUtils {
 	 * Test whitespace and generated schema.
 	 */
 	public static void validateXml(Object o, XmlSerializer s) throws Exception {
-		s = s.builder().ws().ns().addNamespaceUrisToRoot(true).build();
+		s = s.builder().ws().ns().addNamespaceUrisToRoot().build();
 		String xml = s.serialize(o);
 
 		String xmlSchema = null;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
index 982ec2c..20d6091 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
@@ -520,7 +520,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
 	}
 	public static class D2Filter extends BeanFilterBuilder<D2> {
 		public D2Filter() {
-			properties("f3,f2");
+			includeProperties("f3,f2");
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripLargeObjectsTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripLargeObjectsTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripLargeObjectsTest.java
index 6a5024d..1729dd4 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripLargeObjectsTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripLargeObjectsTest.java
@@ -67,7 +67,7 @@ public class RoundTripLargeObjectsTest extends RoundTripTest {
 			},
 			{ /* 3 */
 				"Xml DEFAULT w/namespaces,validation",
-				XmlSerializer.create().sq().ns().trimNullProperties(false).addNamespaceUrisToRoot(true).useWhitespace(true),
+				XmlSerializer.create().sq().ns().trimNullProperties(false).addNamespaceUrisToRoot().useWhitespace(),
 				XmlParser.create(),
 				CHECK_XML_WHITESPACE | VALIDATE_XML
 			},

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java
index d05ba3f..8520adc 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java
@@ -116,7 +116,7 @@ public class RoundTripMapsTest extends RoundTripTest {
 		r = s.serialize(t);
 		assertEquals(e, r);
 
-		s = HtmlSerializer.create().sq().pojoSwaps(getPojoSwaps()).trimNullProperties(false).addKeyValueTableHeaders(true).build();
+		s = HtmlSerializer.create().sq().pojoSwaps(getPojoSwaps()).trimNullProperties(false).addKeyValueTableHeaders().build();
 		e = "<table><tr><th>key</th><th>value</th></tr><tr><td>AQID</td><td>a</td></tr><tr><td>BAUG</td><td><null/></td></tr><tr><td><null/></td><td>b</td></tr></table>";
 		r = s.serialize(t);
 		assertEquals(e, r);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
index 7cc4152..a4689b6 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
@@ -67,7 +67,7 @@ public abstract class RoundTripTest {
 			},
 			{ /* 3 */
 				"Xml - namespaces, validation, readable",
-				XmlSerializer.create().ns().sq().trimNullProperties(false).addNamespaceUrisToRoot(true).useWhitespace(true),
+				XmlSerializer.create().ns().sq().trimNullProperties(false).addNamespaceUrisToRoot().useWhitespace(),
 				XmlParser.create(),
 				CHECK_XML_WHITESPACE | VALIDATE_XML
 			},
@@ -91,7 +91,7 @@ public abstract class RoundTripTest {
 			},
 			{ /* 7 */
 				"Html - with key/value headers",
-				HtmlSerializer.create().addKeyValueTableHeaders(true),
+				HtmlSerializer.create().addKeyValueTableHeaders(),
 				HtmlParser.create(),
 				CHECK_XML_WHITESPACE
 			},
@@ -127,37 +127,37 @@ public abstract class RoundTripTest {
 			},
 			{ /* 13 */
 				"UrlEncoding - expanded params",
-				UrlEncodingSerializer.create().expandedParams(true),
+				UrlEncodingSerializer.create().expandedParams(),
 				UrlEncodingParser.create().expandedParams(true),
 				0
 			},
 			{ /* 14 */
 				"Rdf.Xml",
-				RdfSerializer.create().trimNullProperties(false).addLiteralTypes(true),
+				RdfSerializer.create().trimNullProperties(false).addLiteralTypes(),
 				RdfParser.create().xml(),
 				0
 			},
 			{ /* 15 */
 				"Rdf.XmlAbbrev",
-				RdfSerializer.create().xmlabbrev().trimNullProperties(false).addLiteralTypes(true),
+				RdfSerializer.create().xmlabbrev().trimNullProperties(false).addLiteralTypes(),
 				RdfParser.create().xml(),
 				0
 			},
 			{ /* 16 */
 				"Rdf.Turtle",
-				RdfSerializer.create().turtle().trimNullProperties(false).addLiteralTypes(true),
+				RdfSerializer.create().turtle().trimNullProperties(false).addLiteralTypes(),
 				RdfParser.create().turtle(),
 				0
 			},
 			{ /* 17 */
 				"Rdf.NTriple",
-				RdfSerializer.create().ntriple().trimNullProperties(false).addLiteralTypes(true),
+				RdfSerializer.create().ntriple().trimNullProperties(false).addLiteralTypes(),
 				RdfParser.create().ntriple(),
 				0
 			},
 			{ /* 18 */
 				"Rdf.N3",
-				RdfSerializer.create().n3().trimNullProperties(false).addLiteralTypes(true),
+				RdfSerializer.create().n3().trimNullProperties(false).addLiteralTypes(),
 				RdfParser.create().n3(),
 				0
 			},

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTrimStringsTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTrimStringsTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTrimStringsTest.java
index 567281a..967b994 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTrimStringsTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTrimStringsTest.java
@@ -40,8 +40,8 @@ public class RoundTripTrimStringsTest extends RoundTripTest {
 		Parser p = getParser();
 		Object in, a, e;
 
-		Serializer s2 = s.builder().trimStrings(true).build();
-		Parser p2 = p.builder().trimStrings(true).build();
+		Serializer s2 = s.builder().trimStrings().build();
+		Parser p2 = p.builder().trimStrings().build();
 
 		in = " foo bar ";
 		e = "foo bar";

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/atom/AtomTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/atom/AtomTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/atom/AtomTest.java
index 066bfdc..35a86de 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/atom/AtomTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/atom/AtomTest.java
@@ -96,7 +96,7 @@ public class AtomTest {
 			+"	<updated>2016-12-31T01:02:03-04:00</updated>\n"
 			+"</feed>\n";
 
-		s = XmlSerializer.create().sq().ws().enableNamespaces(false).sortProperties(true).build();
+		s = XmlSerializer.create().sq().ws().enableNamespaces(false).sortProperties().build();
 		r = s.serialize(f);
 		assertEquals(expected, r);
 		f2 = p.parse(r, Feed.class);
@@ -141,7 +141,7 @@ public class AtomTest {
 			+"	<atom:updated>2016-12-31T01:02:03-04:00</atom:updated>\n"
 			+"</atom:feed>\n";
 
-		s = XmlSerializer.create().sq().ws().enableNamespaces(true).addNamespaceUrisToRoot(true).sortProperties(true).build();
+		s = XmlSerializer.create().sq().ws().enableNamespaces(true).addNamespaceUrisToRoot().sortProperties().build();
 		r = s.serialize(f);
 		assertEquals(expected, r);
 		f2 = p.parse(r, Feed.class);
@@ -186,7 +186,7 @@ public class AtomTest {
 			+"	<updated>2016-12-31T01:02:03-04:00</updated>\n"
 			+"</feed>\n";
 
-		s = XmlSerializer.create().sq().ws().defaultNamespace("atom").enableNamespaces(true).addNamespaceUrisToRoot(true).sortProperties(true).build();
+		s = XmlSerializer.create().sq().ws().defaultNamespace("atom").enableNamespaces(true).addNamespaceUrisToRoot().sortProperties().build();
 		r = s.serialize(f);
 		assertEquals(expected, r);
 		f2 = p.parse(r, Feed.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/cognos/CognosXmlTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/cognos/CognosXmlTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/cognos/CognosXmlTest.java
index 6883fdc..4f324f4 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/cognos/CognosXmlTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/cognos/CognosXmlTest.java
@@ -77,7 +77,7 @@ public class CognosXmlTest {
 			.sq()
 			.defaultNamespace("cognos")
 			.ns()
-			.addNamespaceUrisToRoot(true)
+			.addNamespaceUrisToRoot()
 			.build();
 
 		DataSet ds = new DataSet(c, rows, BeanContext.DEFAULT.createSession());

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/BasicHtmlTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/BasicHtmlTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/BasicHtmlTest.java
index 18eb41a..410afe4 100644
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/BasicHtmlTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/BasicHtmlTest.java
@@ -34,7 +34,7 @@ public class BasicHtmlTest {
 	private static final HtmlSerializer
 		s1 = HtmlSerializer.DEFAULT_SQ,
 		s2 = HtmlSerializer.DEFAULT_SQ_READABLE,
-		s3 = HtmlSerializer.DEFAULT_SQ.builder().abridged(true).build();
+		s3 = HtmlSerializer.DEFAULT_SQ.builder().abridged().build();
 	private static final HtmlParser parser = HtmlParser.DEFAULT;
 
 	@Parameterized.Parameters

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/CommonParserTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/CommonParserTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/CommonParserTest.java
index f7b0d99..242fb6c 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/CommonParserTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/CommonParserTest.java
@@ -94,7 +94,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testCorrectHandlingOfUnknownProperties() throws Exception {
-		ReaderParser p = HtmlParser.create().ignoreUnknownBeanProperties(true).build();
+		ReaderParser p = HtmlParser.create().ignoreUnknownBeanProperties().build();
 		B t;
 
 		String in = "<table _type='object'><tr><th><string>key</string></th><th><string>value</string></th></tr><tr><td><string>a</string></td><td><number>1</number></td></tr><tr><td><string>unknown</string></td><td><number>1</number></td></tr><tr><td><string>b</string></td><td><number>2</number></td></tr></table>";
@@ -142,7 +142,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testParserListeners() throws Exception {
-		HtmlParser p = HtmlParser.create().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
+		HtmlParser p = HtmlParser.create().ignoreUnknownBeanProperties().listener(MyParserListener.class).build();
 
 		String in = "<table _type='object'><tr><th><string>key</string></th><th><string>value</string></th></tr><tr><td><string>a</string></td><td><number>1</number></td></tr><tr><td><string>unknown</string></td><td><string>/foo</string></td></tr><tr><td><string>b</string></td><td><number>2</number></td></tr></table>";
 		p.parse(in, B.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/CommonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/CommonTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/CommonTest.java
index d7dbf21..0772e7a 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/CommonTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/CommonTest.java
@@ -33,7 +33,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimNullsFromBeans() throws Exception {
-		HtmlSerializerBuilder s = HtmlSerializer.create().sq().addKeyValueTableHeaders(true);
+		HtmlSerializerBuilder s = HtmlSerializer.create().sq().addKeyValueTableHeaders();
 		HtmlParser p = HtmlParser.DEFAULT;
 		A t1 = A.create(), t2;
 
@@ -65,7 +65,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyMaps() throws Exception {
-		HtmlSerializerBuilder s = HtmlSerializer.create().sq().addKeyValueTableHeaders(true);
+		HtmlSerializerBuilder s = HtmlSerializer.create().sq().addKeyValueTableHeaders();
 		HtmlParser p = HtmlParser.DEFAULT;
 		B t1 = B.create(), t2;
 		String r;
@@ -81,6 +81,12 @@ public class CommonTest {
 		assertEquals("<table><tr><th>key</th><th>value</th></tr><tr><td>f2</td><td><table><tr><th>key</th><th>value</th></tr><tr><td>f2a</td><td><null/></td></tr><tr><td>f2b</td><td><table><tr><th>key</th><th>value</th></tr><tr><td>s2</td><td>s2</td></tr></table></td></tr></table></td></tr></table>", r);
 		t2 = p.parse(r, B.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyMaps();
+		r = s.build().serialize(t1);
+		assertEquals("<table><tr><th>key</th><th>value</th></tr><tr><td>f2</td><td><table><tr><th>key</th><th>value</th></tr><tr><td>f2a</td><td><null/></td></tr><tr><td>f2b</td><td><table><tr><th>key</th><th>value</th></tr><tr><td>s2</td><td>s2</td></tr></table></td></tr></table></td></tr></table>", r);
+		t2 = p.parse(r, B.class);
+		assertNull(t2.f1);
 	}
 
 	public static class B {
@@ -99,7 +105,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyLists() throws Exception {
-		HtmlSerializerBuilder s = HtmlSerializer.create().sq().addKeyValueTableHeaders(true);
+		HtmlSerializerBuilder s = HtmlSerializer.create().sq().addKeyValueTableHeaders();
 		HtmlParser p = HtmlParser.DEFAULT;
 		C t1 = C.create(), t2;
 		String r;
@@ -115,6 +121,12 @@ public class CommonTest {
 		assertEquals("<table><tr><th>key</th><th>value</th></tr><tr><td>f2</td><td><table _type='array'><tr><th>s2</th></tr><tr><null/></tr><tr><td>s2</td></tr></table></td></tr></table>", r);
 		t2 = p.parse(r, C.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyCollections();
+		r = s.build().serialize(t1);
+		assertEquals("<table><tr><th>key</th><th>value</th></tr><tr><td>f2</td><td><table _type='array'><tr><th>s2</th></tr><tr><null/></tr><tr><td>s2</td></tr></table></td></tr></table>", r);
+		t2 = p.parse(r, C.class);
+		assertNull(t2.f1);
 	}
 
 	public static class C {
@@ -133,7 +145,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testTrimEmptyArrays() throws Exception {
-		HtmlSerializerBuilder s = HtmlSerializer.create().sq().addKeyValueTableHeaders(true);
+		HtmlSerializerBuilder s = HtmlSerializer.create().sq().addKeyValueTableHeaders();
 		HtmlParser p = HtmlParser.DEFAULT;
 		D t1 = D.create(), t2;
 		String r;
@@ -181,6 +193,26 @@ public class CommonTest {
 			r);
 		t2 = p.parse(r, D.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyCollections();
+		r = s.build().serialize(t1);
+		assertEquals(
+			"<table>"
+				+"<tr><th>key</th><th>value</th></tr>"
+				+"<tr>"
+					+"<td>f2</td>"
+					+"<td>"
+						+"<table _type='array'>"
+							+"<tr><th>s2</th></tr>"
+							+"<tr><null/></tr>"
+							+"<tr><td>s2</td></tr>"
+						+"</table>"
+					+"</td>"
+				+"</tr>"
+			+"</table>",
+			r);
+		t2 = p.parse(r, D.class);
+		assertNull(t2.f1);
 	}
 
 	public static class D {
@@ -199,7 +231,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testBeanPropertyProperties() throws Exception {
-		HtmlSerializer s = HtmlSerializer.create().sq().addKeyValueTableHeaders(true).build();
+		HtmlSerializer s = HtmlSerializer.create().sq().addKeyValueTableHeaders().build();
 		E1 t = new E1();
 		String r;
 
@@ -347,7 +379,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testRecursion() throws Exception {
-		HtmlSerializerBuilder s = HtmlSerializer.create().sq().addKeyValueTableHeaders(true);
+		HtmlSerializerBuilder s = HtmlSerializer.create().sq().addKeyValueTableHeaders();
 
 		R1 r1 = new R1();
 		R2 r2 = new R2();
@@ -366,7 +398,7 @@ public class CommonTest {
 		}
 
 		// Recursion detection, no ignore
-		s.detectRecursions(true);
+		s.detectRecursions();
 		try {
 			s.build().serialize(r1);
 			fail("Exception expected!");
@@ -378,7 +410,7 @@ public class CommonTest {
 			assertTrue(msg.contains("->[3]r1:org.apache.juneau.html.CommonTest$R1"));
 		}
 
-		s.ignoreRecursions(true);
+		s.ignoreRecursions();
 		assertEquals(
 			"<table><tr><th>key</th><th>value</th></tr><tr><td>name</td><td>foo</td></tr><tr><td>r2</td><td><table><tr><th>key</th><th>value</th></tr><tr><td>name</td><td>bar</td></tr><tr><td>r3</td><td><table><tr><th>key</th><th>value</th></tr><tr><td>name</td><td>baz</td></tr></table></td></tr></table></td></tr></table>",
 			s.build().serialize(r1)
@@ -406,7 +438,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testBasicBean() throws Exception {
-		WriterSerializer s = HtmlSerializer.create().sq().trimNullProperties(false).sortProperties(true).addKeyValueTableHeaders(true).build();
+		WriterSerializer s = HtmlSerializer.create().sq().trimNullProperties(false).sortProperties().addKeyValueTableHeaders().build();
 
 		J a = new J();
 		a.setF1("J");

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/HtmlTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/HtmlTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/HtmlTest.java
index 2665292..6732135 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/HtmlTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/html/HtmlTest.java
@@ -48,7 +48,7 @@ public class HtmlTest {
 	//====================================================================================================
 	@Test
 	public void testAnchorTextOptions() throws Exception {
-		HtmlSerializerBuilder s = HtmlSerializer.create().sq().addKeyValueTableHeaders(true).uriResolution(UriResolution.NONE);
+		HtmlSerializerBuilder s = HtmlSerializer.create().sq().addKeyValueTableHeaders().uriResolution(UriResolution.NONE);
 		TestURI t = new TestURI();
 		String r;
 		String expected = null;
@@ -209,7 +209,7 @@ public class HtmlTest {
 	//====================================================================================================
 	@Test
 	public void testHtmlAnnotationAsPlainText() throws Exception {
-		HtmlSerializer s = HtmlSerializer.create().sq().addKeyValueTableHeaders(true).build();
+		HtmlSerializer s = HtmlSerializer.create().sq().addKeyValueTableHeaders().build();
 		Object o = null;
 		String r;
 
@@ -241,7 +241,7 @@ public class HtmlTest {
 	//====================================================================================================
 	@Test
 	public void testHtmlAnnotationAsXml() throws Exception {
-		HtmlSerializer s = HtmlSerializer.create().sq().addKeyValueTableHeaders(true).build();
+		HtmlSerializer s = HtmlSerializer.create().sq().addKeyValueTableHeaders().build();
 		Object o = null;
 		String r;
 

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonParserTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonParserTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonParserTest.java
index 32420e0..604e620 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonParserTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonParserTest.java
@@ -43,7 +43,7 @@ public class CommonParserTest {
 	private RdfSerializerBuilder getBasicSerializer() {
 		return RdfSerializer.create()
 			.sq()
-			.addLiteralTypes(true)
+			.addLiteralTypes()
 			.useWhitespace(false)
 			.set(RDF_rdfxml_allowBadUris, true)
 			.set(RDF_rdfxml_showDoctypeDeclaration, false)
@@ -56,7 +56,7 @@ public class CommonParserTest {
 	@Test
 	public void testFromSerializer() throws Exception {
 		WriterSerializer s = getBasicSerializer().build();
-		ReaderParser p = RdfParser.create().xml().trimWhitespace(true).build();
+		ReaderParser p = RdfParser.create().xml().trimWhitespace().build();
 		Map m = null;
 		String in;
 		Integer one = Integer.valueOf(1);
@@ -139,7 +139,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testCorrectHandlingOfUnknownProperties() throws Exception {
-		ReaderParser p = RdfParser.create().xml().ignoreUnknownBeanProperties(true).build();
+		ReaderParser p = RdfParser.create().xml().ignoreUnknownBeanProperties().build();
 		B t;
 
 		String in = wrap("<rdf:Description><jp:a rdf:datatype='http://www.w3.org/2001/XMLSchema#int'>1</jp:a><jp:unknownProperty>foo</jp:unknownProperty><jp:b rdf:datatype='http://www.w3.org/2001/XMLSchema#int'>2</jp:b></rdf:Description>");
@@ -186,7 +186,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testParserListeners() throws Exception {
-		RdfParser p = RdfParser.create().xml().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
+		RdfParser p = RdfParser.create().xml().ignoreUnknownBeanProperties().listener(MyParserListener.class).build();
 
 		String in = wrap("<rdf:Description><jp:a rdf:datatype='http://www.w3.org/2001/XMLSchema#int'>1</jp:a><jp:unknownProperty>foo</jp:unknownProperty><jp:b rdf:datatype='http://www.w3.org/2001/XMLSchema#int'>2</jp:b></rdf:Description>");
 		p.parse(in, B.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonTest.java
index 776fa56..5b93121 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonTest.java
@@ -95,6 +95,12 @@ public class CommonTest {
 		assertEquals("<rdf:Description><jp:f2 rdf:parseType='Resource'><jp:f2a rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/><jp:f2b rdf:parseType='Resource'><jp:s2>s2</jp:s2></jp:f2b></jp:f2></rdf:Description>", strip(r));
 		t2 = p.parse(r, B.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyMaps();
+		r = s.build().serialize(t1);
+		assertEquals("<rdf:Description><jp:f2 rdf:parseType='Resource'><jp:f2a rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/><jp:f2b rdf:parseType='Resource'><jp:s2>s2</jp:s2></jp:f2b></jp:f2></rdf:Description>", strip(r));
+		t2 = p.parse(r, B.class);
+		assertNull(t2.f1);
 	}
 
 	public static class B {
@@ -130,6 +136,13 @@ public class CommonTest {
 		t2 = p.parse(r, C.class);
 		assertNull(t2.f1);
 		t2 = p.parse(r, C.class);
+
+		s.trimEmptyCollections();
+		r = s.build().serialize(t1);
+		assertEquals("<rdf:Description><jp:f2><rdf:Seq><rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/><rdf:li rdf:parseType='Resource'><jp:s2>s2</jp:s2></rdf:li></rdf:Seq></jp:f2></rdf:Description>", strip(r));
+		t2 = p.parse(r, C.class);
+		assertNull(t2.f1);
+		t2 = p.parse(r, C.class);
 	}
 
 	public static class C {
@@ -164,6 +177,12 @@ public class CommonTest {
 		assertEquals("<rdf:Description><jp:f2><rdf:Seq><rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/><rdf:li rdf:parseType='Resource'><jp:s2>s2</jp:s2></rdf:li></rdf:Seq></jp:f2></rdf:Description>", strip(r));
 		t2 = p.parse(r, D.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyCollections();
+		r = s.build().serialize(t1);
+		assertEquals("<rdf:Description><jp:f2><rdf:Seq><rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/><rdf:li rdf:parseType='Resource'><jp:s2>s2</jp:s2></rdf:li></rdf:Seq></jp:f2></rdf:Description>", strip(r));
+		t2 = p.parse(r, D.class);
+		assertNull(t2.f1);
 	}
 
 	public static class D {
@@ -299,7 +318,7 @@ public class CommonTest {
 		}
 
 		// Recursion detection, no ignore
-		s.detectRecursions(true);
+		s.detectRecursions();
 		try {
 			s.build().serialize(r1);
 			fail("Exception expected!");
@@ -311,7 +330,7 @@ public class CommonTest {
 			assertTrue(msg.contains("->[3]r1:org.apache.juneau.jena.CommonTest$R1"));
 		}
 
-		s.ignoreRecursions(true);
+		s.ignoreRecursions();
 		String r = s.build().serialize(r1).replace("\r", "");
 		// Note...the order of the namespaces is not always the same depending on the JVM.
 		// The Jena libraries appear to use a hashmap for these.

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfParserTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfParserTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfParserTest.java
index d77f4a4..6772174 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfParserTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfParserTest.java
@@ -48,7 +48,7 @@ public class RdfParserTest {
 		RdfSerializer s = RdfSerializer.create().xmlabbrev()
 			.set(RDF_rdfxml_tab, 3)
 			.sq()
-			.addRootProperty(true)
+			.addRootProperty()
 			.build();
 
 		String expected =

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfTest.java
index 9172965..70b0546 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfTest.java
@@ -35,7 +35,7 @@ public class RdfTest {
 		RdfSerializerBuilder s = RdfSerializer.create().xmlabbrev()
 			.set(RDF_rdfxml_tab, 3)
 			.sq()
-			.addRootProperty(true);
+			.addRootProperty();
 		RdfParser p = RdfParser.create().xml().build();
 
 		//--------------------------------------------------------------------------------
@@ -195,7 +195,7 @@ public class RdfTest {
 		RdfSerializerBuilder s = RdfSerializer.create().xmlabbrev()
 			.set(RDF_rdfxml_tab, 3)
 			.sq()
-			.addRootProperty(true);
+			.addRootProperty();
 		RdfParser p = RdfParser.DEFAULT_XML;
 
 		//--------------------------------------------------------------------------------
@@ -428,7 +428,7 @@ public class RdfTest {
 		RdfSerializerBuilder s = RdfSerializer.create().xmlabbrev()
 			.set(RDF_rdfxml_tab, 3)
 			.sq()
-			.addRootProperty(true);
+			.addRootProperty();
 		RdfParser p = RdfParser.DEFAULT_XML;
 
 		//--------------------------------------------------------------------------------
@@ -524,8 +524,8 @@ public class RdfTest {
 
 	@Test
 	public void testLooseCollectionsOfBeans() throws Exception {
-		WriterSerializer s = RdfSerializer.create().xmlabbrev().looseCollections(true).build();
-		ReaderParser p = RdfParser.create().xml().looseCollections(true).build();
+		WriterSerializer s = RdfSerializer.create().xmlabbrev().looseCollections().build();
+		ReaderParser p = RdfParser.create().xml().looseCollections().build();
 		String rdfXml, expected;
 
 		List<D> l = new LinkedList<D>();

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/CommonParserTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/CommonParserTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/CommonParserTest.java
index 49e67c0..f6118d9 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/CommonParserTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/CommonParserTest.java
@@ -114,7 +114,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testCorrectHandlingOfUnknownProperties() throws Exception {
-		ReaderParser p = JsonParser.create().ignoreUnknownBeanProperties(true).build();
+		ReaderParser p = JsonParser.create().ignoreUnknownBeanProperties().build();
 		B b;
 
 		String in =  "{a:1,unknown:3,b:2}";
@@ -161,7 +161,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testParserListeners() throws Exception {
-		JsonParser p = JsonParser.create().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
+		JsonParser p = JsonParser.create().ignoreUnknownBeanProperties().listener(MyParserListener.class).build();
 
 		String json = "{a:1,unknownProperty:\"/foo\",b:2}";
 		p.parse(json, B.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/CommonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/CommonTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/CommonTest.java
index 92c1f69..135fe84 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/CommonTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/CommonTest.java
@@ -80,6 +80,12 @@ public class CommonTest {
 		assertEquals("{f2:{f2a:null,f2b:{s2:'s2'}}}", r);
 		t2 = p.parse(r, B.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyMaps();
+		r = s.build().serialize(t1);
+		assertEquals("{f2:{f2a:null,f2b:{s2:'s2'}}}", r);
+		t2 = p.parse(r, B.class);
+		assertNull(t2.f1);
 	}
 
 	public static class B {
@@ -114,6 +120,12 @@ public class CommonTest {
 		assertEquals("{f2:[null,{s2:'s2'}]}", r);
 		t2 = p.parse(r, C.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyCollections();
+		r = s.build().serialize(t1);
+		assertEquals("{f2:[null,{s2:'s2'}]}", r);
+		t2 = p.parse(r, C.class);
+		assertNull(t2.f1);
 	}
 
 	public static class C {
@@ -148,6 +160,12 @@ public class CommonTest {
 		assertEquals("{f2:[null,{s2:'s2'}]}", r);
 		t2 = p.parse(r, D.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyCollections();
+		r = s.build().serialize(t1);
+		assertEquals("{f2:[null,{s2:'s2'}]}", r);
+		t2 = p.parse(r, D.class);
+		assertNull(t2.f1);
 	}
 
 	public static class D {
@@ -260,7 +278,7 @@ public class CommonTest {
 		}
 
 		// Recursion detection, no ignore
-		s.detectRecursions(true);
+		s.detectRecursions();
 		try {
 			s.build().serialize(r1);
 			fail("Exception expected!");
@@ -272,7 +290,7 @@ public class CommonTest {
 			assertTrue(msg.contains("->[3]r1:org.apache.juneau.json.CommonTest$R1"));
 		}
 
-		s.ignoreRecursions(true);
+		s.ignoreRecursions();
 		assertEquals("{name:'foo',r2:{name:'bar',r3:{name:'baz'}}}", s.build().serialize(r1));
 
 		// Make sure this doesn't blow up.
@@ -297,7 +315,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testBasicBean() throws Exception {
-		JsonSerializer s = JsonSerializer.create().simple().trimNullProperties(false).sortProperties(true).build();
+		JsonSerializer s = JsonSerializer.create().simple().trimNullProperties(false).sortProperties().build();
 
 		J a = new J();
 		a.setF1("J");

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/JsonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/JsonTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/JsonTest.java
index 880e2d4..0d08997 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/JsonTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/json/JsonTest.java
@@ -300,5 +300,11 @@ public class JsonTest {
 		assertEquals("\"foo\\/bar\"", r);
 		r = JsonParser.DEFAULT.parse(r, String.class);
 		assertEquals("foo/bar", r);
+
+		s = JsonSerializer.create().escapeSolidus().build();
+		r = s.serialize("foo/bar");
+		assertEquals("\"foo\\/bar\"", r);
+		r = JsonParser.DEFAULT.parse(r, String.class);
+		assertEquals("foo/bar", r);
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java
index 68e7a32..d5c78c9 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java
@@ -186,7 +186,7 @@ public class CalendarSwapTest {
 	//====================================================================================================
 	@Test
 	public void testBeanProperyFilterHtml() throws Exception {
-		WriterSerializer s = HtmlSerializer.create().sq().addKeyValueTableHeaders(true).build();
+		WriterSerializer s = HtmlSerializer.create().sq().addKeyValueTableHeaders().build();
 		ReaderParser p = HtmlParser.DEFAULT;
 
 		Calendar c = testDate;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UonTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UonTest.java
index a677b24..05c99d0 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UonTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UonTest.java
@@ -101,7 +101,7 @@ public class CommonParser_UonTest {
 	//====================================================================================================
 	@Test
 	public void testCorrectHandlingOfUnknownProperties() throws Exception {
-		ReaderParser p = UonParser.create().ignoreUnknownBeanProperties(true).build();
+		ReaderParser p = UonParser.create().ignoreUnknownBeanProperties().build();
 		B t;
 
 		String in =  "(a=1,unknown=3,b=2)";
@@ -150,7 +150,7 @@ public class CommonParser_UonTest {
 	//====================================================================================================
 	@Test
 	public void testParserListeners() throws Exception {
-		UonParser p = UonParser.create().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
+		UonParser p = UonParser.create().ignoreUnknownBeanProperties().listener(MyParserListener.class).build();
 
 		String in = "(a=1,unknownProperty=foo,b=2)";
 		p.parse(in, B.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
index 8e94198..c010b77 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
@@ -103,7 +103,7 @@ public class CommonParser_UrlEncodingTest {
 	//====================================================================================================
 	@Test
 	public void testCorrectHandlingOfUnknownProperties() throws Exception {
-		ReaderParser p = UrlEncodingParser.create().ignoreUnknownBeanProperties(true).build();
+		ReaderParser p = UrlEncodingParser.create().ignoreUnknownBeanProperties().build();
 		B t;
 
 		String in =  "a=1&unknown=3&b=2";
@@ -152,7 +152,7 @@ public class CommonParser_UrlEncodingTest {
 	//====================================================================================================
 	@Test
 	public void testParserListeners() throws Exception {
-		UonParser p = UrlEncodingParser.create().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
+		UonParser p = UrlEncodingParser.create().ignoreUnknownBeanProperties().listener(MyParserListener.class).build();
 
 		String in = "a=1&unknownProperty=foo&b=2";
 		p.parse(in, B.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java
index 007f263..1a228d9 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UonTest.java
@@ -81,6 +81,12 @@ public class Common_UonTest {
 		assertEquals("(f2=(f2a=null,f2b=(s2=s2)))", r);
 		t2 = pe.parse(r, B.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyMaps();
+		r = s.build().serialize(t1);
+		assertEquals("(f2=(f2a=null,f2b=(s2=s2)))", r);
+		t2 = pe.parse(r, B.class);
+		assertNull(t2.f1);
 	}
 
 	public static class B {
@@ -114,6 +120,12 @@ public class Common_UonTest {
 		assertEquals("(f2=@(null,(s2=s2)))", r);
 		t2 = pe.parse(r, C.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyCollections();
+		r = s.build().serialize(t1);
+		assertEquals("(f2=@(null,(s2=s2)))", r);
+		t2 = pe.parse(r, C.class);
+		assertNull(t2.f1);
 	}
 
 	public static class C {
@@ -147,6 +159,12 @@ public class Common_UonTest {
 		assertEquals("(f2=@(null,(s2=s2)))", r);
 		t2 = pe.parse(r, D.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyCollections();
+		r = s.build().serialize(t1);
+		assertEquals("(f2=@(null,(s2=s2)))", r);
+		t2 = pe.parse(r, D.class);
+		assertNull(t2.f1);
 	}
 
 	public static class D {
@@ -253,7 +271,7 @@ public class Common_UonTest {
 		}
 
 		// Recursion detection, no ignore
-		s.detectRecursions(true);
+		s.detectRecursions();
 		try {
 			s.build().serialize(r1);
 			fail("Exception expected!");
@@ -265,7 +283,7 @@ public class Common_UonTest {
 			assertTrue(msg.contains("->[3]r1:org.apache.juneau.urlencoding.Common_UonTest$R1"));
 		}
 
-		s.ignoreRecursions(true);
+		s.ignoreRecursions();
 		assertEquals("(name=foo,r2=(name=bar,r3=(name=baz)))", s.build().serialize(r1));
 	}
 

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
index 2ffcb4c..3841d9d 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/Common_UrlEncodingTest.java
@@ -79,6 +79,12 @@ public class Common_UrlEncodingTest {
 		assertEquals("f2=(f2a=null,f2b=(s2=s2))", r);
 		t2 = p.parse(r, B.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyMaps();
+		r = s.build().serialize(t1);
+		assertEquals("f2=(f2a=null,f2b=(s2=s2))", r);
+		t2 = p.parse(r, B.class);
+		assertNull(t2.f1);
 	}
 
 	public static class B {
@@ -112,6 +118,12 @@ public class Common_UrlEncodingTest {
 		assertEquals("f2=@(null,(s2=s2))", r);
 		t2 = p.parse(r, C.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyCollections();
+		r = s.build().serialize(t1);
+		assertEquals("f2=@(null,(s2=s2))", r);
+		t2 = p.parse(r, C.class);
+		assertNull(t2.f1);
 	}
 
 	public static class C {
@@ -145,6 +157,12 @@ public class Common_UrlEncodingTest {
 		assertEquals("f2=@(null,(s2=s2))", r);
 		t2 = p.parse(r, D.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyCollections();
+		r = s.build().serialize(t1);
+		assertEquals("f2=@(null,(s2=s2))", r);
+		t2 = p.parse(r, D.class);
+		assertNull(t2.f1);
 	}
 
 	public static class D {
@@ -254,7 +272,7 @@ public class Common_UrlEncodingTest {
 		}
 
 		// Recursion detection, no ignore
-		s.detectRecursions(true);
+		s.detectRecursions();
 		try {
 			s.build().serialize(r1);
 			fail("Exception expected!");
@@ -266,7 +284,7 @@ public class Common_UrlEncodingTest {
 			assertTrue(msg.contains("->[3]r1:org.apache.juneau.urlencoding.Common_UrlEncodingTest$R1"));
 		}
 
-		s.ignoreRecursions(true);
+		s.ignoreRecursions();
 		assertEquals("name=foo&r2=(name=bar,r3=(name=baz))", s.build().serialize(r1));
 	}
 

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingSerializerTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingSerializerTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingSerializerTest.java
index 81a85d8..79ba8be 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingSerializerTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingSerializerTest.java
@@ -345,7 +345,7 @@ public class UrlEncodingSerializerTest {
 			+ "&f20=@(@((a=a,b=1,c=true)),@((a=a,b=1,c=true)))";
 		assertEquals(e, r);
 
-		s = UrlEncodingSerializer.create().expandedParams(true).build();
+		s = UrlEncodingSerializer.create().expandedParams().build();
 		r = s.serialize(t);
 		e = ""
 			+ "f01=a&f01=b"
@@ -406,7 +406,7 @@ public class UrlEncodingSerializerTest {
 			+ "&f20=@((a=a,b=1,c=true))&f20=@((a=a,b=1,c=true))";
 		assertEquals(e, r);
 
-		s = UrlEncodingSerializer.create().expandedParams(true).build();
+		s = UrlEncodingSerializer.create().expandedParams().build();
 		r = s.serialize(t);
 		e = ""
 			+ "f01=a&f01=b"

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonParserTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonParserTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonParserTest.java
index a9c838f..92517bd 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonParserTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonParserTest.java
@@ -103,7 +103,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testCorrectHandlingOfUnknownProperties() throws Exception {
-		ReaderParser p = XmlParser.create().ignoreUnknownBeanProperties(true).build();
+		ReaderParser p = XmlParser.create().ignoreUnknownBeanProperties().build();
 		B t;
 
 		String in =  "<object><a>1</a><unknown>foo</unknown><b>2</b></object>";
@@ -158,7 +158,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testParserListeners() throws Exception {
-		XmlParser p = XmlParser.create().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
+		XmlParser p = XmlParser.create().ignoreUnknownBeanProperties().listener(MyParserListener.class).build();
 
 		String in = "<object><a _type='number'>1</a><unknownProperty _type='string'>foo</unknownProperty><b _type='number'>2</b></object>";
 		p.parse(in, B.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonTest.java
index 331d774..edddb22 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/CommonTest.java
@@ -83,6 +83,12 @@ public class CommonTest {
 		assertEquals("<object><f2><f2a _type='null'/><f2b><s2>s2</s2></f2b></f2></object>", r);
 		t2 = p.parse(r, B.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyMaps();
+		r = s.build().serialize(t1);
+		assertEquals("<object><f2><f2a _type='null'/><f2b><s2>s2</s2></f2b></f2></object>", r);
+		t2 = p.parse(r, B.class);
+		assertNull(t2.f1);
 	}
 
 	public static class B {
@@ -117,6 +123,12 @@ public class CommonTest {
 		assertEquals("<object><f2><null/><object><s2>s2</s2></object></f2></object>", r);
 		t2 = p.parse(r, C.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyCollections();
+		r = s.build().serialize(t1);
+		assertEquals("<object><f2><null/><object><s2>s2</s2></object></f2></object>", r);
+		t2 = p.parse(r, C.class);
+		assertNull(t2.f1);
 	}
 
 	public static class C {
@@ -151,6 +163,12 @@ public class CommonTest {
 		assertEquals("<object><f2><null/><object><s2>s2</s2></object></f2></object>", r);
 		t2 = p.parse(r, D.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyCollections();
+		r = s.build().serialize(t1);
+		assertEquals("<object><f2><null/><object><s2>s2</s2></object></f2></object>", r);
+		t2 = p.parse(r, D.class);
+		assertNull(t2.f1);
 	}
 
 	public static class D {
@@ -270,7 +288,7 @@ public class CommonTest {
 		}
 
 		// Recursion detection, no ignore
-		s.detectRecursions(true);
+		s.detectRecursions();
 		try {
 			s.build().serialize(r1);
 			fail("Exception expected!");
@@ -282,7 +300,7 @@ public class CommonTest {
 			assertTrue(msg.contains("->[3]r1:org.apache.juneau.xml.CommonTest$R1"));
 		}
 
-		s.ignoreRecursions(true);
+		s.ignoreRecursions();
 		assertEquals("<object><name>foo</name><r2><name>bar</name><r3><name>baz</name></r3></r2></object>", s.build().serialize(r1));
 
 		// Make sure this doesn't blow up.

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java
index 51ddcab..0093579 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java
@@ -82,7 +82,7 @@ public class XmlParserTest {
 	public void testPreserveRootElement() throws Exception {
 		String xml;
 		ObjectMap m;
-		ReaderParser p = XmlParser.create().preserveRootElement(true).build();
+		ReaderParser p = XmlParser.create().preserveRootElement().build();
 
 		xml = "<A><B><C>c</C></B></A>";
 		m = p.parse(xml, ObjectMap.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java
index 84cf350..6fc275b 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java
@@ -135,7 +135,7 @@ public class XmlTest {
 
 		ObjectMap m = (ObjectMap) JsonParser.DEFAULT.parse(json1, Object.class);
 		String r = XmlSerializer.create().ns().sq().ws()
-			.addNamespaceUrisToRoot(true)
+			.addNamespaceUrisToRoot()
 			.defaultNamespace("http://www.apache.org")
 			.trimNullProperties(false)
 			.build()
@@ -359,7 +359,7 @@ public class XmlTest {
 		String r = null;
 		r = s.build().serialize(t);
 		assertEquals("<object f1='1' f2='2' f3='3'/>", r);
-		s.enableNamespaces(true).addNamespaceUrisToRoot(true).autoDetectNamespaces(true).trimNullProperties(false);
+		s.enableNamespaces(true).addNamespaceUrisToRoot().autoDetectNamespaces(true).trimNullProperties(false);
 		t.f1 = 4; t.f2 = 5; t.f3 = 6;
 		r = s.build().serialize(t);
 		assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:bar='http://bar' xmlns:foo='http://foo' xmlns:baz='http://baz' bar:f1='4' foo:f2='5' baz:f3='6'/>", r);
@@ -535,7 +535,7 @@ public class XmlTest {
 
 		// Add namespace URIs to root, but don't auto-detect.
 		// Only xsi should be added to root.
-		s.addNamespaceUrisToRoot(true);
+		s.addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<object xmlns='http://www.apache.org/2013/Juneau'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>", r);
 
@@ -556,7 +556,7 @@ public class XmlTest {
 		assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
 		assertTrue(t.equals(p.parse(r, T1.class)));
 
-		s.addNamespaceUrisToRoot(true);
+		s.addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
 		assertTrue(t.equals(p.parse(r, T1.class)));
@@ -587,7 +587,7 @@ public class XmlTest {
 
 		// Add namespace URIs to root, but don't auto-detect.
 		// Only xsi should be added to root.
-		s.addNamespaceUrisToRoot(true);
+		s.addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<foo:T2 xmlns='http://www.apache.org/2013/Juneau'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T2>", r);
 
@@ -607,7 +607,7 @@ public class XmlTest {
 		r = s.build().serialize(t);
 		assertEquals("<T2><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T2>", r);
 
-		s.addNamespaceUrisToRoot(true);
+		s.addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<T2><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T2>", r);
 
@@ -639,7 +639,7 @@ public class XmlTest {
 
 		// Add namespace URIs to root, but don't auto-detect.
 		// Only xsi should be added to root.
-		s.addNamespaceUrisToRoot(true).autoDetectNamespaces(false);
+		s.addNamespaceUrisToRoot().autoDetectNamespaces(false);
 		r = s.build().serialize(t);
 		assertEquals("<object xmlns='http://www.apache.org/2013/Juneau'><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></object>", r);
 
@@ -660,7 +660,7 @@ public class XmlTest {
 		r = s.build().serialize(t);
 		assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
 
-		s.addNamespaceUrisToRoot(true);
+		s.addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
 
@@ -690,7 +690,7 @@ public class XmlTest {
 
 		// Add namespace URIs to root, but don't auto-detect.
 		// Only xsi should be added to root.
-		s.addNamespaceUrisToRoot(true);
+		s.addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<p1:T4 xmlns='http://www.apache.org/2013/Juneau'><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></p1:T4>", r);
 
@@ -711,7 +711,7 @@ public class XmlTest {
 		r = s.build().serialize(t);
 		assertEquals("<T4><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T4>", r);
 
-		s.addNamespaceUrisToRoot(true);
+		s.addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<T4><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T4>", r);
 
@@ -742,7 +742,7 @@ public class XmlTest {
 
 		// Add namespace URIs to root, but don't auto-detect.
 		// Only xsi should be added to root.
-		s.addNamespaceUrisToRoot(true);
+		s.addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<foo:T5 xmlns='http://www.apache.org/2013/Juneau'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T5>", r);
 
@@ -763,7 +763,7 @@ public class XmlTest {
 		assertEquals("<T5><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T5>", r);
 		validateXml(t, s.build());
 
-		s.addNamespaceUrisToRoot(true);
+		s.addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<T5><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T5>", r);
 		validateXml(t, s.build());
@@ -794,7 +794,7 @@ public class XmlTest {
 
 		// Add namespace URIs to root, but don't auto-detect.
 		// Only xsi should be added to root.
-		s.addNamespaceUrisToRoot(true).autoDetectNamespaces(false);
+		s.addNamespaceUrisToRoot().autoDetectNamespaces(false);
 		r = s.build().serialize(t);
 		assertEquals("<object xmlns='http://www.apache.org/2013/Juneau'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>", r);
 
@@ -815,7 +815,7 @@ public class XmlTest {
 		assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
 		validateXml(t, s.build());
 
-		s.addNamespaceUrisToRoot(true);
+		s.addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
 		validateXml(t, s.build());
@@ -846,7 +846,7 @@ public class XmlTest {
 
 		// Add namespace URIs to root, but don't auto-detect.
 		// Only xsi should be added to root.
-		s.addNamespaceUrisToRoot(true).autoDetectNamespaces(false);
+		s.addNamespaceUrisToRoot().autoDetectNamespaces(false);
 		r = s.build().serialize(t);
 		assertEquals("<object xmlns='http://www.apache.org/2013/Juneau'><p1:g1>1</p1:g1><bar:g2>2</bar:g2><p1:g3>3</p1:g3><baz:g4>4</baz:g4></object>", r);
 
@@ -870,7 +870,7 @@ public class XmlTest {
 		r = s.build().serialize(t);
 		assertEquals("<object><g1>1</g1><g2>2</g2><g3>3</g3><g4>4</g4></object>", r);
 
-		s.ns().addNamespaceUrisToRoot(true);
+		s.ns().addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:p1='http://p1' xmlns:bar='http://bar' xmlns:baz='http://baz'><p1:g1>1</p1:g1><bar:g2>2</bar:g2><p1:g3>3</p1:g3><baz:g4>4</baz:g4></object>", r);
 		assertTrue(t.equals(p.parse(r, T7.class)));
@@ -896,7 +896,7 @@ public class XmlTest {
 
 		// Add namespace URIs to root, but don't auto-detect.
 		// Only xsi should be added to root.
-		s.addNamespaceUrisToRoot(true);
+		s.addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<object xmlns='http://www.apache.org/2013/Juneau'><p2:f1>1</p2:f1><p1:f2>2</p1:f2><c1:f3>3</c1:f3><f1:f4>4</f1:f4></object>", r);
 
@@ -916,7 +916,7 @@ public class XmlTest {
 		assertTrue(t.equals(p.parse(r, T8.class)));
 		validateXml(t, s.build());
 
-		s.addNamespaceUrisToRoot(true);
+		s.addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
 		validateXml(t, s.build());
@@ -947,7 +947,7 @@ public class XmlTest {
 
 		// Add namespace URIs to root, but don't auto-detect.
 		// Only xsi should be added to root.
-		s.addNamespaceUrisToRoot(true);
+		s.addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<object xmlns='http://www.apache.org/2013/Juneau'><p1:f1>1</p1:f1></object>", r);
 
@@ -967,7 +967,7 @@ public class XmlTest {
 		assertTrue(t.equals(p.parse(r, T9.class)));
 		validateXml(t, s.build());
 
-		s.addNamespaceUrisToRoot(true);
+		s.addNamespaceUrisToRoot();
 		r = s.build().serialize(t);
 		assertEquals("<object><f1>1</f1></object>", r);
 		validateXml(t, s.build());
@@ -999,7 +999,7 @@ public class XmlTest {
 		assertEquals("xf2", t.f2);
 		assertEquals("xf3", t.f3);
 
-		s.ns().addNamespaceUrisToRoot(true).autoDetectNamespaces(true);
+		s.ns().addNamespaceUrisToRoot().autoDetectNamespaces(true);
 		r = s.build().serialize(t);
 		assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:ns='http://ns' xmlns:nsf1='http://nsf1' xmlns:nsf3='http://nsf3' nsf1:f1='http://xf1' ns:f2='xf2' nsf3:x3='xf3'/>", r);
 		validateXml(t, s.build());

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonParserTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonParserTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonParserTest.java
index 77aa953..13a55f7 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonParserTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonParserTest.java
@@ -114,7 +114,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testCorrectHandlingOfUnknownProperties() throws Exception {
-		ReaderParser p = YamlParser.create().ignoreUnknownBeanProperties(true).build();
+		ReaderParser p = YamlParser.create().ignoreUnknownBeanProperties().build();
 		B b;
 
 		String in =  "{a:1,unknown:3,b:2}";
@@ -161,7 +161,7 @@ public class CommonParserTest {
 	//====================================================================================================
 	@Test
 	public void testParserListeners() throws Exception {
-		YamlParser p = YamlParser.create().ignoreUnknownBeanProperties(true).listener(MyParserListener.class).build();
+		YamlParser p = YamlParser.create().ignoreUnknownBeanProperties().listener(MyParserListener.class).build();
 
 		String json = "{a:1,unknownProperty:\"/foo\",b:2}";
 		p.parse(json, B.class);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonTest.java
index 71f2a59..140a154 100755
--- a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonTest.java
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/yaml/proto/CommonTest.java
@@ -81,6 +81,12 @@ public class CommonTest {
 		assertEquals("{f2:{f2a:null,f2b:{s2:'s2'}}}", r);
 		t2 = p.parse(r, B.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyMaps();
+		r = s.build().serialize(t1);
+		assertEquals("{f2:{f2a:null,f2b:{s2:'s2'}}}", r);
+		t2 = p.parse(r, B.class);
+		assertNull(t2.f1);
 	}
 
 	public static class B {
@@ -115,6 +121,12 @@ public class CommonTest {
 		assertEquals("{f2:[null,{s2:'s2'}]}", r);
 		t2 = p.parse(r, C.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyCollections();
+		r = s.build().serialize(t1);
+		assertEquals("{f2:[null,{s2:'s2'}]}", r);
+		t2 = p.parse(r, C.class);
+		assertNull(t2.f1);
 	}
 
 	public static class C {
@@ -149,6 +161,12 @@ public class CommonTest {
 		assertEquals("{f2:[null,{s2:'s2'}]}", r);
 		t2 = p.parse(r, D.class);
 		assertNull(t2.f1);
+
+		s.trimEmptyCollections();
+		r = s.build().serialize(t1);
+		assertEquals("{f2:[null,{s2:'s2'}]}", r);
+		t2 = p.parse(r, D.class);
+		assertNull(t2.f1);
 	}
 
 	public static class D {
@@ -259,7 +277,7 @@ public class CommonTest {
 		}
 
 		// Recursion detection, no ignore
-		s.detectRecursions(true);
+		s.detectRecursions();
 		try {
 			s.build().serialize(r1);
 			fail("Exception expected!");
@@ -271,7 +289,7 @@ public class CommonTest {
 			assertTrue(msg.contains("->[3]r1:org.apache.juneau.json.CommonTest$R1"));
 		}
 
-		s.ignoreRecursions(true);
+		s.ignoreRecursions();
 		assertEquals("{name:'foo',r2:{name:'bar',r3:{name:'baz'}}}", s.build().serialize(r1));
 	}
 
@@ -293,7 +311,7 @@ public class CommonTest {
 	//====================================================================================================
 	@Test
 	public void testBasicBean() throws Exception {
-		YamlSerializer s = YamlSerializer.create().simple().trimNullProperties(false).sortProperties(true).build();
+		YamlSerializer s = YamlSerializer.create().simple().trimNullProperties(false).sortProperties().build();
 
 		J a = new J();
 		a.setF1("J");

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfCommon.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfCommon.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfCommon.java
index 23351e6..40971c3 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfCommon.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfCommon.java
@@ -50,6 +50,20 @@ public interface RdfCommon {
 	 * 	<li><b>Name:</b>  <js>"Rdf.language.s"</js>
 	 * 	<li><b>Data type:</b>  <code>String</code>
 	 * 	<li><b>Default:</b>  <js>"RDF/XML-ABBREV"</js>
+	 * 	<li><b>Methods:</b> 
+	 * 		<ul>
+	 * 			<li class='jm'>{@link RdfSerializerBuilder#language(String)}
+	 * 			<li class='jm'>{@link RdfSerializerBuilder#n3()}
+	 * 			<li class='jm'>{@link RdfSerializerBuilder#ntriple()}
+	 * 			<li class='jm'>{@link RdfSerializerBuilder#turtle()}
+	 * 			<li class='jm'>{@link RdfSerializerBuilder#xml()}
+	 * 			<li class='jm'>{@link RdfSerializerBuilder#xmlabbrev()}
+	 * 			<li class='jm'>{@link RdfParserBuilder#language(String)}
+	 * 			<li class='jm'>{@link RdfParserBuilder#n3()}
+	 * 			<li class='jm'>{@link RdfParserBuilder#ntriple()}
+	 * 			<li class='jm'>{@link RdfParserBuilder#turtle()}
+	 * 			<li class='jm'>{@link RdfParserBuilder#xml()}
+	 * 		</ul>
 	 * </ul>
 	 * 
 	 *	<h5 class='section'>Description:</h5>
@@ -59,7 +73,7 @@ public interface RdfCommon {
 	 * 	<li>
 	 * 		<js>"RDF/XML"</js>
 	 * 	<li>
-	 * 		<js>"RDF/XML-ABBREV"</js>
+	 * 		<js>"RDF/XML-ABBREV"</js> (default)
 	 * 	<li>
 	 * 		<js>"N-TRIPLE"</js>
 	 * 	<li>
@@ -93,6 +107,11 @@ public interface RdfCommon {
 	 * 	<li><b>Name:</b>  <js>"Rdf.juneauNs.s"</js>
 	 * 	<li><b>Data type:</b>  {@link Namespace}
 	 * 	<li><b>Default:</b>  <code>{j:<js>'http://www.apache.org/juneau/'</js>}</code>
+	 * 	<li><b>Methods:</b> 
+	 * 		<ul>
+	 * 			<li class='jm'>{@link RdfSerializerBuilder#juneauNs(Namespace)}
+	 * 			<li class='jm'>{@link RdfParserBuilder#juneauNs(Namespace)}
+	 * 		</ul>
 	 * </ul>
 	 */
 	public static final String RDF_juneauNs = PREFIX + "juneauNs.s";
@@ -105,6 +124,11 @@ public interface RdfCommon {
 	 * 	<li><b>Name:</b>  <js>"Rdf.juneauBpNs.s"</js>
 	 * 	<li><b>Data type:</b>  {@link Namespace}
 	 * 	<li><b>Default:</b>  <code>{j:<js>'http://www.apache.org/juneaubp/'</js>}</code>
+	 * 	<li><b>Methods:</b> 
+	 * 		<ul>
+	 * 			<li class='jm'>{@link RdfSerializerBuilder#juneauBpNs(Namespace)}
+	 * 			<li class='jm'>{@link RdfParserBuilder#juneauBpNs(Namespace)}
+	 * 		</ul>
 	 * </ul>
 	 */
 	public static final String RDF_juneauBpNs = PREFIX + "juneauBpNs.s";
@@ -117,6 +141,11 @@ public interface RdfCommon {
 	 * 	<li><b>Name:</b>  <js>"Rdf.useXmlNamespaces.b"</js>
 	 * 	<li><b>Data type:</b>  <code>Boolean</code>
 	 * 	<li><b>Default:</b>  <jk>true</jk>
+	 * 	<li><b>Methods:</b> 
+	 * 		<ul>
+	 * 			<li class='jm'>{@link RdfSerializerBuilder#useXmlNamespaces(boolean)}
+	 * 			<li class='jm'>{@link RdfParserBuilder#useXmlNamespaces(boolean)}
+	 * 		</ul>
 	 * </ul>
 	 * 
 	 *	<h5 class='section'>Description:</h5>
@@ -635,6 +664,11 @@ public interface RdfCommon {
 	 * 	<li><b>Name:</b>  <js>"Rdf.collectionFormat.s"</js>
 	 * 	<li><b>Data type:</b>  <code>String</code>
 	 * 	<li><b>Default:</b>  <js>"DEFAULT"</js>
+	 * 	<li><b>Methods:</b> 
+	 * 		<ul>
+	 * 			<li class='jm'>{@link RdfSerializerBuilder#collectionFormat(RdfCollectionFormat)}
+	 * 			<li class='jm'>{@link RdfParserBuilder#collectionFormat(RdfCollectionFormat)}
+	 * 		</ul>
 	 * </ul>
 	 * 
 	 *	<h5 class='section'>Description:</h5>
@@ -669,6 +703,13 @@ public interface RdfCommon {
 	 * 	<li><b>Name:</b>  <js>"Rdf.looseCollections.b"</js>
 	 * 	<li><b>Data type:</b>  <code>Boolean</code>
 	 * 	<li><b>Default:</b>  <jk>false</jk>
+	 * 	<li><b>Methods:</b> 
+	 * 		<ul>
+	 * 			<li class='jm'>{@link RdfSerializerBuilder#looseCollections(boolean)}
+	 * 			<li class='jm'>{@link RdfSerializerBuilder#looseCollections()}
+	 * 			<li class='jm'>{@link RdfParserBuilder#looseCollections(boolean)}
+	 * 			<li class='jm'>{@link RdfParserBuilder#looseCollections()}
+	 * 		</ul>
 	 * </ul>
 	 * 
 	 *	<h5 class='section'>Description:</h5>

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
index 05df676..2fa67eb 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
@@ -65,6 +65,7 @@ public class RdfParser extends ReaderParser implements RdfCommon {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link RdfParserBuilder#trimWhitespace(boolean)}
+	 * 			<li class='jm'>{@link RdfParserBuilder#trimWhitespace()}
 	 * 		</ul>
 	 * </ul>
 	 * 


[6/7] juneau git commit: Javadoc updates

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
index b34a6f1..3667649 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
@@ -73,17 +73,6 @@ public class RdfParserBuilder extends ParserBuilder {
 	 * 		<js>"MULTI_VALUED"</js> - Multi-valued properties.
 	 * </ul>
 	 * 
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>If you use <js>"BAG"</js> or <js>"MULTI_VALUED"</js>, the order of the elements in the collection will get 
-	 * 		lost.
-	 * </ul>
-	 * 
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RdfParser#RDF_collectionFormat}
@@ -104,7 +93,9 @@ public class RdfParserBuilder extends ParserBuilder {
 	 * 	<li class='jf'>{@link RdfParser#RDF_juneauBpNs}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <code>{j:<js>'http://www.apache.org/juneaubp/'</js>}</code>.
 	 * @return This object (for method chaining).
 	 */
 	public RdfParserBuilder juneauBpNs(Namespace value) {
@@ -119,7 +110,9 @@ public class RdfParserBuilder extends ParserBuilder {
 	 * 	<li class='jf'>{@link RdfParser#RDF_juneauNs}
 	 * </ul>
 	 *
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <code>{j:<js>'http://www.apache.org/juneau/'</js>}</code>.
 	 * @return This object (for method chaining).
 	 */
 	public RdfParserBuilder juneauNs(Namespace value) {
@@ -135,7 +128,7 @@ public class RdfParserBuilder extends ParserBuilder {
 	 * 	<li>
 	 * 		<js>"RDF/XML"</js>
 	 * 	<li>
-	 * 		<js>"RDF/XML-ABBREV"</js>
+	 * 		<js>"RDF/XML-ABBREV"</js> (default)
 	 * 	<li>
 	 * 		<js>"N-TRIPLE"</js>
 	 * 	<li>
@@ -178,50 +171,41 @@ public class RdfParserBuilder extends ParserBuilder {
 	 * When specified, collections of resources are handled as loose collections of resources in RDF instead of
 	 * resources that are children of an RDF collection (e.g. Sequence, Bag).
 	 * 
-	 * <p>
-	 * Note that this setting is specialized for RDF syntax, and is incompatible with the concept of
-	 * losslessly representing POJO models, since the tree structure of these POJO models are lost
-	 * when serialized as loose collections.
-	 * 
-	 * <p>
-	 * This setting is typically only useful if the beans being parsed into do not have a bean property
-	 * annotated with {@link Rdf#beanUri @Rdf(beanUri=true)}.
-	 *
-	 * <h5 class='section'>Example:</h5>
-	 * <p class='bcode'>
-	 * 	WriterSerializer s = <jk>new</jk> RdfSerializerBuilder().xmlabbrev().looseCollections(<jk>true</jk>).build();
-	 * 	ReaderParser p = <jk>new</jk> RdfParserBuilder().xml().looseCollections(<jk>true</jk>).build();
-	 *
-	 * 	List&lt;MyBean&gt; l = createListOfMyBeans();
-	 *
-	 * 	<jc>// Serialize to RDF/XML as loose resources</jc>
-	 * 	String rdfXml = s.serialize(l);
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link RdfParser#RDF_looseCollections}
+	 * </ul>
 	 * 
-	 * 	<jc>// Parse back into a Java collection</jc>
-	 * 	l = p.parse(rdfXml, LinkedList.<jk>class</jk>, MyBean.<jk>class</jk>);
-	 *
-	 * 	MyBean[] b = createArrayOfMyBeans();
-	 *
-	 * 	<jc>// Serialize to RDF/XML as loose resources</jc>
-	 * 	String rdfXml = s.serialize(b);
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
+	 * @return This object (for method chaining).
+	 */
+	public RdfParserBuilder looseCollections(boolean value) {
+		return set(RDF_looseCollections, value);
+	}
+
+	/**
+	 * Configuration property:  Collections should be serialized and parsed as loose collections.
 	 * 
-	 * 	<jc>// Parse back into a bean array</jc>
-	 * 	b = p.parse(rdfXml, MyBean[].<jk>class</jk>);
-	 * </p>
+	 * <p>
+	 * Shortcut for calling <code>looseCollection(<jk>true</jk)</code>.
 	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RdfParser#RDF_looseCollections}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
 	 * @return This object (for method chaining).
 	 */
-	public RdfParserBuilder looseCollections(boolean value) {
-		return set(RDF_looseCollections, value);
+	public RdfParserBuilder looseCollections() {
+		return set(RDF_looseCollections, true);
 	}
 
 	/**
+	 * Configuration property:  RDF language.
+	 * 
+	 * <p>
 	 * Shortcut for calling <code>language(<jsf>LANG_N3</jsf>)</code>
 	 * 
 	 * <h5 class='section'>See Also:</h5>
@@ -236,6 +220,9 @@ public class RdfParserBuilder extends ParserBuilder {
 	}
 
 	/**
+	 * Configuration property:  RDF language.
+	 * 
+	 * <p>
 	 * Shortcut for calling <code>language(<jsf>LANG_NTRIPLE</jsf>)</code>
 	 * 
 	 * <h5 class='section'>See Also:</h5>
@@ -260,7 +247,9 @@ public class RdfParserBuilder extends ParserBuilder {
 	 * 	<li class='jf'>{@link RdfParser#RDF_trimWhitespace}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RdfParserBuilder trimWhitespace(boolean value) {
@@ -268,6 +257,23 @@ public class RdfParserBuilder extends ParserBuilder {
 	}
 
 	/**
+	 * Configuration property:  Trim whitespace from text elements.
+	 * 
+	 * <p>
+	 * Shortcut for calling <code>trimWhitespace(<jk>true</jk>)</code>.
+	 * 
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link RdfParser#RDF_trimWhitespace}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RdfParserBuilder trimWhitespace() {
+		return set(RDF_trimWhitespace, true);
+	}
+
+	/**
 	 * Shortcut for calling <code>language(<jsf>LANG_TURTLE</jsf>)</code>
 	 * 
 	 * <h5 class='section'>See Also:</h5>
@@ -294,7 +300,9 @@ public class RdfParserBuilder extends ParserBuilder {
 	 * 	<li class='jf'>{@link RdfParser#RDF_useXmlNamespaces}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RdfParserBuilder useXmlNamespaces(boolean value) {
@@ -348,14 +356,14 @@ public class RdfParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* ParserBuilder */
-	public RdfParserBuilder strict() {
-		super.strict();
+	public RdfParserBuilder strict(boolean value) {
+		super.strict(value);
 		return this;
 	}
 
 	@Override /* ParserBuilder */
-	public RdfParserBuilder strict(boolean value) {
-		super.strict(value);
+	public RdfParserBuilder strict() {
+		super.strict();
 		return this;
 	}
 
@@ -365,6 +373,12 @@ public class RdfParserBuilder extends ParserBuilder {
 		return this;
 	}
 
+	@Override /* ParserBuilder */
+	public RdfParserBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
 	@Override /* BeanContextBuilder */
 	public RdfParserBuilder beansRequireDefaultConstructor(boolean value) {
 		super.beansRequireDefaultConstructor(value);
@@ -372,18 +386,36 @@ public class RdfParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfParserBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfParserBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfParserBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfParserBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfParserBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfParserBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -396,6 +428,12 @@ public class RdfParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfParserBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfParserBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -426,6 +464,12 @@ public class RdfParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfParserBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfParserBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -438,6 +482,12 @@ public class RdfParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfParserBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -456,18 +506,36 @@ public class RdfParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfParserBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfParserBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfParserBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfParserBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfParserBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
----------------------------------------------------------------------
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 a704665..db02826 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
@@ -92,6 +92,7 @@ public class RdfSerializer extends WriterSerializer implements RdfCommon {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link RdfSerializerBuilder#addLiteralTypes(boolean)}
+	 * 			<li class='jm'>{@link RdfSerializerBuilder#addLiteralTypes()}
 	 * 		</ul>
 	 * </ul>
 	 */
@@ -109,6 +110,7 @@ public class RdfSerializer extends WriterSerializer implements RdfCommon {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link RdfSerializerBuilder#addRootProperty(boolean)}
+	 * 			<li class='jm'>{@link RdfSerializerBuilder#addRootProperty()}
 	 * 		</ul>
 	 * </ul>
 	 * 

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
index a781002..2cb2ea0 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
@@ -58,18 +58,14 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	/**
 	 * Configuration property:  Add XSI data types to non-<code>String</code> literals.
 	 * 
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This is equivalent to calling <code>property(<jsf>RDF_addLiteralTypes</jsf>, value)</code>.
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RdfSerializer#RDF_addLiteralTypes}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RdfSerializerBuilder addLiteralTypes(boolean value) {
@@ -77,28 +73,37 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	/**
+	 * Configuration property:  Add XSI data types to non-<code>String</code> literals.
+	 * 
+	 * <p>
+	 * Shortcut for calling <code>addLiteralTypes(<jk>true</jk>)</code>.
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RdfSerializerBuilder addLiteralTypes() {
+		return set(RDF_addLiteralTypes, true);
+	}
+
+	/**
 	 * Configuration property:  Add RDF root identifier property to root node.
 	 * 
 	 * <p>
-	 * When enabled an RDF property <code>http://www.apache.org/juneau/root</code> is added with a value of 
-	 * <js>"true"</js> to identify the root node in the graph.
+	 * When enabled an RDF property <code>http://www.apache.org/juneau/root</code> is added with a value of <js>"true"</js>
+	 * to identify the root node in the graph.
 	 * This helps locate the root node during parsing.
 	 * 
 	 * <p>
 	 * If disabled, the parser has to search through the model to find any resources without incoming predicates to 
 	 * identify root notes, which can introduce a considerable performance degradation.
-	 * 
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RdfSerializer#RDF_addRootProperty}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RdfSerializerBuilder addRootProperty(boolean value) {
@@ -106,26 +111,36 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	/**
-	 * Configuration property:  Auto-detect namespace usage.
+	 * Configuration property:  Add RDF root identifier property to root node.
 	 * 
 	 * <p>
-	 * Detect namespace usage before serialization.
+	 * Shortcut for calling <code>addRootProperty(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link RdfSerializer#RDF_addRootProperty}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public RdfSerializerBuilder addRootProperty() {
+		return set(RDF_addRootProperty, true);
+	}
+
+	/**
+	 * Configuration property:  Auto-detect namespace usage.
 	 * 
 	 * <p>
-	 * If enabled, then the data structure will first be crawled looking for namespaces that will be encountered before 
-	 * the root element is serialized.
+	 * Detect namespace usage before serialization.
 	 * 
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RdfSerializer#RDF_autoDetectNamespaces}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RdfSerializerBuilder autoDetectNamespaces(boolean value) {
@@ -136,19 +151,6 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	 * Configuration property:  RDF format for representing collections and arrays.
 	 * 
 	 * <p>
-	 * Possible values:
-	 * <ul class='spaced-list'>
-	 * 	<li>
-	 * 		<js>"DEFAULT"</js> - Default format.  The default is an RDF Sequence container.
-	 * 	<li>
-	 * 		<js>"SEQ"</js> - RDF Sequence container.
-	 * 	<li>
-	 * 		<js>"BAG"</js> - RDF Bag container.
-	 * 	<li>
-	 * 		<js>"LIST"</js> - RDF List container.
-	 * 	<li>
-	 * 		<js>"MULTI_VALUED"</js> - Multi-valued properties.
-	 * </ul>
 	 * 
 	 * <h5 class='section'>Notes:</h5>
 	 * <ul>
@@ -156,17 +158,21 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	 * 		lost.
 	 * </ul>
 	 * 
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RdfSerializer#RDF_collectionFormat}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>Possible values:
+	 * 	<ul'>
+	 * 		<li><js>"DEFAULT"</js> - Default format.  The default is an RDF Sequence container.
+	 * 		<li><js>"SEQ"</js> - RDF Sequence container.
+	 * 		<li><js>"BAG"</js> - RDF Bag container.
+	 * 		<li><js>"LIST"</js> - RDF List container.
+	 * 		<li><js>"MULTI_VALUED"</js> - Multi-valued properties.
+	 * 	</ul>
 	 * @return This object (for method chaining).
 	 */
 	public RdfSerializerBuilder collectionFormat(RdfCollectionFormat value) {
@@ -176,17 +182,14 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	/**
 	 * Configuration property:  Default XML namespace for bean properties.
 	 * 
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RdfSerializer#RDF_juneauBpNs}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <code>{j:<js>'http://www.apache.org/juneaubp/'</js>}</code>.
 	 * @return This object (for method chaining).
 	 */
 	public RdfSerializerBuilder juneauBpNs(Namespace value) {
@@ -196,17 +199,14 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	/**
 	 * Configuration property:  XML namespace for Juneau properties.
 	 * 
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RdfSerializer#RDF_juneauNs}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <code>{j:<js>'http://www.apache.org/juneau/'</js>}</code>.
 	 * @return This object (for method chaining).
 	 */
 	public RdfSerializerBuilder juneauNs(Namespace value) {
@@ -222,7 +222,7 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	 * 	<li>
 	 * 		<js>"RDF/XML"</js>
 	 * 	<li>
-	 * 		<js>"RDF/XML-ABBREV"</js>
+	 * 		<js>"RDF/XML-ABBREV"</js> (default)
 	 * 	<li>
 	 * 		<js>"N-TRIPLE"</js>
 	 * 	<li>
@@ -246,17 +246,13 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	 * 		http://www.dajobe.org/2004/01/turtle/
 	 * </ul>
 	 * 
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RdfSerializer#RDF_language}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
 	 * @return This object (for method chaining).
 	 */
 	public RdfSerializerBuilder language(String value) {
@@ -270,50 +266,41 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	 * When specified, collections of resources are handled as loose collections of resources in RDF instead of
 	 * resources that are children of an RDF collection (e.g. Sequence, Bag).
 	 * 
-	 * <p>
-	 * Note that this setting is specialized for RDF syntax, and is incompatible with the concept of
-	 * losslessly representing POJO models, since the tree structure of these POJO models are lost
-	 * when serialized as loose collections.
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link RdfSerializer#RDF_looseCollections}
+	 * </ul>
+	 * 
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
+	 * @return This object (for method chaining).
+	 */
+	public RdfSerializerBuilder looseCollections(boolean value) {
+		return set(RDF_looseCollections, value);
+	}
+
+	/**
+	 * Configuration property:  Collections should be serialized and parsed as loose collections.
 	 * 
 	 * <p>
-	 * This setting is typically only useful if the beans being parsed into do not have a bean property
-	 * annotated with {@link Rdf#beanUri @Rdf(beanUri=true)}.
-	 *
-	 * <h5 class='section'>Example:</h5>
-	 * <p class='bcode'>
-	 * 	WriterSerializer s = <jk>new</jk> RdfSerializerBuilder().xmlabbrev().looseCollections(<jk>true</jk>).build();
-	 * 	ReaderParser p = <jk>new</jk> RdfParserBuilder().xml().looseCollections(<jk>true</jk>).build();
-	 *
-	 * 	List&lt;MyBean&gt; l = createListOfMyBeans();
-	 *
-	 * 	<jc>// Serialize to RDF/XML as loose resources</jc>
-	 * 	String rdfXml = s.serialize(l);
-	 *
-	 * 	<jc>// Parse back into a Java collection</jc>
-	 * 	l = p.parse(rdfXml, LinkedList.<jk>class</jk>, MyBean.<jk>class</jk>);
-	 *
-	 * 	MyBean[] b = createArrayOfMyBeans();
-	 *
-	 * 	<jc>// Serialize to RDF/XML as loose resources</jc>
-	 * 	String rdfXml = s.serialize(b);
-	 *
-	 * 	<jc>// Parse back into a bean array</jc>
-	 * 	b = p.parse(rdfXml, MyBean[].<jk>class</jk>);
-	 * </p>
+	 * Shortcut for <code>looseCollections(<jk>true</jk>)</code>.
 	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RdfSerializer#RDF_looseCollections}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
 	 * @return This object (for method chaining).
 	 */
-	public RdfSerializerBuilder looseCollections(boolean value) {
-		return set(RDF_looseCollections, value);
+	public RdfSerializerBuilder looseCollections() {
+		return set(RDF_looseCollections, true);
 	}
 
 	/**
+	 * Configuration property:  RDF language.
+	 * 
+	 * <p>
 	 * Shortcut for calling <code>language(<jsf>LANG_N3</jsf>)</code>
 	 * 
 	 * <h5 class='section'>See Also:</h5>
@@ -333,12 +320,6 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	 * <p>
 	 * The default list of namespaces associated with this serializer.
 	 * 
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This is equivalent to calling <code>property(<jsf>RDF_namespaces</jsf>, values)</code>.
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RdfSerializer#RDF_namespaces}
@@ -352,6 +333,9 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	/**
+	 * Configuration property:  RDF language.
+	 * 
+	 * <p>
 	 * Shortcut for calling <code>language(<jsf>LANG_NTRIPLE</jsf>)</code>
 	 * 
 	 * <h5 class='section'>See Also:</h5>
@@ -366,6 +350,9 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	/**
+	 * Configuration property:  RDF language.
+	 * 
+	 * <p>
 	 * Shortcut for calling <code>language(<jsf>LANG_TURTLE</jsf>)</code>
 	 * 
 	 * <h5 class='section'>See Also:</h5>
@@ -387,17 +374,14 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	 * inherited by the RDF serializers.
 	 * Otherwise, namespaces will be defined using {@link RdfNs} and {@link Rdf}.
 	 * 
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RdfSerializer#RDF_useXmlNamespaces}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public RdfSerializerBuilder useXmlNamespaces(boolean value) {
@@ -405,6 +389,9 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	/**
+	 * Configuration property:  RDF language.
+	 * 
+	 * <p>
 	 * Shortcut for calling <code>language(<jsf>LANG_RDF_XML</jsf>)</code>
 	 * 
 	 * <h5 class='section'>See Also:</h5>
@@ -419,6 +406,9 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	/**
+	 * Configuration property:  RDF language.
+	 * 
+	 * <p>
 	 * Shortcut for calling <code>language(<jsf>LANG_RDF_XML_ABBREV</jsf>)</code>
 	 * 
 	 * <h5 class='section'>See Also:</h5>
@@ -439,6 +429,12 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public RdfSerializerBuilder abridged() {
+		super.abridged();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public RdfSerializerBuilder addBeanTypeProperties(boolean value) {
 		super.addBeanTypeProperties(value);
 		return this;
@@ -451,12 +447,23 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public RdfSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public RdfSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public RdfSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public RdfSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -493,12 +500,24 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public RdfSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public RdfSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public RdfSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public RdfSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -511,12 +530,24 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public RdfSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public RdfSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public RdfSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public RdfSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -529,6 +560,12 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public RdfSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public RdfSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -553,6 +590,12 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public RdfSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public RdfSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -565,18 +608,36 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -589,6 +650,12 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -619,6 +686,12 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -631,6 +704,12 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -649,18 +728,36 @@ public class RdfSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public RdfSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public RdfSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index 7769f1c..026cc2c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
@@ -16,7 +16,6 @@ import static org.apache.juneau.Visibility.*;
 import static org.apache.juneau.internal.ClassUtils.*;
 import static org.apache.juneau.internal.StringUtils.*;
 
-import java.beans.*;
 import java.io.*;
 import java.lang.reflect.*;
 import java.util.*;
@@ -138,64 +137,10 @@ import org.apache.juneau.transform.*;
  * 	Person p = m2.getBean();  <jc>// Get the bean instance that was created.</jc>
  * </p>
  *
- * <h5 class='topic'>Bean Annotations</h5>
- *
- * This package contains annotations that can be applied to class definitions to override what properties are detected
- * on a bean.
- *
- * <h5 class='section'>Example:</h5>
- *
- * <p class='bcode'>
- * 	<jc>// Bean class definition where only property 'name' is detected.</jc>
- * 	<ja>&#64;Bean</ja>(properties=<js>"name"</js>)
- * 	<jk>public class</jk> Person {
- * 		<jk>public</jk> String getName();
- * 		<jk>public void</jk> setName(String name);
- * 		<jk>public int</jk> getAge();
- * 		<jk>public void</jk> setAge(<jk>int</jk> age);
- * 	}
- * </p>
- *
- * <p>
- * See {@link Bean @Bean} and {@link BeanProperty @BeanProperty} for more information.
- *
- * <h5 class='topic'>Beans with read-only properties</h5>
- *
- * Bean maps can also be defined on top of beans with read-only properties by adding a
- * {@link BeanConstructor @BeanConstructor} annotation to one of the constructors on the
- * bean class.  This will allow read-only properties to be set through constructor arguments.
- *
- * <p>
- * When the <code>@BeanConstructor</code> annotation is present, bean instantiation is delayed until the call to
- * {@link BeanMap#getBean()}.
- * Until then, bean property values are stored in a local cache until <code>getBean()</code> is called.
- * Because of this additional caching step, parsing into read-only beans tends to be slower and use more memory than
- * parsing into beans with writable properties.
- *
- * <p>
- * Attempting to call {@link BeanMap#put(String,Object)} on a read-only property after calling {@link BeanMap#getBean()}
- * will result in a {@link BeanRuntimeException} being thrown.
- * Multiple calls to {@link BeanMap#getBean()} will return the same bean instance.
- *
- * <p>
- * Beans can be defined with a combination of read-only and read-write properties.
- *
- * <p>
- * See {@link BeanConstructor @BeanConstructor} for more information.
- *
- * <h5 class='topic'>ClassMetas</h5>
- *
- * The {@link ClassMeta} class is a wrapper around {@link Class} object that provides cached information about that
- * class (e.g. whether it's a {@link Map} or {@link Collection} or bean).
- *
- * <p>
- * As a general rule, it's best to reuse bean contexts (and therefore serializers and parsers too) whenever possible
- * since it takes some time to populate the internal {@code ClassMeta} object cache.
- * By reusing bean contexts, the class type metadata only needs to be calculated once which significantly improves
- * performance.
- *
- * <p>
- * See {@link ClassMeta} for more information.
+ * <h6 class='topic'>Documentation</h6>
+ *	<ul>
+ *		<li><a class="doclink" href="../../../overview-summary.html#juneau-marshall.ContextsBuildersSessionsPropertyStores">Overview &gt; Contexts, Builders, Sessions, and PropertyStores</a>
+ *	</ul>
  */
 @SuppressWarnings({"unchecked","rawtypes"})
 public class BeanContext extends Context {
@@ -351,6 +296,12 @@ public class BeanContext extends Context {
 	 * 	<jc>// This applies to all properties on this class and all subclasses.</jc>
 	 * 	<ja>@Bean</ja>(beanDictionary={Foo.<jk>class</jk>,Bar.<jk>class</jk>})
 	 * 	<jk>public class</jk> MyBean {...}
+	 * 
+	 * 	<jc>// Use the predefined HTML5 bean dictionary which is a BeanDictionaryList.</jc>
+	 * 	ReaderParser p = HtmlParser
+	 * 		.<jsm>create</jsm>()
+	 * 		.beanDictionary(HtmlBeanDictionary.<jk>class</jk>)
+	 * 		.build();
 	 * </p>
 	 * 
 	 *	<h5 class='section'>Documentation:</h5>
@@ -464,7 +415,7 @@ public class BeanContext extends Context {
 	 * 		<jc>// Must provide a no-arg constructor!</jc>
 	 * 		<jk>public</jk> MyBeanFilter() {
 	 * 			<jk>super</jk>(MyBean.<jk>class</jk>);  <jc>// The bean class that this filter applies to.</jc>
-	 * 			properties(<js>"foo,bar,baz"</js>);  <jc>// The properties we want exposed.</jc>
+	 * 			includeProperties(<js>"foo,bar,baz"</js>);  <jc>// The properties we want exposed.</jc>
 	 * 		}
 	 * 	}	
 	 * 
@@ -501,8 +452,7 @@ public class BeanContext extends Context {
 	public static final String BEAN_beanFilters_remove = PREFIX + "beanFilters.lc/remove";
 
 	/**
-	 * Configuration property:  {@link BeanMap#put(String,Object) BeanMap.put()} method will return old property
-	 * value.
+	 * Configuration property:  BeanMap.put() returns old property value.
 	 *
 	 *	<h5 class='section'>Property:</h5>
 	 * <ul>
@@ -513,14 +463,16 @@ public class BeanContext extends Context {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link BeanContextBuilder#beanMapPutReturnsOldValue(boolean)}
+	 * 			<li class='jm'>{@link BeanContextBuilder#beanMapPutReturnsOldValue()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 *	<h5 class='section'>Description:</h5>
+	 *
 	 * <p>
 	 * If <jk>true</jk>, then the {@link BeanMap#put(String,Object) BeanMap.put()} method will return old property
 	 * values.
-	 *
+	 * 
 	 * <p>
 	 * Disabled by default because it introduces a slight performance penalty.
 	 */
@@ -579,6 +531,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link BeanContextBuilder#beansRequireDefaultConstructor(boolean)}
+	 * 			<li class='jm'>{@link BeanContextBuilder#beansRequireDefaultConstructor()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -592,7 +545,7 @@ public class BeanContext extends Context {
 	public static final String BEAN_beansRequireDefaultConstructor = PREFIX + "beansRequireDefaultConstructor.b";
 
 	/**
-	 * Configuration property:  Beans require {@link Serializable} interface.
+	 * Configuration property:  Beans require Serializable interface.
 	 *
 	 *	<h5 class='section'>Property:</h5>
 	 * <ul>
@@ -603,6 +556,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link BeanContextBuilder#beansRequireSerializable(boolean)}
+	 * 			<li class='jm'>{@link BeanContextBuilder#beansRequireSerializable()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -627,6 +581,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link BeanContextBuilder#beansRequireSettersForGetters(boolean)}
+	 * 			<li class='jm'>{@link BeanContextBuilder#beansRequireSettersForGetters()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -662,7 +617,7 @@ public class BeanContext extends Context {
 	public static final String BEAN_beansRequireSomeProperties = PREFIX + "beansRequireSomeProperties.b";
 
 	/**
-	 * Configuration property:  Name to use for the bean type properties used to represent a bean type.
+	 * Configuration property:  Bean type property name.
 	 *
 	 *	<h5 class='section'>Property:</h5>
 	 * <ul>
@@ -679,6 +634,15 @@ public class BeanContext extends Context {
 	 * 			<li class='jm'>{@link BeanContextBuilder#beanTypePropertyName(String)}
 	 * 		</ul>
 	 * </ul>
+	 * 
+	 * <p>
+	 * This specifies the name of the bean property used to store the dictionary name of a bean type so that the
+	 * parser knows the data type to reconstruct.
+	 * 
+	 *	<h5 class='section'>Documentation:</h5>
+	 *	<ul>
+	 *		<li><a class="doclink" href="../../../overview-summary.html#juneau-marshall.BeanDictionaries">Overview &gt; Bean Names and Dictionaries</a>
+	 *	</ul>
 	 */
 	public static final String BEAN_beanTypePropertyName = PREFIX + "beanTypePropertyName.s";
 
@@ -719,7 +683,7 @@ public class BeanContext extends Context {
 	public static final String BEAN_debug = PREFIX + "debug.b";
 
 	/**
-	 * Configuration property:  Exclude specified properties from beans.
+	 * Configuration property:  Bean property excludes.
 	 *
 	 *	<h5 class='section'>Property:</h5>
 	 * <ul>
@@ -770,6 +734,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link BeanContextBuilder#ignoreInvocationExceptionsOnGetters(boolean)}
+	 * 			<li class='jm'>{@link BeanContextBuilder#ignoreInvocationExceptionsOnGetters()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -792,6 +757,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link BeanContextBuilder#ignoreInvocationExceptionsOnSetters(boolean)}
+	 * 			<li class='jm'>{@link BeanContextBuilder#ignoreInvocationExceptionsOnSetters()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -836,6 +802,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link BeanContextBuilder#ignoreUnknownBeanProperties(boolean)}
+	 * 			<li class='jm'>{@link BeanContextBuilder#ignoreUnknownBeanProperties()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -869,7 +836,7 @@ public class BeanContext extends Context {
 	public static final String BEAN_ignoreUnknownNullBeanProperties = PREFIX + "ignoreUnknownNullBeanProperties.b";
 
 	/**
-	 * Configuration property:  Implementation classes for interfaces and abstract classes.
+	 * Configuration property:  Implementation classes.
 	 *
 	 *	<h5 class='section'>Property:</h5>
 	 * <ul>
@@ -893,11 +860,11 @@ public class BeanContext extends Context {
 	public static final String BEAN_implClasses = PREFIX + "implClasses.smc";
 
 	/**
-	 * Configuration property:  Explicitly specify visible bean properties.
+	 * Configuration property:  Bean property includes.
 	 *
 	 *	<h5 class='section'>Property:</h5>
 	 * <ul>
-	 * 	<li><b>Name:</b>  <js>"BeanContext.includeProperties.sms"</js>
+	 * 	<li><b>Name:</b>  <js>"BeanContext.properties.sms"</js>
 	 * 	<li><b>Data type:</b>  <code>Map&lt;String,String&gt;</code>
 	 * 	<li><b>Default:</b>  <code>{}</code>
 	 * 	<li><b>Session-overridable:</b>  <jk>false</jk>
@@ -911,13 +878,13 @@ public class BeanContext extends Context {
 	 * 			<li class='jm'>{@link BeanContextBuilder#includeProperties(Class, String)}
 	 * 			<li class='jm'>{@link BeanContextBuilder#includeProperties(String, String)}
 	 * 			<li class='jm'>{@link BeanContextBuilder#includeProperties(Map)}
-	 * 			<li class='jm'>{@link BeanFilterBuilder#properties(String...)}
+	 * 			<li class='jm'>{@link BeanFilterBuilder#includeProperties(String...)}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 *	<h5 class='section'>Description:</h5>
 	 * <p>
-	 * Specifies to only include the specified list of properties for the specified bean classes.
+	 * Specifies the set and order of names of properties associated with the bean class.
 	 *
 	 * <p>
 	 * The keys are either fully-qualified or simple class names, and the values are comma-delimited lists of property
@@ -972,7 +939,7 @@ public class BeanContext extends Context {
 	public static final String BEAN_mediaType = PREFIX + "mediaType.s";
 
 	/**
-	 * Configuration property:  Classes to be excluded from consideration as being beans.
+	 * Configuration property:  Bean class exclusions.
 	 *
 	 *	<h5 class='section'>Property:</h5>
 	 * <ul>
@@ -1011,7 +978,7 @@ public class BeanContext extends Context {
 	public static final String BEAN_notBeanClasses_remove = PREFIX + "notBeanClasses.sc/remove";
 
 	/**
-	 * Configuration property:  Packages whose classes should not be considered beans.
+	 * Configuration property:  Bean package exclusions.
 	 *
 	 *	<h5 class='section'>Property:</h5>
 	 * <ul>
@@ -1175,7 +1142,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link BeanContextBuilder#propertyNamer(Class)}
-	 * 			<li class='jm'>{@link BeanFilterBuilder#propertyNamer(PropertyNamer)}
+	 * 			<li class='jm'>{@link BeanFilterBuilder#propertyNamer(Class)}
 	 * 		</ul>
 	 * </ul>
 	 * 
@@ -1194,7 +1161,7 @@ public class BeanContext extends Context {
 	public static final String BEAN_propertyNamer = PREFIX + "propertyNamer.c";
 
 	/**
-	 * Configuration property:  Sort bean properties in alphabetical order.
+	 * Configuration property:  Sort bean properties.
 	 *
 	 *	<h5 class='section'>Property:</h5>
 	 * <ul>
@@ -1209,7 +1176,9 @@ public class BeanContext extends Context {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link BeanContextBuilder#sortProperties(boolean)}
+	 * 			<li class='jm'>{@link BeanContextBuilder#sortProperties()}
 	 * 			<li class='jm'>{@link BeanFilterBuilder#sortProperties(boolean)}
+	 * 			<li class='jm'>{@link BeanFilterBuilder#sortProperties()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -1271,7 +1240,7 @@ public class BeanContext extends Context {
 	public static final String BEAN_useInterfaceProxies = PREFIX + "useInterfaceProxies.b";
 
 	/**
-	 * Configuration property:  Use Java {@link Introspector} for determining bean properties.
+	 * Configuration property:  Use Java Introspector.
 	 *
 	 *	<h5 class='section'>Property:</h5>
 	 * <ul>
@@ -1282,6 +1251,7 @@ public class BeanContext extends Context {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link BeanContextBuilder#useJavaBeanIntrospector(boolean)}
+	 * 			<li class='jm'>{@link BeanContextBuilder#useJavaBeanIntrospector()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -1334,7 +1304,7 @@ public class BeanContext extends Context {
 	public static final BeanContext DEFAULT = BeanContext.create().build();
 
 	/** Default config.  All default settings except sort bean properties. */
-	public static final BeanContext DEFAULT_SORTED = BeanContext.create().sortProperties(true).build();
+	public static final BeanContext DEFAULT_SORTED = BeanContext.create().sortProperties().build();
 
 	final boolean
 		beansRequireDefaultConstructor,
@@ -2287,7 +2257,7 @@ public class BeanContext extends Context {
 				.append("ignoreUnknownBeanProperties", ignoreUnknownBeanProperties)
 				.append("ignoreUnknownNullBeanProperties", ignoreUnknownNullBeanProperties)
 				.append("implClasses", implClasses)
-				.append("properties", includeProperties)
+				.append("includeProperties", includeProperties)
 				.append("locale", locale)
 				.append("mediaType", mediaType)
 				.append("notBeanClasses", notBeanClasses)

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
index 25c496c..93971ce 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
@@ -14,16 +14,13 @@ package org.apache.juneau;
 
 import static org.apache.juneau.BeanContext.*;
 
-import java.beans.*;
 import java.io.*;
 import java.lang.reflect.*;
 import java.util.*;
 
-import org.apache.juneau.Visibility;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.http.*;
 import org.apache.juneau.serializer.*;
-import org.apache.juneau.transform.*;
 
 /**
  * Builder class for building instances of serializers, parsers, and bean contexts.
@@ -104,7 +101,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanClassVisibility}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is {@link Visibility#PUBLIC}.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beanClassVisibility(Visibility value) {
@@ -122,7 +121,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanConstructorVisibility}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is {@link Visibility#PUBLIC}.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beanConstructorVisibility(Visibility value) {
@@ -135,31 +136,13 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * <p>
 	 * Adds to the list of classes that make up the bean dictionary in this bean context.
 	 * 
-	 * <p>
-	 * A dictionary is a name/class mapping used to find class types during parsing when they cannot be inferred
-	 * through reflection.
-	 * <br>The names are defined through the {@link Bean#typeName()} annotation defined on the bean class.
-	 * <br>For example, if a class <code>Foo</code> has a type-name of <js>"myfoo"</js>, then it would end up serialized
-	 * as <js>"{_type:'myfoo',...}"</js>.
-	 * 
-	 * <p>
-	 * This setting tells the parsers which classes to look for when resolving <js>"_type"</js> attributes.
-	 * 
-	 * <p>
-	 * Values can consist of any of the following types:
-	 *	<ul>
-	 * 	<li>Any bean class that specifies a value for {@link Bean#typeName() @Bean.typeName()}.
-	 * 	<li>Any subclass of {@link BeanDictionaryList} containing a collection of bean classes with type name annotations.
-	 * 	<li>Any subclass of {@link BeanDictionaryMap} containing a mapping of type names to classes without type name annotations.
-	 * 	<li>Any array or collection of the objects above.
-	 * </ul>
-	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanDictionary}
 	 * </ul>
 	 * 
-	 * @param values The values to add to this property.
+	 * @param values 
+	 * 	The values to add to this property.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beanDictionary(Object...values) {
@@ -177,7 +160,8 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanDictionary}
 	 * </ul>
 	 * 
-	 * @param values The values to add to this property.
+	 * @param values 
+	 * 	The values to add to this property.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beanDictionary(Class<?>...values) {
@@ -197,7 +181,8 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 
 	 * @param append
 	 * 	If <jk>true</jk>, the previous value is appended to.  Otherwise, the previous value is replaced. 
-	 * @param values The new values for this property.
+	 * @param values 
+	 * 	The new values for this property.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beanDictionary(boolean append, Object...values) {
@@ -215,7 +200,8 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanDictionary}
 	 * </ul>
 	 * 
-	 * @param values The values to remove from this property.
+	 * @param values 
+	 * 	The values to remove from this property.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beanDictionaryRemove(Object...values) {
@@ -233,7 +219,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanFieldVisibility}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is {@link Visibility#PUBLIC}.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beanFieldVisibility(Visibility value) {
@@ -248,24 +236,13 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * <br>It's useful when you want to use the Bean annotation functionality, but you don't have the ability to alter 
 	 * the bean classes.
 	 *
-	 * <p>
-	 * Values can consist of any of the following types:
-	 * <ul class='spaced-list'>
-	 * 	<li>Any subclass of {@link BeanFilterBuilder}.
-	 * 		<br>These must have a public no-arg constructor.
-	 * 	<li>Any bean interfaces.
-	 * 		<br>A shortcut for defining a {@link InterfaceBeanFilterBuilder}.
-	 * 		<br>Any subclasses of an interface class will only have properties defined on the interface.
-	 * 		All other bean properties will be ignored.
-	 * 	<li>Any array or collection of the objects above.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanFilters}
 	 * </ul>
 	 * 
-	 * @param values The values to add to this property.
+	 * @param values 
+	 * 	The values to add to this property.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beanFilters(Object...values) {
@@ -283,7 +260,8 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanFilters}
 	 * </ul>
 	 * 
-	 * @param values The values to add to this property.
+	 * @param values
+	 * 	The values to add to this property.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beanFilters(Class<?>...values) {
@@ -303,7 +281,8 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 
 	 * @param append
 	 * 	If <jk>true</jk>, the previous value is appended to.  Otherwise, the previous value is replaced. 
-	 * @param values The new value for this property.
+	 * @param values 
+	 * 	The new values for this property.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beanFilters(boolean append, Object...values) {
@@ -321,7 +300,8 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanFilters}
 	 * </ul>
 	 * 
-	 * @param values The values to remove from this property.
+	 * @param values 
+	 * 	The values to remove from this property.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beanFiltersRemove(Object...values) {
@@ -329,8 +309,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  {@link BeanMap#put(String,Object) BeanMap.put()} method will return old property
-	 * value.
+	 * Configuration property:  BeanMap.put() returns old property value.
 	 *
 	 * <p>
 	 * If <jk>true</jk>, then the {@link BeanMap#put(String,Object) BeanMap.put()} method will return old property
@@ -345,7 +324,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanMapPutReturnsOldValue}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beanMapPutReturnsOldValue(boolean value) {
@@ -353,6 +334,23 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  BeanMap.put() returns old property value.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>beanMapPutReturnsOldValue(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_beanMapPutReturnsOldValue}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public BeanContextBuilder beanMapPutReturnsOldValue() {
+		return set(BEAN_beanMapPutReturnsOldValue, true);
+	}
+
+	/**
 	 * Configuration property:  Minimum bean method visibility.
 	 *
 	 * <p>
@@ -363,7 +361,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanMethodVisibility}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is {@link Visibility#PUBLIC}
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beanMethodVisibility(Visibility value) {
@@ -385,7 +385,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beansRequireDefaultConstructor}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beansRequireDefaultConstructor(boolean value) {
@@ -393,7 +395,24 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Beans require {@link Serializable} interface.
+	 * Configuration property:  Beans require no-arg constructors.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>beansRequireDefaultConstructor(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_beansRequireDefaultConstructor}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public BeanContextBuilder beansRequireDefaultConstructor() {
+		return set(BEAN_beansRequireDefaultConstructor, true);
+	}
+
+	/**
+	 * Configuration property:  Beans require Serializable interface.
 	 *
 	 * <p>
 	 * If <jk>true</jk>, a Java class must implement the {@link Serializable} interface to be considered a bean.
@@ -407,7 +426,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beansRequireSerializable}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beansRequireSerializable(boolean value) {
@@ -415,6 +436,23 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  Beans require Serializable interface.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>beansRequireSerializable(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_beansRequireSerializable}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public BeanContextBuilder beansRequireSerializable() {
+		return set(BEAN_beansRequireSerializable, true);
+	}
+
+	/**
 	 * Configuration property:  Beans require setters for getters.
 	 *
 	 * <p>
@@ -426,7 +464,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beansRequireSettersForGetters}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beansRequireSettersForGetters(boolean value) {
@@ -434,6 +474,23 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  Beans require setters for getters.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>beansRequireSettersForGetters(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_beansRequireSettersForGetters}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public BeanContextBuilder beansRequireSettersForGetters() {
+		return set(BEAN_beansRequireSettersForGetters, true);
+	}
+
+	/**
 	 * Configuration property:  Beans require at least one property.
 	 *
 	 * <p>
@@ -448,7 +505,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beansRequireSomeProperties}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beansRequireSomeProperties(boolean value) {
@@ -456,14 +515,20 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Name to use for the bean type properties used to represent a bean type.
+	 * Configuration property:  Bean type property name.
 	 *
+	 * <p>
+	 * This specifies the name of the bean property used to store the dictionary name of a bean type so that the
+	 * parser knows the data type to reconstruct.
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanTypePropertyName}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <js>"_type"</js>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder beanTypePropertyName(String value) {
@@ -483,13 +548,25 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 		Enables {@link Serializer#SERIALIZER_detectRecursions}.
 	 * </ul>
 	 *
-	 * <p>
-	 * Enables the following additional information during parsing:
-	 * <ul class='spaced-list'>
-	 * 	<li>
-	 * 		When bean setters throws exceptions, the exception includes the object stack information
-	 * 		in order to determine how that method was invoked.
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_debug}
 	 * </ul>
+	 * 
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
+	 * @return This object (for method chaining).
+	 */
+	public BeanContextBuilder debug(boolean value) {
+		return set(BEAN_debug, value);
+	}
+
+	/**
+	 * Configuration property:  Debug mode.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>debug(<jk>true</jk>)</code>.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -503,8 +580,11 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Exclude specified properties from beans.
+	 * Configuration property:  Bean property excludes.
 	 *
+	 * <p>
+	 * Specifies to exclude the specified list of properties for the specified bean class.
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link BeanContext#BEAN_excludeProperties}
@@ -519,7 +599,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Exclude specified properties from beans.
+	 * Configuration property:  Bean property excludes.
 	 *
 	 * <p>
 	 * Specifies to exclude the specified list of properties for the specified bean classes.
@@ -529,7 +609,8 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_excludeProperties}
 	 * </ul>
 	 * 
-	 * @param values The new value for this property.
+	 * @param values 
+	 * 	The new value for this property.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder excludeProperties(Map<String,String> values) {
@@ -537,7 +618,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Exclude specified properties from beans.
+	 * Configuration property:  Bean property excludes.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -545,11 +626,11 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * </ul>
 	 * 
 	 * @param beanClassName The bean class name.  Can be a simple name, fully-qualified name, or <js>"*"</js>.
-	 * @param properties Comma-delimited list of property names.
+	 * @param value Comma-delimited list of property names.
 	 * @return This object (for method chaining).
 	 */
-	public BeanContextBuilder excludeProperties(String beanClassName, String properties) {
-		return addTo(BEAN_excludeProperties, beanClassName, properties);
+	public BeanContextBuilder excludeProperties(String beanClassName, String value) {
+		return addTo(BEAN_excludeProperties, beanClassName, value);
 	}
 
 	/**
@@ -564,7 +645,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_ignoreInvocationExceptionsOnGetters}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
@@ -572,6 +655,23 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  Ignore invocation errors on getters.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>ignoreInvocationExceptionsOnGetters(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_ignoreInvocationExceptionsOnGetters}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public BeanContextBuilder ignoreInvocationExceptionsOnGetters() {
+		return set(BEAN_ignoreInvocationExceptionsOnGetters, true);
+	}
+
+	/**
 	 * Configuration property:  Ignore invocation errors on setters.
 	 *
 	 * <p>
@@ -583,7 +683,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_ignoreInvocationExceptionsOnSetters}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
@@ -591,6 +693,23 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  Ignore invocation errors on setters.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>ignoreInvocationExceptionsOnSetters(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_ignoreInvocationExceptionsOnSetters}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public BeanContextBuilder ignoreInvocationExceptionsOnSetters() {
+		return set(BEAN_ignoreInvocationExceptionsOnSetters, true);
+	}
+
+	/**
 	 * Configuration property:  Ignore properties without setters.
 	 *
 	 * <p>
@@ -602,7 +721,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_ignorePropertiesWithoutSetters}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder ignorePropertiesWithoutSetters(boolean value) {
@@ -621,7 +742,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_ignoreUnknownBeanProperties}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder ignoreUnknownBeanProperties(boolean value) {
@@ -629,6 +752,23 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  Ignore unknown properties.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>ignoreUnknownBeanProperties(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_ignoreUnknownBeanProperties}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public BeanContextBuilder ignoreUnknownBeanProperties() {
+		return set(BEAN_ignoreUnknownBeanProperties, true);
+	}
+
+	/**
 	 * Configuration property:  Ignore unknown properties with null values.
 	 *
 	 * <p>
@@ -640,7 +780,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_ignoreUnknownNullBeanProperties}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder ignoreUnknownNullBeanProperties(boolean value) {
@@ -648,7 +790,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Implementation classes for interfaces and abstract classes.
+	 * Configuration property:  Implementation classes.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -665,7 +807,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Implementation classes for interfaces and abstract classes.
+	 * Configuration property:  Implementation classes.
 	 *
 	 * <p>
 	 * For interfaces and abstract classes this method can be used to specify an implementation class for the
@@ -685,26 +827,29 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Explicitly specify visible bean properties.
+	 * Configuration property:  Bean property includes.
 	 *
+	 * <p>
+	 * Specifies the set and order of names of properties associated with the bean class.
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link BeanContext#BEAN_includeProperties}
 	 * </ul>
 	 * 
 	 * @param beanClass The bean class.
-	 * @param properties Comma-delimited list of property names.
+	 * @param value Comma-delimited list of property names.
 	 * @return This object (for method chaining).
 	 */
-	public BeanContextBuilder includeProperties(Class<?> beanClass, String properties) {
-		return addTo(BEAN_includeProperties, beanClass.getName(), properties);
+	public BeanContextBuilder includeProperties(Class<?> beanClass, String value) {
+		return addTo(BEAN_includeProperties, beanClass.getName(), value);
 	}
 
 	/**
-	 * Configuration property:  Explicitly specify visible bean properties.
+	 * Configuration property:  Bean property includes.
 	 *
 	 * <p>
-	 * Specifies to only include the specified list of properties for the specified bean classes.
+	 * Specifies the set and order of names of properties associated with the bean class.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -719,19 +864,22 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Explicitly specify visible bean properties.
+	 * Configuration property:  Bean property includes.
 	 *
+	 * <p>
+	 * Specifies the set and order of names of properties associated with the bean class.
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link BeanContext#BEAN_includeProperties}
 	 * </ul>
 	 * 
 	 * @param beanClassName The bean class name.  Can be a simple name, fully-qualified name, or <js>"*"</js>.
-	 * @param properties Comma-delimited list of property names.
+	 * @param value Comma-delimited list of property names.
 	 * @return This object (for method chaining).
 	 */
-	public BeanContextBuilder includeProperties(String beanClassName, String properties) {
-		return addTo(BEAN_includeProperties, beanClassName, properties);
+	public BeanContextBuilder includeProperties(String beanClassName, String value) {
+		return addTo(BEAN_includeProperties, beanClassName, value);
 	}
 
 	/**
@@ -768,7 +916,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Classes to be excluded from consideration as being beans.
+	 * Configuration property:  Bean class exclusions.
 	 *
 	 * <p>
 	 * Not-bean classes are typically converted to <code>Strings</code> during serialization even if they appear to be
@@ -789,7 +937,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Add to classes that should not be considered beans.
+	 * Configuration property:  Bean class exclusions.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -804,7 +952,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Add to classes that should not be considered beans.
+	 * Configuration property:  Bean class exclusions.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -819,7 +967,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Remove from classes that should not be considered beans.
+	 * Configuration property:  Bean class exclusions.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -834,7 +982,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Packages whose classes should not be considered beans.
+	 * Configuration property:  Bean package exclusions.
 	 *
 	 * <p>
 	 * When specified, the current list of ignore packages are appended to.
@@ -854,7 +1002,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Add to packages whose classes should not be considered beans.
+	 * Configuration property:  Bean package exclusions.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -869,7 +1017,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Add to packages whose classes should not be considered beans.
+	 * Configuration property:  Bean package exclusions.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -884,7 +1032,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Remove from packages whose classes should not be considered beans.
+	 * Configuration property:  Bean package exclusions.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -899,14 +1047,14 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  POJO swaps to apply to Java objects.
+	 * Configuration property:  POJO swaps.
 	 *
 	 * <p>
-	 * There are two category of classes that can be passed in through this method:
-	 * <ul>
-	 * 	<li>Subclasses of {@link PojoSwap}.
-	 * 	<li>Implementations of {@link Surrogate}.
-	 * </ul>
+	 * POJO swaps are used to "swap out" non-serializable classes with serializable equivalents during serialization,
+	 * and "swap in" the non-serializable class during parsing.
+	 * 
+	 * <p>
+	 * An example of a POJO swap would be a <code>Calendar</code> object that gets swapped out for an ISO8601 string.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -923,7 +1071,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Add to POJO swaps.
+	 * Configuration property:  POJO swaps.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -938,7 +1086,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Add to POJO swaps.
+	 * Configuration property:  POJO swaps.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -953,7 +1101,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Remove from POJO swaps.
+	 * Configuration property:  POJO swaps.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -978,7 +1126,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_propertyNamer}
 	 * </ul>
 	 * 
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link PropertyNamerDefault}.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder propertyNamer(Class<? extends PropertyNamer> value) {
@@ -986,7 +1136,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Sort bean properties in alphabetical order.
+	 * Configuration property:  Sort bean properties.
 	 *
 	 * <p>
 	 * When <jk>true</jk>, all bean properties will be serialized and access in alphabetical order.
@@ -997,7 +1147,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_sortProperties}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder sortProperties(boolean value) {
@@ -1005,6 +1157,23 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  Sort bean properties.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>sortProperties(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_sortProperties}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public BeanContextBuilder sortProperties() {
+		return set(BEAN_sortProperties, true);
+	}
+
+	/**
 	 * Configuration property:  TimeZone.
 	 *
 	 * <h5 class='section'>See Also:</h5>
@@ -1031,7 +1200,9 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_useInterfaceProxies}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder useInterfaceProxies(boolean value) {
@@ -1039,7 +1210,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Use Java {@link Introspector} for determining bean properties.
+	 * Configuration property:  Use Java Introspector.
 	 *
 	 * <p>
 	 * Using the built-in Java bean introspector will not pick up fields or non-standard getters/setters.
@@ -1054,13 +1225,32 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<li class='jf'>{@link BeanContext#BEAN_useJavaBeanIntrospector}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanContextBuilder useJavaBeanIntrospector(boolean value) {
 		return set(BEAN_useJavaBeanIntrospector, value);
 	}
 
+	/**
+	 * Configuration property:  Use Java Introspector.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>useJavaBeanIntrospector(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_useJavaBeanIntrospector}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public BeanContextBuilder useJavaBeanIntrospector() {
+		return set(BEAN_useJavaBeanIntrospector, true);
+	}
+
 	@Override /* ContextBuilder */
 	public BeanContextBuilder set(String name, Object value) {
 		super.set(name, value);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
index cd59eaa..d7f4707 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
@@ -81,7 +81,7 @@ public class BeanSession extends Session {
 	 * The locale is determined in the following order:
 	 * <ol>
 	 * 	<li><code>locale</code> parameter passed in through constructor.
-	 * 	<li>{@link BeanContext#BEAN_locale} entry in <code>properties</code> parameter passed in through constructor.
+	 * 	<li>{@link BeanContext#BEAN_locale} entry in parameter passed in through constructor.
 	 * 	<li>{@link BeanContext#BEAN_locale} setting on bean context.
 	 * 	<li>Locale returned by {@link Locale#getDefault()}.
 	 * </ol>
@@ -99,7 +99,7 @@ public class BeanSession extends Session {
 	 * The timezone is determined in the following order:
 	 * <ol>
 	 * 	<li><code>timeZone</code> parameter passed in through constructor.
-	 * 	<li>{@link BeanContext#BEAN_timeZone} entry in <code>properties</code> parameter passed in through constructor.
+	 * 	<li>{@link BeanContext#BEAN_timeZone} entry in parameter passed in through constructor.
 	 * 	<li>{@link BeanContext#BEAN_timeZone} setting on bean context.
 	 * </ol>
 	 *

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
index c550315..9b4660f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
@@ -43,54 +43,16 @@ public @interface Bean {
 	 *
 	 * <p>
 	 * The name is used to identify the class type during parsing when it cannot be inferred through reflection.
-	 * For example, if a bean property is of type <code>Object</code>, then the serializer will add the name to the
+	 * <br>For example, if a bean property is of type <code>Object</code>, then the serializer will add the name to the
 	 * output so that the class can be determined during parsing.
-	 * It is also used to specify element names in XML.
-	 *
-	 * <p>
-	 * The name is used in combination with the bean dictionary defined through {@link BeanProperty#beanDictionary()} or
-	 * {@link BeanContext#BEAN_beanDictionary}.
-	 * Together, they make up a simple name/value mapping of names to classes.
-	 * Names do not need to be universally unique.
-	 * However, they must be unique within a dictionary.
-	 *
-	 * <h5 class='section'>Example:</h5>
-	 * <p class='bcode'>
-	 * 	<ja>@Bean</ja>(typeName=<js>"foo"</js>)
-	 * 	<jk>public class</jk> Foo {
-	 * 		<jc>// A bean property where the object types cannot be inferred since it's an Object[].</jc>
-	 * 		<ja>@BeanProperty</ja>(beanDictionary={Bar.<jk>class</jk>,Baz.<jk>class</jk>})
-	 * 		<jk>public</jk> Object[] x = <jk>new</jk> Object[]{<jk>new</jk> Bar(), <jk>new</jk> Baz()};
-	 * 	}
-	 *
-	 * 	<ja>@Bean</ja>(typeName=<js>"bar"</js>)
-	 * 	<jk>public class</jk> Bar {}
-	 *
-	 * 	<ja>@Bean</ja>(typeName=<js>"baz"</js>)
-	 * 	<jk>public class</jk> Baz {}
-	 * </p>
-	 *
+	 * 
 	 * <p>
-	 * When serialized as XML, the bean is rendered as:
-	 * <p class='bcode'>
-	 * 	<xt>&lt;foo&gt;</xt>
-	 * 		<xt>&lt;x&gt;</xt>
-	 * 			<xt>&lt;bar/&gt;</xt>
-	 * 			<xt>&lt;baz/&gt;</xt>
-	 * 		<xt>&lt;/x&gt;</xt>
-	 * 	<xt>&lt;/foo&gt;</xt>
-	 * </p>
+	 * It is also used to specify element names in XML.
 	 *
-	 * <p>
-	 * When serialized as JSON, <js>'n'</js> attributes would be added when needed to infer the type during parsing:
-	 * <p class='bcode'>
-	 * 	{
-	 * 		x: [
-	 * 			{_type:<js>'bar'</js>},
-	 * 			{_type:<js>'baz'</js>}
-	 * 		]
-	 * 	}
-	 * </p>
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_beanDictionary}
+	 * </ul>
 	 */
 	String typeName() default "";
 
@@ -99,38 +61,21 @@ public @interface Bean {
 	 * The property name to use for representing the type name.
 	 *
 	 * <p>
-	 * This can be used to override the name used for the <js>"_type"</js> property designated above.
-	 * Typically, you'll define this on an interface class so that it can apply to all subclasses.
-	 *
-	 * <p class='bcode'>
-	 * 	<ja>@Bean</ja>(typePropertyName=<js>"mytype"</js>, beanDictionary={MyClass1.<jk>class</jk>,MyClass2.<jk>class</jk>})
-	 * 	<jk>public interface</jk> MyInterface {...}
-	 *
-	 * 	<ja>@Bean</ja>(typeName=<js>"C1"</js>)
-	 * 	<jk>public class</jk> MyClass1 <jk>implements</jk> MyInterface {...}
-	 *
-	 * 	<ja>@Bean</ja>(typeName=<js>"C2"</js>)
-	 * 	<jk>public class</jk> MyClass2 <jk>implements</jk> MyInterface {...}
-	 *
-	 * 	MyInterface[] x = <jk>new</jk> MyInterface[]{ <jk>new</jk> MyClass1(), <jk>new</jk> MyClass2() };
-	 *
-	 *	<jc>// Produces "[{mytype:'C1',...},{mytype:'C2',...}]"</jc>
-	 * 	String json = JsonSerializer.<jsf>DEFAULT_LAX</jsf>.serialize(x);
-	 * </p>
-	 *
-	 * <p>
-	 * This is similar in concept to the {@link BeanContext#BEAN_beanTypePropertyName} setting except this annotation
-	 * applies only to the annotated class and subclasses whereas the bean context property applies globally on
-	 * serializers and parsers.
+	 * This can be used to override the name used for the <js>"_type"</js> property used by the {@link #typeName()} setting.
 	 *
 	 * <ul class='doctree'>
 	 * 	<li class='warn'>
-	 * 		Be careful what value you specify for this.  It should not interfere with bean property names or
-	 * 		common HTML attribute names.
+	 * 		Be careful what value you specify for this.  
+	 * 		<br>It should not interfere with bean property names or common HTML attribute names.
+	 * </ul>
+	 * 
+	 * <p>
+	 * The default value if not specified is <js>"_type"</js> .
+	 * 
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_beanTypePropertyName}
 	 * </ul>
-	 *
-	 * The default value if not specified is <js>"_type"</js> unless overridden by the
-	 * {@link BeanContext#BEAN_beanTypePropertyName} setting.
 	 */
 	String typePropertyName() default "";
 

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanProperty.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanProperty.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanProperty.java
index b1567b1..ef24e47 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanProperty.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanProperty.java
@@ -219,9 +219,6 @@ public @interface BeanProperty {
 	 * <p>
 	 * The list of classes that make up the bean dictionary this bean property.
 	 * 
-	 * <p>
-	 * Used in cases where a bean property consists of maps or collections of generic objects.
-	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanDictionary}


[4/7] juneau git commit: Javadoc updates

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
index 7c230c9..9cc1fd5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
@@ -68,14 +68,14 @@ public class MsgPackParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* ParserBuilder */
-	public MsgPackParserBuilder strict() {
-		super.strict();
+	public MsgPackParserBuilder strict(boolean value) {
+		super.strict(value);
 		return this;
 	}
 
 	@Override /* ParserBuilder */
-	public MsgPackParserBuilder strict(boolean value) {
-		super.strict(value);
+	public MsgPackParserBuilder strict() {
+		super.strict();
 		return this;
 	}
 
@@ -85,6 +85,12 @@ public class MsgPackParserBuilder extends ParserBuilder {
 		return this;
 	}
 
+	@Override /* ParserBuilder */
+	public MsgPackParserBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
 	@Override /* BeanContextBuilder */
 	public MsgPackParserBuilder beansRequireDefaultConstructor(boolean value) {
 		super.beansRequireDefaultConstructor(value);
@@ -92,18 +98,36 @@ public class MsgPackParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackParserBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackParserBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackParserBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackParserBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackParserBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackParserBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -116,6 +140,12 @@ public class MsgPackParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackParserBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackParserBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -146,6 +176,12 @@ public class MsgPackParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackParserBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackParserBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -158,6 +194,12 @@ public class MsgPackParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackParserBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -176,18 +218,36 @@ public class MsgPackParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackParserBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackParserBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackParserBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackParserBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackParserBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
index d4dda0d..a74949f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
@@ -56,6 +56,12 @@ public class MsgPackSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public MsgPackSerializerBuilder abridged() {
+		super.abridged();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public MsgPackSerializerBuilder addBeanTypeProperties(boolean value) {
 		super.addBeanTypeProperties(value);
 		return this;
@@ -68,12 +74,23 @@ public class MsgPackSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public MsgPackSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public MsgPackSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public MsgPackSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public MsgPackSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -110,12 +127,24 @@ public class MsgPackSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public MsgPackSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public MsgPackSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public MsgPackSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public MsgPackSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -128,12 +157,24 @@ public class MsgPackSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public MsgPackSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public MsgPackSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public MsgPackSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public MsgPackSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -146,6 +187,12 @@ public class MsgPackSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public MsgPackSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public MsgPackSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -170,6 +217,12 @@ public class MsgPackSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public MsgPackSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public MsgPackSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -182,18 +235,36 @@ public class MsgPackSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -206,6 +277,12 @@ public class MsgPackSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -236,6 +313,12 @@ public class MsgPackSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -248,6 +331,12 @@ public class MsgPackSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -266,18 +355,36 @@ public class MsgPackSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public MsgPackSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public MsgPackSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/Parser.java
----------------------------------------------------------------------
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 e2f0292..a19d7fd 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
@@ -146,7 +146,7 @@ public abstract class Parser extends BeanContext {
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"Parser.fileCharset.s"</js>
 	 * 	<li><b>Data type:</b>  <code>String</code>
-	 * 	<li><b>Default:</b>  <js>"default"</js>
+	 * 	<li><b>Default:</b>  <js>"DEFAULT"</js>
 	 * 	<li><b>Session-overridable:</b>  <jk>true</jk>
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
@@ -222,8 +222,8 @@ public abstract class Parser extends BeanContext {
 	 * 	<li><b>Session-overridable:</b>  <jk>true</jk>
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
-	 * 			<li class='jm'>{@link ParserBuilder#strict()}
 	 * 			<li class='jm'>{@link ParserBuilder#strict(boolean)}
+	 * 			<li class='jm'>{@link ParserBuilder#strict()}
 	 * 		</ul>
 	 * </ul>
 	 * 
@@ -273,6 +273,7 @@ public abstract class Parser extends BeanContext {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link ParserBuilder#trimStrings(boolean)}
+	 * 			<li class='jm'>{@link ParserBuilder#trimStrings()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -308,7 +309,7 @@ public abstract class Parser extends BeanContext {
 		trimStrings = getProperty(PARSER_trimStrings, boolean.class, false);
 		strict = getProperty(PARSER_strict, boolean.class, false);
 		inputStreamCharset = getProperty(PARSER_inputStreamCharset, String.class, "UTF-8");
-		fileCharset = getProperty(PARSER_fileCharset, String.class, "default");
+		fileCharset = getProperty(PARSER_fileCharset, String.class, "DEFAULT");
 		listener = getClassProperty(PARSER_listener, ParserListener.class, null);
 		this.consumes = new MediaType[consumes.length];
 		for (int i = 0; i < consumes.length; i++) {

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
----------------------------------------------------------------------
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 3390a7c..0c5d083 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
@@ -18,7 +18,6 @@ import java.util.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.http.*;
-import org.apache.juneau.json.*;
 
 /**
  * Builder class for building instances of parsers.
@@ -51,18 +50,14 @@ public class ParserBuilder extends BeanContextBuilder {
 	 * <p>
 	 * The character set to use for reading <code>Files</code> from the file system.
 	 *
-	 * <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'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Parser#PARSER_fileCharset}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <js>"DEFAULT"</js> which causes the system default to be used.
 	 * @return This object (for method chaining).
 	 */
 	public ParserBuilder fileCharset(String value) {
@@ -75,15 +70,14 @@ public class ParserBuilder extends BeanContextBuilder {
 	 * <p>
 	 * The character set to use for converting <code>InputStreams</code> and byte arrays to readers.
 	 *
-	 * <p>
-	 * Used when passing in input streams and byte arrays to {@link Parser#parse(Object, Class)}.
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Parser#PARSER_inputStreamCharset}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <js>"UTF-8"</js>.
 	 * @return This object (for method chaining).
 	 */
 	public ParserBuilder inputStreamCharset(String value) {
@@ -109,63 +103,40 @@ public class ParserBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Shortcut for calling <code>strict(<jk>true</jk>)</code>.
+	 * Configuration property:  Strict mode.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, strict mode for the parser is enabled.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Parser#PARSER_strict}
 	 * </ul>
 	 * 
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
-	public ParserBuilder strict() {
-		return strict(true);
+	public ParserBuilder strict(boolean value) {
+		return set(PARSER_strict, value);
 	}
 
 	/**
 	 * Configuration property:  Strict mode.
-	 *
-	 * <p>
-	 * If <jk>true</jk>, strict mode for the parser is enabled.
-	 *
+	 * 
 	 * <p>
-	 * Strict mode can mean different things for different parsers.
-	 *
-	 * <table class='styled'>
-	 * 	<tr><th>Parser class</th><th>Strict behavior</th></tr>
-	 * 	<tr>
-	 * 		<td>All reader-based parsers</td>
-	 * 		<td>
-	 * 			When enabled, throws {@link ParseException ParseExceptions} on malformed charset input.
-	 * 			Otherwise, malformed input is ignored.
-	 * 		</td>
-	 * 	</tr>
-	 * 	<tr>
-	 * 		<td>{@link JsonParser}</td>
-	 * 		<td>
-	 * 			When enabled, throws exceptions on the following invalid JSON syntax:
-	 * 			<ul>
-	 * 				<li>Unquoted attributes.
-	 * 				<li>Missing attribute values.
-	 * 				<li>Concatenated strings.
-	 * 				<li>Javascript comments.
-	 * 				<li>Numbers and booleans when Strings are expected.
-	 * 				<li>Numbers valid in Java but not JSON (e.g. octal notation, etc...)
-	 * 			</ul>
-	 * 		</td>
-	 * 	</tr>
-	 * </table>
+	 * Shortcut for calling <code>strict(<jk>true</jk>)</code>.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Parser#PARSER_strict}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
 	 * @return This object (for method chaining).
 	 */
-	public ParserBuilder strict(boolean value) {
-		return set(PARSER_strict, value);
+	public ParserBuilder strict() {
+		return set(PARSER_strict, true);
 	}
 
 	/**
@@ -180,13 +151,32 @@ public class ParserBuilder extends BeanContextBuilder {
 	 * 	<li class='jf'>{@link Parser#PARSER_trimStrings}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public ParserBuilder trimStrings(boolean value) {
 		return set(PARSER_trimStrings, value);
 	}
 
+	/**
+	 * Configuration property:  Trim parsed strings.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>trimStrings(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Parser#PARSER_trimStrings}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public ParserBuilder trimStrings() {
+		return set(PARSER_trimStrings, true);
+	}
+
 	@Override /* BeanContextBuilder */
 	public ParserBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
@@ -260,24 +250,48 @@ public class ParserBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserBuilder beansRequireDefaultConstructor(boolean value) {
 		super.beansRequireDefaultConstructor(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -302,12 +316,24 @@ public class ParserBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserBuilder ignorePropertiesWithoutSetters(boolean value) {
 		super.ignorePropertiesWithoutSetters(value);
 		return this;
@@ -320,6 +346,12 @@ public class ParserBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -434,6 +466,12 @@ public class ParserBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserBuilder timeZone(TimeZone value) {
 		super.timeZone(value);
 		return this;
@@ -451,6 +489,12 @@ public class ParserBuilder extends BeanContextBuilder {
 		return this;
 	}
 
+	@Override /* BeanContextBuilder */
+	public ParserBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
 	@Override /* ContextBuilder */
 	public ParserBuilder set(String name, Object value) {
 		super.set(name, value);

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
index 16eb000..b7a967d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
@@ -131,14 +131,19 @@ public class ParserGroupBuilder extends BeanContextBuilder {
 	//--------------------------------------------------------------------------------
 
 	/**
-	 * Sets the {@link Parser#PARSER_fileCharset} property on all parsers in this group.
+	 * Configuration property:  File charset.
+	 *
+	 * <p>
+	 * The character set to use for reading <code>Files</code> from the file system.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Parser#PARSER_fileCharset}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <js>"DEFAULT"</js> which causes the system default to be used.
 	 * @return This object (for method chaining).
 	 */
 	public ParserGroupBuilder fileCharset(String value) {
@@ -146,14 +151,19 @@ public class ParserGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Parser#PARSER_inputStreamCharset} property on all parsers in this group.
+	 * Configuration property:  Input stream charset.
+	 *
+	 * <p>
+	 * The character set to use for converting <code>InputStreams</code> and byte arrays to readers.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Parser#PARSER_inputStreamCharset}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <js>"UTF-8"</js>.
 	 * @return This object (for method chaining).
 	 */
 	public ParserGroupBuilder inputStreamCharset(String value) {
@@ -161,7 +171,10 @@ public class ParserGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Parser#PARSER_listener} property on all parsers in this group.
+	 * Configuration property:  Parser listener.
+	 *
+	 * <p>
+	 * Class used to listen for errors and warnings that occur during parsing.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -176,14 +189,19 @@ public class ParserGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Parser#PARSER_strict} property on all parsers in this group.
+	 * Configuration property:  Strict mode.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, strict mode for the parsers are enabled.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Parser#PARSER_strict}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public ParserGroupBuilder strict(boolean value) {
@@ -191,19 +209,59 @@ public class ParserGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Parser#PARSER_trimStrings} property on all parsers in this group.
+	 * Configuration property:  Strict mode.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>strict(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Parser#PARSER_strict}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public ParserGroupBuilder strict() {
+		return set(PARSER_strict, true);
+	}
+
+	/**
+	 * Configuration property:  Trim parsed strings.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, string values will be trimmed of whitespace using {@link String#trim()} before being added to
+	 * the POJO.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Parser#PARSER_trimStrings}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public ParserGroupBuilder trimStrings(boolean value) {
 		return set(PARSER_trimStrings, value);
 	}
+	
+	/**
+	 * Configuration property:  Trim parsed strings.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>trimStrings(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Parser#PARSER_trimStrings}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public ParserGroupBuilder trimStrings() {
+		return set(PARSER_trimStrings, true);
+	}
 
 	@Override /* BeanContextBuilder */
 	public ParserGroupBuilder beansRequireDefaultConstructor(boolean value) {
@@ -212,18 +270,36 @@ public class ParserGroupBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserGroupBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserGroupBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserGroupBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserGroupBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserGroupBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserGroupBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -236,6 +312,12 @@ public class ParserGroupBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserGroupBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserGroupBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -266,6 +348,12 @@ public class ParserGroupBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserGroupBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserGroupBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -278,6 +366,12 @@ public class ParserGroupBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserGroupBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserGroupBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -296,18 +390,36 @@ public class ParserGroupBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserGroupBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserGroupBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserGroupBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserGroupBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public ParserGroupBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public ParserGroupBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserPipe.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserPipe.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserPipe.java
index f14f46e..63dc64e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserPipe.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserPipe.java
@@ -192,7 +192,7 @@ public final class ParserPipe implements Closeable {
 			}
 		} else if (input instanceof File) {
 			CharsetDecoder cd = (
-				"default".equalsIgnoreCase(fileCharset)
+				"DEFAULT".equalsIgnoreCase(fileCharset)
 				? Charset.defaultCharset()
 				: Charset.forName(fileCharset)
 			).newDecoder();

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
index 292c222..c49f8c9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
@@ -68,14 +68,14 @@ public class PlainTextParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* ParserBuilder */
-	public PlainTextParserBuilder strict() {
-		super.strict();
+	public PlainTextParserBuilder strict(boolean value) {
+		super.strict(value);
 		return this;
 	}
 
 	@Override /* ParserBuilder */
-	public PlainTextParserBuilder strict(boolean value) {
-		super.strict(value);
+	public PlainTextParserBuilder strict() {
+		super.strict();
 		return this;
 	}
 
@@ -85,6 +85,12 @@ public class PlainTextParserBuilder extends ParserBuilder {
 		return this;
 	}
 
+	@Override /* ParserBuilder */
+	public PlainTextParserBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
 	@Override /* BeanContextBuilder */
 	public PlainTextParserBuilder beansRequireDefaultConstructor(boolean value) {
 		super.beansRequireDefaultConstructor(value);
@@ -92,18 +98,36 @@ public class PlainTextParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextParserBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextParserBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextParserBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextParserBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextParserBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextParserBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -116,6 +140,12 @@ public class PlainTextParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextParserBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextParserBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -146,6 +176,12 @@ public class PlainTextParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextParserBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextParserBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -158,6 +194,12 @@ public class PlainTextParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextParserBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -176,18 +218,36 @@ public class PlainTextParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextParserBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextParserBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextParserBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextParserBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextParserBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
index 9fa8e54..002f891 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
@@ -56,6 +56,12 @@ public class PlainTextSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public PlainTextSerializerBuilder abridged() {
+		super.abridged();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public PlainTextSerializerBuilder addBeanTypeProperties(boolean value) {
 		super.addBeanTypeProperties(value);
 		return this;
@@ -68,12 +74,23 @@ public class PlainTextSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public PlainTextSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public PlainTextSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public PlainTextSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public PlainTextSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -110,12 +127,24 @@ public class PlainTextSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public PlainTextSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public PlainTextSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public PlainTextSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public PlainTextSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -128,12 +157,24 @@ public class PlainTextSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public PlainTextSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public PlainTextSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public PlainTextSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public PlainTextSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -146,6 +187,12 @@ public class PlainTextSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public PlainTextSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public PlainTextSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -170,6 +217,12 @@ public class PlainTextSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public PlainTextSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public PlainTextSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -182,18 +235,36 @@ public class PlainTextSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -206,6 +277,12 @@ public class PlainTextSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -236,6 +313,12 @@ public class PlainTextSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -248,6 +331,12 @@ public class PlainTextSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -266,18 +355,36 @@ public class PlainTextSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public PlainTextSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public PlainTextSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/Serializer.java
----------------------------------------------------------------------
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 deb126b..1b85a55 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
@@ -57,6 +57,7 @@ public abstract class Serializer extends BeanContext {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link SerializerBuilder#abridged(boolean)}
+	 * 			<li class='jm'>{@link SerializerBuilder#abridged()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -90,6 +91,8 @@ public abstract class Serializer extends BeanContext {
 	 * <p>
 	 * If <jk>true</jk>, then <js>"_type"</js> properties will be added to beans if their type cannot be inferred
 	 * through reflection.
+	 * 
+	 * <p>
 	 * This is used to recreate the correct objects during parsing if the object types cannot be inferred.
 	 * For example, when serializing a {@code Map<String,Object>} field, where the bean class cannot be determined from
 	 * the value type.
@@ -108,6 +111,7 @@ public abstract class Serializer extends BeanContext {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link SerializerBuilder#detectRecursions(boolean)}
+	 * 			<li class='jm'>{@link SerializerBuilder#detectRecursions()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -145,13 +149,14 @@ public abstract class Serializer extends BeanContext {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link SerializerBuilder#ignoreRecursions(boolean)}
+	 * 			<li class='jm'>{@link SerializerBuilder#ignoreRecursions()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 *	<h5 class='section'>Description:</h5>
 	 * <p>
 	 * Used in conjunction with {@link #SERIALIZER_detectRecursions}.
-	 * Setting is ignored if <jsf>SERIALIZER_detectRecursions</jsf> is <jk>false</jk>.
+	 * <br>Setting is ignored if <jsf>SERIALIZER_detectRecursions</jsf> is <jk>false</jk>.
 	 *
 	 * <p>
 	 * If <jk>true</jk>, when we encounter the same object when serializing a tree, we set the value to <jk>null</jk>.
@@ -261,6 +266,7 @@ public abstract class Serializer extends BeanContext {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link SerializerBuilder#quoteChar(char)}
+	 * 			<li class='jm'>{@link SerializerBuilder#sq()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -285,10 +291,15 @@ public abstract class Serializer extends BeanContext {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link SerializerBuilder#sortCollections(boolean)}
+	 * 			<li class='jm'>{@link SerializerBuilder#sortCollections()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 *	<h5 class='section'>Description:</h5>
+	 *
+	 * <p>
+	 * Copies and sorts the contents of arrays and collections before serializing them.
+	 * 
 	 * <p>
 	 * Note that this introduces a performance penalty.
 	 */
@@ -306,10 +317,15 @@ public abstract class Serializer extends BeanContext {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link SerializerBuilder#sortMaps(boolean)}
+	 * 			<li class='jm'>{@link SerializerBuilder#sortMaps()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 *	<h5 class='section'>Description:</h5>
+	 *
+	 * <p>
+	 * Copies and sorts the contents of maps before serializing them.
+	 * 
 	 * <p>
 	 * Note that this introduces a performance penalty.
 	 */
@@ -327,10 +343,12 @@ public abstract class Serializer extends BeanContext {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link SerializerBuilder#trimEmptyCollections(boolean)}
+	 * 			<li class='jm'>{@link SerializerBuilder#trimEmptyCollections()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 *	<h5 class='section'>Description:</h5>
+	 *
 	 * <p>
 	 * If <jk>true</jk>, empty list values will not be serialized to the output.
 	 *
@@ -357,6 +375,7 @@ public abstract class Serializer extends BeanContext {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link SerializerBuilder#trimEmptyMaps(boolean)}
+	 * 			<li class='jm'>{@link SerializerBuilder#trimEmptyMaps()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -413,6 +432,7 @@ public abstract class Serializer extends BeanContext {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link SerializerBuilder#trimStrings(boolean)}
+	 * 			<li class='jm'>{@link SerializerBuilder#trimStrings()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -532,6 +552,8 @@ public abstract class Serializer extends BeanContext {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link SerializerBuilder#useWhitespace(boolean)}
+	 * 			<li class='jm'>{@link SerializerBuilder#useWhitespace()}
+	 * 			<li class='jm'>{@link SerializerBuilder#ws()}
 	 * 		</ul>
 	 * </ul>
 	 *

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
----------------------------------------------------------------------
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 b5efe24..7b5b921 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
@@ -17,7 +17,6 @@ import static org.apache.juneau.serializer.Serializer.*;
 import java.util.*;
 
 import org.apache.juneau.*;
-import org.apache.juneau.annotation.*;
 import org.apache.juneau.http.*;
 
 /**
@@ -53,16 +52,14 @@ public class SerializerBuilder extends BeanContextBuilder {
 	 * When enabled, it is assumed that the parser knows the exact Java POJO type being parsed, and therefore top-level
 	 * type information that might normally be included to determine the data type will not be serialized.
 	 *
-	 * <p>
-	 * For example, when serializing a POJO with a {@link Bean#typeName()} value, a <js>"_type"</js> will be added when
-	 * this setting is disabled, but not added when it is enabled.
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_abridged}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder abridged(boolean value) {
@@ -70,26 +67,37 @@ public class SerializerBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Add <js>"_type"</js> properties when needed.
+	 * Configuration property:  Abridged output.
 	 *
 	 * <p>
-	 * If <jk>true</jk>, then <js>"_type"</js> properties will be added to beans if their type cannot be inferred
-	 * through reflection.
-	 * This is used to recreate the correct objects during parsing if the object types cannot be inferred.
-	 * For example, when serializing a {@code Map<String,Object>} field, where the bean class cannot be determined from
-	 * the value type.
+	 * Shortcut for calling <code>abridged(<jk>true</jk>)</code>.
 	 *
-	 * <h5 class='section'>Notes:</h5>
+	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
-	 * 	<li>Checking for recursion can cause a small performance penalty.
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_abridged}
 	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerBuilder abridged() {
+		return set(SERIALIZER_abridged, true);
+	}
+
+	/**
+	 * Configuration property:  Add <js>"_type"</js> properties when needed.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, then <js>"_type"</js> properties will be added to beans if their type cannot be inferred
+	 * through reflection.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_addBeanTypeProperties}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder addBeanTypeProperties(boolean value) {
@@ -102,18 +110,6 @@ public class SerializerBuilder extends BeanContextBuilder {
 	 * <p>
 	 * Specifies that recursions should be checked for during serialization.
 	 *
-	 * <p>
-	 * Recursions can occur when serializing models that aren't true trees, but rather contain loops.
-	 *
-	 * <p>
-	 * The behavior when recursions are detected depends on the value for
-	 * {@link Serializer#SERIALIZER_ignoreRecursions}.
-	 *
-	 * <p>
-	 * For example, if a model contains the links A-&gt;B-&gt;C-&gt;A, then the JSON generated will look like
-	 * the following when <jsf>SERIALIZER_ignoreRecursions</jsf> is <jk>true</jk>...
-	 * <code>{A:{B:{C:null}}}</code>
-	 *
 	 * <h5 class='section'>Notes:</h5>
 	 * <ul>
 	 * 	<li>Checking for recursion can cause a small performance penalty.
@@ -124,7 +120,9 @@ public class SerializerBuilder extends BeanContextBuilder {
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_detectRecursions}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder detectRecursions(boolean value) {
@@ -132,11 +130,24 @@ public class SerializerBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Ignore recursion errors.
+	 * Configuration property:  Automatically detect POJO recursions.
 	 *
 	 * <p>
-	 * Used in conjunction with {@link Serializer#SERIALIZER_detectRecursions}.
-	 * Setting is ignored if <jsf>SERIALIZER_detectRecursions</jsf> is <jk>false</jk>.
+	 * Shortcut for calling <code>detectRecursions(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_detectRecursions}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerBuilder detectRecursions() {
+		return set(SERIALIZER_detectRecursions, true);
+	}
+
+	/**
+	 * Configuration property:  Ignore recursion errors.
 	 *
 	 * <p>
 	 * If <jk>true</jk>, when we encounter the same object when serializing a tree, we set the value to <jk>null</jk>.
@@ -152,7 +163,9 @@ public class SerializerBuilder extends BeanContextBuilder {
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_ignoreRecursions}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder ignoreRecursions(boolean value) {
@@ -160,18 +173,36 @@ public class SerializerBuilder extends BeanContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  Ignore recursion errors.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>ignoreRecursions(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_ignoreRecursions}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerBuilder ignoreRecursions() {
+		return set(SERIALIZER_ignoreRecursions, true);
+	}
+
+	/**
 	 * Configuration property:  Initial depth.
 	 *
 	 * <p>
 	 * The initial indentation level at the root.
-	 * Useful when constructing document fragments that need to be indented at a certain level.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_initialDepth}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <code>0</code>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder initialDepth(int value) {
@@ -189,7 +220,8 @@ public class SerializerBuilder extends BeanContextBuilder {
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_listener}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder listener(Class<? extends SerializerListener> value) {
@@ -201,15 +233,17 @@ public class SerializerBuilder extends BeanContextBuilder {
 	 *
 	 * <p>
 	 * Abort serialization if specified depth is reached in the POJO tree.
-	 * If this depth is exceeded, an exception is thrown.
-	 * This prevents stack overflows from occurring when trying to serialize models with recursive references.
+	 * <br>If this depth is exceeded, an exception is thrown.
+	 * <br>This prevents stack overflows from occurring when trying to serialize models with recursive references.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_maxDepth}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <code>100</code>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder maxDepth(int value) {
@@ -227,7 +261,9 @@ public class SerializerBuilder extends BeanContextBuilder {
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_maxIndent}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <code>100</code>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder maxIndent(int value) {
@@ -245,7 +281,9 @@ public class SerializerBuilder extends BeanContextBuilder {
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_quoteChar}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <js>'"'</js>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder quoteChar(char value) {
@@ -255,17 +293,17 @@ public class SerializerBuilder extends BeanContextBuilder {
 	/**
 	 * Configuration property:  Sort arrays and collections alphabetically.
 	 *
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
+	 * <p>
+	 * Copies and sorts the contents of arrays and collections before serializing them.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_sortCollections}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder sortCollections(boolean value) {
@@ -273,19 +311,36 @@ public class SerializerBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Sort maps alphabetically.
+	 * Configuration property:  Sort arrays and collections alphabetically.
+	 * 
+	 * <p>
+	 * Shortcut for calling <code>sortCollections(<jk>true</jk>)</code>.
 	 *
-	 * <h5 class='section'>Notes:</h5>
+	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_sortCollections}
 	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerBuilder sortCollections() {
+		return set(SERIALIZER_sortCollections, true);
+	}
+
+	/**
+	 * Configuration property:  Sort maps alphabetically.
+	 *
+	 * <p>
+	 * Copies and sorts the contents of maps before serializing them.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_sortMaps}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder sortMaps(boolean value) {
@@ -293,6 +348,26 @@ public class SerializerBuilder extends BeanContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  Sort maps alphabetically.
+	 * 
+	 * <p>
+	 * Shortcut for calling <code>sortMaps(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_sortMaps}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerBuilder sortMaps() {
+		return set(SERIALIZER_sortMaps, true);
+	}
+
+	/**
+	 * Configuration property:  Quote character.
+	 * 
+	 * <p>
 	 * Shortcut for calling <code>quoteChar(<js>'\''</js>)</code>.
 	 *
 	 * <h5 class='section'>See Also:</h5>
@@ -312,21 +387,14 @@ public class SerializerBuilder extends BeanContextBuilder {
 	 * <p>
 	 * If <jk>true</jk>, empty list values will not be serialized to the output.
 	 *
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>Enabling this setting has the following effects on parsing:
-	 * 	<ul>
-	 * 		<li>Map entries with empty list values will be lost.
-	 * 		<li>Bean properties with empty list values will not be set.
-	 * 	</ul>
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimEmptyCollections}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder trimEmptyCollections(boolean value) {
@@ -334,25 +402,36 @@ public class SerializerBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Trim empty maps.
+	 * Configuration property:  Trim empty lists and arrays.
 	 *
 	 * <p>
-	 * If <jk>true</jk>, empty map values will not be serialized to the output.
+	 * Shortcut for calling <code>trimEmptyCollections(<jk>true</jk>)</code>.
 	 *
-	 * <h5 class='section'>Notes:</h5>
+	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
-	 * 	<li>Enabling this setting has the following effects on parsing:
-	 * 	<ul>
-	 * 		<li>Bean properties with empty map values will not be set.
-	 * 	</ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimEmptyCollections}
 	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerBuilder trimEmptyCollections() {
+		return set(SERIALIZER_trimEmptyCollections, true);
+	}
+
+	/**
+	 * Configuration property:  Trim empty maps.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, empty map values will not be serialized to the output.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimEmptyMaps}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder trimEmptyMaps(boolean value) {
@@ -360,25 +439,36 @@ public class SerializerBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Configuration property:  Trim null bean property values.
+	 * Configuration property:  Trim empty maps.
 	 *
 	 * <p>
-	 * If <jk>true</jk>, null bean values will not be serialized to the output.
+	 * Shortcut for calling <code>trimEmptyMaps(<jk>true</jk>)</code>.
 	 *
-	 * <h5 class='section'>Notes:</h5>
+	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
-	 * 	<li>Enabling this setting has the following effects on parsing:
-	 * 	<ul>
-	 * 		<li>Map entries with <jk>null</jk> values will be lost.
-	 * 	</ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimEmptyMaps}
 	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerBuilder trimEmptyMaps() {
+		return set(SERIALIZER_trimEmptyMaps, true);
+	}
+
+	/**
+	 * Configuration property:  Trim null bean property values.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, null bean values will not be serialized to the output.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimNullProperties}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder trimNullProperties(boolean value) {
@@ -396,7 +486,9 @@ public class SerializerBuilder extends BeanContextBuilder {
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimStrings}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder trimStrings(boolean value) {
@@ -404,16 +496,28 @@ public class SerializerBuilder extends BeanContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  Trim strings.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>trimStrings(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimStrings}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerBuilder trimStrings() {
+		return set(SERIALIZER_trimStrings, true);
+	}
+
+	/**
 	 * Configuration property:  URI context bean.
 	 *
 	 * <p>
 	 * Bean used for resolution of URIs to absolute or root-relative form.
 	 *
-	 * <h6 class='figure'>Example:</h6>
-	 * <p class='bcode'>
-	 * 	<js>"{authority:'http://localhost:10000',contextRoot:'/myContext',servletPath:'/myServlet',pathInfo:'/foo'}"</js>
-	 * </p>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_uriContext}
@@ -430,28 +534,16 @@ public class SerializerBuilder extends BeanContextBuilder {
 	 * Configuration property:  URI relativity.
 	 *
 	 * <p>
-	 * Defines what relative URIs are relative to when serializing any of the following:
-	 * <ul>
-	 * 	<li>{@link java.net.URI}
-	 * 	<li>{@link java.net.URL}
-	 * 	<li>Properties annotated with {@link org.apache.juneau.annotation.URI @URI}
-	 * </ul>
-	 *
-	 * <p>
-	 * Possible values are:
-	 * <ul>
-	 * 	<li>{@link UriRelativity#RESOURCE}
-	 * 		- Relative URIs should be considered relative to the servlet URI.
-	 * 	<li>{@link UriRelativity#PATH_INFO}
-	 * 		- Relative URIs should be considered relative to the request URI.
-	 * </ul>
+	 * Defines what relative URIs are relative to when serializing URI/URL objects.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_uriRelativity}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is {@link UriRelativity#RESOURCE}
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder uriRelativity(UriRelativity value) {
@@ -462,30 +554,16 @@ public class SerializerBuilder extends BeanContextBuilder {
 	 * Configuration property:  URI resolution.
 	 *
 	 * <p>
-	 * Defines the resolution level for URIs when serializing any of the following:
-	 * <ul>
-	 * 	<li>{@link java.net.URI}
-	 * 	<li>{@link java.net.URL}
-	 * 	<li>Properties annotated with {@link org.apache.juneau.annotation.URI @URI}
-	 * </ul>
-	 *
-	 * <p>
-	 * Possible values are:
-	 * <ul>
-	 * 	<li>{@link UriResolution#ABSOLUTE}
-	 * 		- Resolve to an absolute URL (e.g. <js>"http://host:port/context-root/servlet-path/path-info"</js>).
-	 * 	<li>{@link UriResolution#ROOT_RELATIVE}
-	 * 		- Resolve to a root-relative URL (e.g. <js>"/context-root/servlet-path/path-info"</js>).
-	 * 	<li>{@link UriResolution#NONE}
-	 * 		- Don't do any URL resolution.
-	 * </ul>
+	 * Defines the resolution level for URIs when serializing URI/URL objects.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_uriResolution}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is {@link UriResolution#NONE}
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder uriResolution(UriResolution value) {
@@ -503,7 +581,9 @@ public class SerializerBuilder extends BeanContextBuilder {
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_useWhitespace}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder useWhitespace(boolean value) {
@@ -511,6 +591,25 @@ public class SerializerBuilder extends BeanContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  Use whitespace.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>useWhitespace(<jk>true</jk>)</code>.
+	 * 
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_useWhitespace}
+	 * </ul>
+	 * @return This object (for method chaining).
+	 */
+	public SerializerBuilder useWhitespace() {
+		return set(SERIALIZER_useWhitespace, true);
+	}
+
+	/**
+	 * Configuration property:  Use whitespace.
+	 *
+	 * <p>
 	 * Shortcut for calling <code>useWhitespace(<jk>true</jk>)</code>.
 	 *
 	 * <h5 class='section'>See Also:</h5>
@@ -521,7 +620,7 @@ public class SerializerBuilder extends BeanContextBuilder {
 	 * @return This object (for method chaining).
 	 */
 	public SerializerBuilder ws() {
-		return useWhitespace(true);
+		return useWhitespace();
 	}
 
 	@Override /* BeanContextBuilder */
@@ -531,18 +630,36 @@ public class SerializerBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -555,6 +672,12 @@ public class SerializerBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -585,6 +708,12 @@ public class SerializerBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -597,6 +726,12 @@ public class SerializerBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -615,18 +750,36 @@ public class SerializerBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;


[3/7] juneau git commit: Javadoc updates

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
index 83562a1..3a96302 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
@@ -131,14 +131,20 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	//--------------------------------------------------------------------------------
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_abridged} property on all serializers in this group.
+	 * Configuration property:  Abridged output.
+	 *
+	 * <p>
+	 * When enabled, it is assumed that the parser knows the exact Java POJO type being parsed, and therefore top-level
+	 * type information that might normally be included to determine the data type will not be serialized.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_abridged}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder abridged(boolean value) {
@@ -146,14 +152,37 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_addBeanTypeProperties} property on all serializers in this group.
+	 * Configuration property:  Abridged output.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>abridged(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_abridged}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerGroupBuilder abridged() {
+		return set(SERIALIZER_abridged, true);
+	}
+
+	/**
+	 * Configuration property:  Add <js>"_type"</js> properties when needed.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, then <js>"_type"</js> properties will be added to beans if their type cannot be inferred
+	 * through reflection.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_addBeanTypeProperties}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder addBeanTypeProperties(boolean value) {
@@ -161,14 +190,24 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_detectRecursions} property on all serializers in this group.
+	 * Configuration property:  Automatically detect POJO recursions.
+	 *
+	 * <p>
+	 * Specifies that recursions should be checked for during serialization.
+	 *
+	 * <h5 class='section'>Notes:</h5>
+	 * <ul>
+	 * 	<li>Checking for recursion can cause a small performance penalty.
+	 * </ul>
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_detectRecursions}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder detectRecursions(boolean value) {
@@ -176,14 +215,42 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_ignoreRecursions} property on all serializers in this group.
+	 * Configuration property:  Automatically detect POJO recursions.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>detectRecursions(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_detectRecursions}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerGroupBuilder detectRecursions() {
+		return set(SERIALIZER_detectRecursions, true);
+	}
+
+	/**
+	 * Configuration property:  Ignore recursion errors.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, when we encounter the same object when serializing a tree, we set the value to <jk>null</jk>.
+	 * Otherwise, an exception is thrown.
+	 *
+	 * <h5 class='section'>Notes:</h5>
+	 * <ul>
+	 * 	<li>Checking for recursion can cause a small performance penalty.
+	 * </ul>
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_ignoreRecursions}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder ignoreRecursions(boolean value) {
@@ -191,14 +258,36 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_initialDepth} property on all serializers in this group.
+	 * Configuration property:  Ignore recursion errors.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>ignoreRecursions(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_ignoreRecursions}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerGroupBuilder ignoreRecursions() {
+		return set(SERIALIZER_ignoreRecursions, true);
+	}
+
+	/**
+	 * Configuration property:  Initial depth.
+	 *
+	 * <p>
+	 * The initial indentation level at the root.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_initialDepth}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <code>0</code>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder initialDepth(int value) {
@@ -206,14 +295,18 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_listener} property on all serializers in this group.
+	 * Configuration property:  Serializer listener.
+	 *
+	 * <p>
+	 * Class used to listen for errors and warnings that occur during serialization.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_listener}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder listener(Class<? extends SerializerListener> value) {
@@ -221,14 +314,21 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_maxDepth} property on all serializers in this group.
+	 * Configuration property:  Max serialization depth.
+	 *
+	 * <p>
+	 * Abort serialization if specified depth is reached in the POJO tree.
+	 * <br>If this depth is exceeded, an exception is thrown.
+	 * <br>This prevents stack overflows from occurring when trying to serialize models with recursive references.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_maxDepth}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <code>100</code>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder maxDepth(int value) {
@@ -236,29 +336,39 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_maxIndent} property on all serializers in this group.
+	 * Configuration property:  Maximum indentation.
+	 *
+	 * <p>
+	 * Specifies the maximum indentation level in the serialized document.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_maxIndent}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <code>100</code>.
 	 * @return This object (for method chaining).
 	 */
-	public SerializerGroupBuilder maxIndent(boolean value) {
+	public SerializerGroupBuilder maxIndent(int value) {
 		return set(SERIALIZER_maxIndent, value);
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_quoteChar} property on all serializers in this group.
+	 * Configuration property:  Quote character.
+	 *
+	 * <p>
+	 * This is the character used for quoting attributes and values.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_quoteChar}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <js>'"'</js>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder quoteChar(char value) {
@@ -266,14 +376,16 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_sortCollections} property on all serializers in this group.
+	 * Configuration property:  Sort arrays and collections alphabetically.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_sortCollections}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder sortCollections(boolean value) {
@@ -281,14 +393,33 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_sortMaps} property on all serializers in this group.
+	 * Configuration property:  Sort arrays and collections alphabetically.
+	 * 
+	 * <p>
+	 * Shortcut for calling <code>sortCollections(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_sortCollections}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerGroupBuilder sortCollections() {
+		return set(SERIALIZER_sortCollections, true);
+	}
+
+	/**
+	 * Configuration property:  Sort maps alphabetically.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_sortMaps}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder sortMaps(boolean value) {
@@ -296,6 +427,26 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  Sort maps alphabetically.
+	 * 
+	 * <p>
+	 * Shortcut for calling <code>sortMaps(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_sortMaps}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerGroupBuilder sortMaps() {
+		return set(SERIALIZER_sortMaps, true);
+	}
+
+	/**
+	 * Configuration property:  Sort maps alphabetically.
+	 * 
+	 * <p>
 	 * Shortcut for calling <code>quoteChar(<js>'\''</js>)</code>.
 	 *
 	 * <h5 class='section'>See Also:</h5>
@@ -310,14 +461,19 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_trimEmptyCollections} property on all serializers in this group.
+	 * Configuration property:  Trim empty lists and arrays.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, empty list values will not be serialized to the output.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimEmptyCollections}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder trimEmptyCollections(boolean value) {
@@ -325,14 +481,36 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_trimEmptyMaps} property on all serializers in this group.
+	 * Configuration property:  Trim empty lists and arrays.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>trimEmptyCollections(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimEmptyCollections}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerGroupBuilder trimEmptyCollections() {
+		return set(SERIALIZER_trimEmptyCollections, true);
+	}
+
+	/**
+	 * Configuration property:  Trim empty maps.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, empty map values will not be serialized to the output.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimEmptyMaps}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder trimEmptyMaps(boolean value) {
@@ -340,14 +518,36 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_trimNullProperties} property on all serializers in this group.
+	 * Configuration property:  Trim empty maps.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>trimEmptyMaps(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimEmptyMaps}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerGroupBuilder trimEmptyMaps() {
+		return set(SERIALIZER_trimEmptyMaps, true);
+	}
+
+	/**
+	 * Configuration property:  Trim null bean property values.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, null bean values will not be serialized to the output.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimNullProperties}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder trimNullProperties(boolean value) {
@@ -355,14 +555,19 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_trimStrings} property on all serializers in this group.
+	 * Configuration property:  Trim strings.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, string values will be trimmed of whitespace using {@link String#trim()} before being serialized.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimStrings}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder trimStrings(boolean value) {
@@ -370,7 +575,27 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_uriContext} property on all serializers in this group.
+	 * Configuration property:  Trim strings.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>trimStrings(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_trimStrings}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public SerializerGroupBuilder trimStrings() {
+		return set(SERIALIZER_trimStrings, true);
+	}
+
+	/**
+	 * Configuration property:  URI context bean.
+	 *
+	 * <p>
+	 * Bean used for resolution of URIs to absolute or root-relative form.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -385,14 +610,19 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_uriRelativity} property on all serializers in this group.
+	 * Configuration property:  URI relativity.
+	 *
+	 * <p>
+	 * Defines what relative URIs are relative to when serializing URI/URL objects.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_uriRelativity}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is {@link UriRelativity#RESOURCE}
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder uriRelativity(UriRelativity value) {
@@ -400,14 +630,19 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_uriResolution} property on all serializers in this group.
+	 * Configuration property:  URI resolution.
+	 *
+	 * <p>
+	 * Defines the resolution level for URIs when serializing URI/URL objects.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_uriResolution}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is {@link UriResolution#NONE}
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder uriResolution(UriResolution value) {
@@ -415,14 +650,19 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
-	 * Sets the {@link Serializer#SERIALIZER_useWhitespace} property on all serializers in this group.
+	 * Configuration property:  Use whitespace.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, newlines and indentation and spaces are added to the output to improve readability.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_useWhitespace}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder useWhitespace(boolean value) {
@@ -430,6 +670,25 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	/**
+	 * Configuration property:  Use whitespace.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>useWhitespace(<jk>true</jk>)</code>.
+	 * 
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link Serializer#SERIALIZER_useWhitespace}
+	 * </ul>
+	 * @return This object (for method chaining).
+	 */
+	public SerializerGroupBuilder useWhitespace() {
+		return set(SERIALIZER_useWhitespace, true);
+	}
+
+	/**
+	 * Configuration property:  Use whitespace.
+	 *
+	 * <p>
 	 * Shortcut for calling <code>useWhitespace(<jk>true</jk>)</code>.
 	 *
 	 * <h5 class='section'>See Also:</h5>
@@ -440,9 +699,10 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	 * @return This object (for method chaining).
 	 */
 	public SerializerGroupBuilder ws() {
-		return useWhitespace(true);
+		return useWhitespace();
 	}
 
+
 	@Override /* BeanContextBuilder */
 	public SerializerGroupBuilder beansRequireDefaultConstructor(boolean value) {
 		super.beansRequireDefaultConstructor(value);
@@ -450,18 +710,36 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerGroupBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerGroupBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerGroupBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerGroupBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerGroupBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerGroupBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -474,6 +752,12 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerGroupBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerGroupBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -504,6 +788,12 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerGroupBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerGroupBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -516,6 +806,12 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerGroupBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerGroupBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -534,18 +830,36 @@ public class SerializerGroupBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerGroupBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerGroupBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerGroupBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerGroupBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SerializerGroupBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SerializerGroupBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
index 7ccc4a9..3ba6ce8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
@@ -46,6 +46,10 @@ public final class SoapXmlSerializer extends XmlSerializer {
 	 * 	<li><b>Name:</b>  <js>"SoapXmlSerializer.SOAPAction.s"</js>
 	 * 	<li><b>Data type:</b>  <code>String</code>
 	 * 	<li><b>Default:</b>  <js>"http://www.w3.org/2003/05/soap-envelope"</js>
+	 * 	<li><b>Methods:</b> 
+	 * 		<ul>
+	 * 			<li class='jm'>{@link SoapXmlSerializerBuilder#soapAction(String)}
+	 * 		</ul>
 	 * </ul>
 	 */
 	public static final String SOAPXML_SOAPAction = PREFIX + "SOAPAction.s";

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
index 69f32bf..bb27c48 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
@@ -55,62 +55,29 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
 	/**
 	 * Configuration property:  The <code>SOAPAction</code> HTTP header value to set on responses.
 	 *
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link SoapXmlSerializer#SOAPXML_SOAPAction}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <js>"http://www.w3.org/2003/05/soap-envelope"</js>.
 	 * @return This object (for method chaining).
 	 */
 	public SoapXmlSerializerBuilder soapAction(String value) {
 		return set(SOAPXML_SOAPAction, value);
 	}
 
-	@Override /* XmlSerializerBuilder */
-	public SoapXmlSerializerBuilder addNamespaceUrisToRoot(boolean value) {
-		super.addNamespaceUrisToRoot(value);
-		return this;
-	}
-
-	@Override /* XmlSerializerBuilder */
-	public SoapXmlSerializerBuilder autoDetectNamespaces(boolean value) {
-		super.autoDetectNamespaces(value);
-		return this;
-	}
-
-	@Override /* XmlSerializerBuilder */
-	public SoapXmlSerializerBuilder defaultNamespace(String value) {
-		super.defaultNamespace(value);
-		return this;
-	}
-
-	@Override /* XmlSerializerBuilder */
-	public SoapXmlSerializerBuilder enableNamespaces(boolean value) {
-		super.enableNamespaces(value);
-		return this;
-	}
-
-	@Override /* XmlSerializerBuilder */
-	public SoapXmlSerializerBuilder namespaces(Namespace...values) {
-		super.namespaces(values);
-		return this;
-	}
-
-	@Override /* XmlSerializerBuilder */
-	public SoapXmlSerializerBuilder xsNamespace(Namespace value) {
-		super.xsNamespace(value);
+	@Override /* SerializerBuilder */
+	public SoapXmlSerializerBuilder abridged(boolean value) {
+		super.abridged(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
-	public SoapXmlSerializerBuilder abridged(boolean value) {
-		super.abridged(value);
+	public SoapXmlSerializerBuilder abridged() {
+		super.abridged();
 		return this;
 	}
 
@@ -127,12 +94,23 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public SoapXmlSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SoapXmlSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public SoapXmlSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public SoapXmlSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -169,12 +147,24 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public SoapXmlSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SoapXmlSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public SoapXmlSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SoapXmlSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -187,12 +177,24 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public SoapXmlSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SoapXmlSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public SoapXmlSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SoapXmlSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -205,6 +207,12 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public SoapXmlSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SoapXmlSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -229,6 +237,12 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public SoapXmlSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SoapXmlSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -241,18 +255,36 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SoapXmlSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SoapXmlSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SoapXmlSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SoapXmlSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SoapXmlSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SoapXmlSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -265,6 +297,12 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SoapXmlSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SoapXmlSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -295,6 +333,12 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SoapXmlSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SoapXmlSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -307,6 +351,12 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SoapXmlSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SoapXmlSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -325,18 +375,36 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SoapXmlSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SoapXmlSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SoapXmlSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SoapXmlSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SoapXmlSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SoapXmlSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/AnnotationBeanFilterBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/AnnotationBeanFilterBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/AnnotationBeanFilterBuilder.java
index b583756..7e56858 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/AnnotationBeanFilterBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/AnnotationBeanFilterBuilder.java
@@ -45,7 +45,7 @@ public final class AnnotationBeanFilterBuilder<T> extends BeanFilterBuilder<T> {
 			Bean b = li.previous();
 
 			if (! b.properties().isEmpty())
-				properties(split(b.properties()));
+				includeProperties(split(b.properties()));
 
 			if (! b.typeName().isEmpty())
 				typeName(b.typeName());

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilter.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilter.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilter.java
index 6a2a9b3..f20e0ff 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilter.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilter.java
@@ -51,7 +51,7 @@ public final class BeanFilter {
 	BeanFilter(BeanFilterBuilder<?> builder) {
 		this.beanClass = builder.beanClass;
 		this.typeName = builder.typeName;
-		this.properties = split(builder.properties, ',');
+		this.properties = split(builder.includeProperties, ',');
 		this.excludeProperties = split(builder.excludeProperties, ',');
 		this.interfaceClass = builder.interfaceClass;
 		this.stopClass = builder.stopClass;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
index 3f290c5..7268aa5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
@@ -37,7 +37,7 @@ public class BeanFilterBuilder<T> {
 
 	Class<?> beanClass;
 	String typeName;
-	String[] properties, excludeProperties;
+	String[] includeProperties, excludeProperties;
 	Class<?> interfaceClass, stopClass;
 	boolean sortProperties;
 	Object propertyNamer;
@@ -75,25 +75,40 @@ public class BeanFilterBuilder<T> {
 	}
 
 	/**
-	 * Specifies the set and order of names of properties associated with the bean class.
-	 *
+	 * Configuration property:  Bean property includes.
+	 * 
 	 * <p>
-	 * The order specified is the same order that the entries will be returned by the {@link BeanMap#entrySet()} and
-	 * related methods.
-	 * Entries in the list can also contain comma-delimited lists that will be split.
-	 *
-	 * @param value The new value for this setting.
+	 * Specifies the set and order of names of properties associated with the bean class.
+	 * 
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_includeProperties}
+	 * </ul>
+	 * 
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>Values can contain comma-delimited list of property names.
 	 * @return This object (for method chaining).
 	 */
-	public BeanFilterBuilder<T> properties(String...value) {
-		this.properties = value;
+	public BeanFilterBuilder<T> includeProperties(String...value) {
+		this.includeProperties = value;
 		return this;
 	}
 
 	/**
-	 * Specifies the list of properties to ignore on a bean.
+	 * Configuration property:  Bean property excludes.
 	 *
-	 * @param value The new value for this setting.
+	 * <p>
+	 * Specifies to exclude the specified list of properties for the specified bean class.
+	 * 
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_excludeProperties}
+	 * </ul>
+	 * 
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>Values can contain comma-delimited list of property names.
 	 * @return This object (for method chaining).
 	 */
 	public BeanFilterBuilder<T> excludeProperties(String...value) {
@@ -179,9 +194,20 @@ public class BeanFilterBuilder<T> {
 	}
 
 	/**
-	 * Sort properties in alphabetical order.
+	 * Configuration property:  Sort bean properties.
 	 *
-	 * @param value The new value for this setting.
+	 * <p>
+	 * When <jk>true</jk>, all bean properties will be serialized and access in alphabetical order.
+	 * Otherwise, the natural order of the bean properties is used which is dependent on the JVM vendor.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_sortProperties}
+	 * </ul>
+	 * 
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public BeanFilterBuilder<T> sortProperties(boolean value) {
@@ -190,37 +216,57 @@ public class BeanFilterBuilder<T> {
 	}
 
 	/**
-	 * The property namer to use to name bean properties.
+	 * Configuration property:  Sort bean properties.
 	 *
-	 * @param value The new value for this setting.
+	 * <p>
+	 * Shortcut for calling <code>sortProperties(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_sortProperties}
+	 * </ul>
+	 * 
 	 * @return This object (for method chaining).
 	 */
-	public BeanFilterBuilder<T> propertyNamer(PropertyNamer value) {
-		this.propertyNamer = value;
+	public BeanFilterBuilder<T> sortProperties() {
+		this.sortProperties = true;
 		return this;
 	}
 
 	/**
-	 * The property namer to use to name bean properties.
+	 * Configuration property:  Bean property namer
+	 *
+	 * <p>
+	 * The class to use for calculating bean property names.
 	 * 
-	 * @param value The new value for this setting.
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link BeanContext#BEAN_propertyNamer}
+	 * </ul>
+	 * 
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default is {@link PropertyNamerDefault}.
 	 * @return This object (for method chaining).
-	 * @throws Exception Thrown from constructor method.
 	 */
-	public BeanFilterBuilder<T> propertyNamer(Class<? extends PropertyNamer> value) throws Exception {
+	public BeanFilterBuilder<T> propertyNamer(Class<? extends PropertyNamer> value) {
 		this.propertyNamer = value;
 		return this;
 	}
 
 	/**
-	 * Adds classes to this bean's bean dictionary.
+	 * Configuration property:  Bean dictionary.
 	 *
+	 * <p>
+	 * Adds to the list of classes that make up the bean dictionary in this bean context.
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanDictionary}
 	 * </ul>
 	 * 
-	 * @param values The values to add to this setting.
+	 * @param values 
+	 * 	The values to add to this property.
 	 * @return This object (for method chaining).
 	 */
 	public BeanFilterBuilder<T> beanDictionary(Class<?>...values) {
@@ -232,8 +278,11 @@ public class BeanFilterBuilder<T> {
 	}
 
 	/**
-	 * Sets the contents of this bean's bean dictionary.
+	 * Configuration property:  Bean dictionary.
 	 *
+	 * <p>
+	 * Adds to the list of classes that make up the bean dictionary in this bean context.
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link BeanContext#BEAN_beanDictionary}
@@ -255,7 +304,9 @@ public class BeanFilterBuilder<T> {
 	/**
 	 * The property filter to use for intercepting and altering getter and setter calls.
 	 *
-	 * @param value The new value for this setting.
+	 * @param value 
+	 * 	The new value for this setting.
+	 * 	<br>The default value is {@link PropertyFilter}.
 	 * @return This object (for method chaining).
 	 */
 	public BeanFilterBuilder<T> propertyFilter(Class<? extends PropertyFilter> value) {

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/InterfaceBeanFilterBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/InterfaceBeanFilterBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/InterfaceBeanFilterBuilder.java
index 0b90a73..daa32a2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/InterfaceBeanFilterBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/InterfaceBeanFilterBuilder.java
@@ -61,7 +61,7 @@ public class InterfaceBeanFilterBuilder<T> extends BeanFilterBuilder<T> {
 			Bean b = li.previous();
 
 			if (! b.properties().isEmpty())
-				properties(split(b.properties()));
+				includeProperties(split(b.properties()));
 
 			if (! b.typeName().isEmpty())
 				typeName(b.typeName());

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
index 2f4b026..73983f8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
@@ -103,14 +103,14 @@ public class UonParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* ParserBuilder */
-	public UonParserBuilder strict() {
-		super.strict();
+	public UonParserBuilder strict(boolean value) {
+		super.strict(value);
 		return this;
 	}
 
 	@Override /* ParserBuilder */
-	public UonParserBuilder strict(boolean value) {
-		super.strict(value);
+	public UonParserBuilder strict() {
+		super.strict();
 		return this;
 	}
 
@@ -120,6 +120,12 @@ public class UonParserBuilder extends ParserBuilder {
 		return this;
 	}
 
+	@Override /* ParserBuilder */
+	public UonParserBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
 	@Override /* BeanContextBuilder */
 	public UonParserBuilder beansRequireDefaultConstructor(boolean value) {
 		super.beansRequireDefaultConstructor(value);
@@ -127,18 +133,36 @@ public class UonParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonParserBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonParserBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonParserBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonParserBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonParserBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonParserBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -151,6 +175,12 @@ public class UonParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonParserBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonParserBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -181,6 +211,12 @@ public class UonParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonParserBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonParserBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -193,6 +229,12 @@ public class UonParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonParserBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -211,18 +253,36 @@ public class UonParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonParserBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonParserBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonParserBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonParserBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonParserBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
----------------------------------------------------------------------
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 737e9b3..0f0ad07 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
@@ -129,7 +129,7 @@ public class UonSerializer extends WriterSerializer {
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"UonSerializer.addBeanTypeProperties.b"</js>
 	 * 	<li><b>Data type:</b>  <code>Boolean</code>
-	 * 	<li><b>Default:</b>  <jk>false</jk>
+	 * 	<li><b>Default:</b>  <jk>true</jk>
 	 * 	<li><b>Session-overridable:</b>  <jk>true</jk>
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
@@ -163,6 +163,7 @@ public class UonSerializer extends WriterSerializer {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link UonSerializerBuilder#encoding(boolean)}
+	 * 			<li class='jm'>{@link UonSerializerBuilder#encoding()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -189,6 +190,7 @@ public class UonSerializer extends WriterSerializer {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link UonSerializerBuilder#paramFormat(ParamFormat)}
+	 * 			<li class='jm'>{@link UonSerializerBuilder#paramFormatPlain()}
 	 * 		</ul>
 	 * </ul>
 	 *

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
----------------------------------------------------------------------
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 b1d824b..ff4b0d8 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
@@ -57,23 +57,14 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	 * <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.
-	 * 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'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This is equivalent to calling <code>property(<jsf>UON_encoding</jsf>, value)</code>.
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link UonSerializer#UON_encoding}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public UonSerializerBuilder encoding(boolean value) {
@@ -81,12 +72,20 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	}
 
 	/**
-	 * Shortcut for calling <code>setEncodeChars(true)</code>.
+	 * Configuration property:  Encode non-valid URI characters.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>encoding(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link UonSerializer#UON_encoding}
+	 * </ul>
 	 *
 	 * @return This object (for method chaining).
 	 */
 	public UonSerializerBuilder encoding() {
-		return encoding(true);
+		return set(UON_encoding, true);
 	}
 
 	/**
@@ -100,7 +99,9 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	 * 	<li class='jf'>{@link UonSerializer#UON_paramFormat}
 	 * </ul>
 	 *
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is {@link ParamFormat#UON}.
 	 * @return This object (for method chaining).
 	 */
 	public UonSerializerBuilder paramFormat(ParamFormat value) {
@@ -111,7 +112,7 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	 * Configuration property:  Format to use for query/form-data/header values.
 	 *
 	 * <p>
-	 * Specifies the format to use for URL GET parameter keys and values.
+	 * Shortcut for calling <code>paramFormat(<jsf>PLAINTEXT</jsf>)</code>.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -131,6 +132,12 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UonSerializerBuilder abridged() {
+		super.abridged();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonSerializerBuilder addBeanTypeProperties(boolean value) {
 		super.addBeanTypeProperties(value);
 		return this;
@@ -143,12 +150,23 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UonSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public UonSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public UonSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -185,12 +203,24 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UonSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public UonSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -203,12 +233,24 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UonSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public UonSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -221,6 +263,12 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UonSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -245,6 +293,12 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UonSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -257,18 +311,36 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -281,6 +353,12 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -311,6 +389,12 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -323,6 +407,12 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -341,18 +431,36 @@ public class UonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
index c1d1025..d89c2d8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
@@ -126,14 +126,14 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* ParserBuilder */
-	public UrlEncodingParserBuilder strict() {
-		super.strict();
+	public UrlEncodingParserBuilder strict(boolean value) {
+		super.strict(value);
 		return this;
 	}
 
 	@Override /* ParserBuilder */
-	public UrlEncodingParserBuilder strict(boolean value) {
-		super.strict(value);
+	public UrlEncodingParserBuilder strict() {
+		super.strict();
 		return this;
 	}
 
@@ -143,6 +143,12 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
 		return this;
 	}
 
+	@Override /* ParserBuilder */
+	public UrlEncodingParserBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
 	@Override /* BeanContextBuilder */
 	public UrlEncodingParserBuilder beansRequireDefaultConstructor(boolean value) {
 		super.beansRequireDefaultConstructor(value);
@@ -150,18 +156,36 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingParserBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingParserBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingParserBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingParserBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingParserBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingParserBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -174,6 +198,12 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingParserBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingParserBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -204,6 +234,12 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingParserBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingParserBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -216,6 +252,12 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingParserBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -234,18 +276,36 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingParserBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingParserBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingParserBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingParserBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingParserBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
index e606c9a..cabb5b6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
@@ -129,6 +129,7 @@ public class UrlEncodingSerializer extends UonSerializer {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link UrlEncodingSerializerBuilder#expandedParams(boolean)}
+	 * 			<li class='jm'>{@link UrlEncodingSerializerBuilder#expandedParams()}
 	 * 		</ul>
 	 * </ul>
 	 *

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
index 6bcb712..0501ed3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
@@ -59,46 +59,35 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	 * If <jk>false</jk>, serializing the array <code>[1,2,3]</code> results in <code>?key=$a(1,2,3)</code>.
 	 * If <jk>true</jk>, serializing the same array results in <code>?key=1&amp;key=2&amp;key=3</code>.
 	 *
-	 * <h5 class='section'>Example:</h5>
-	 * <p class='bcode'>
-	 * 	<jk>public class</jk> A {
-	 * 		<jk>public</jk> String[] f1 = {<js>"a"</js>,<js>"b"</js>};
-	 * 		<jk>public</jk> List&lt;String&gt; f2 = <jk>new</jk> LinkedList&lt;String&gt;(Arrays.<jsm>asList</jsm>(<jk>new</jk> String[]{<js>"c"</js>,<js>"d"</js>}));
-	 * 	}
-	 *
-	 * 	UrlEncodingSerializer s1 = UrlEncodingSerializer.<jsf>DEFAULT</jsf>;
-	 * 	UrlEncodingSerializer s2 = <jk>new</jk> UrlEncodingSerializerBuilder().expandedParams(<jk>true</jk>).build();
-	 *
-	 * 	String ss1 = s1.serialize(<jk>new</jk> A()); <jc>// Produces "f1=(a,b)&amp;f2=(c,d)"</jc>
-	 * 	String ss2 = s2.serialize(<jk>new</jk> A()); <jc>// Produces "f1=a&amp;f1=b&amp;f2=c&amp;f2=d"</jc>
-	 * </p>
-	 *
-	 * <p>
-	 * This option only applies to beans.
-	 *
-	 * <h5 class='section'>Notes:</h5>
+	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
-	 * 	<li>If parsing multi-part parameters, it's highly recommended to use Collections or Lists
-	 * 		as bean property types instead of arrays since arrays have to be recreated from scratch every time a value
-	 * 		is added to it.
+	 * 	<li class='jf'>{@link UrlEncodingSerializer#URLENC_expandedParams}
 	 * </ul>
+	 * 
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default value is <jk>false</jk>.
+	 * @return This object (for method chaining).
+	 */
+	public UrlEncodingSerializerBuilder expandedParams(boolean value) {
+		return set(URLENC_expandedParams, value);
+	}
+
+	/**
+	 * Configuration property:  Serialize bean property collections/arrays as separate key/value pairs.
 	 *
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This is equivalent to calling <code>property(<jsf>URLENC_expandedParams</jsf>, value)</code>.
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
+	 * <p>
+	 * Shortcut for calling <code>expandedParams(<jk>true</jk>)</code>.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link UrlEncodingSerializer#URLENC_expandedParams}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
 	 * @return This object (for method chaining).
 	 */
-	public UrlEncodingSerializerBuilder expandedParams(boolean value) {
-		return set(URLENC_expandedParams, value);
+	public UrlEncodingSerializerBuilder expandedParams() {
+		return set(URLENC_expandedParams, true);
 	}
 
 	@Override /* UonSerializerBuilder */
@@ -132,6 +121,12 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UrlEncodingSerializerBuilder abridged() {
+		super.abridged();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UrlEncodingSerializerBuilder addBeanTypeProperties(boolean value) {
 		super.addBeanTypeProperties(value);
 		return this;
@@ -144,12 +139,23 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UrlEncodingSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UrlEncodingSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public UrlEncodingSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public UrlEncodingSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -186,12 +192,24 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UrlEncodingSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UrlEncodingSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public UrlEncodingSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UrlEncodingSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -204,12 +222,24 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UrlEncodingSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UrlEncodingSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public UrlEncodingSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UrlEncodingSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -222,6 +252,12 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UrlEncodingSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UrlEncodingSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -246,6 +282,12 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UrlEncodingSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UrlEncodingSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -258,18 +300,36 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -282,6 +342,12 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -312,6 +378,12 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -324,6 +396,12 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -342,18 +420,36 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UrlEncodingSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UrlEncodingSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;
@@ -547,6 +643,7 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 
 	@Override /* ContextBuilder */
 	public UrlEncodingSerializerBuilder addTo(String name, String key, Object value) {
+		super.addTo(name, key, value);
 		return this;
 	}
 

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParser.java
index 703b1d2..96a3f8b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParser.java
@@ -70,6 +70,7 @@ public class XmlParser extends ReaderParser {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link XmlParserBuilder#preserveRootElement(boolean)}
+	 * 			<li class='jm'>{@link XmlParserBuilder#preserveRootElement()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -153,12 +154,15 @@ public class XmlParser extends ReaderParser {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link XmlParserBuilder#validating(boolean)}
+	 * 			<li class='jm'>{@link XmlParserBuilder#validating()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 *	<h5 class='section'>Description:</h5>
 	 * <p>
 	 * If <jk>true</jk>, XML document will be validated.
+	 * 
+	 * <p>
 	 * See {@link XMLInputFactory#IS_VALIDATING} for more info.
 	 */
 	public static final String XML_validating = PREFIX + "validating.b";

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
index 00f8ee4..1858b88 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
@@ -60,10 +60,6 @@ public class XmlParserBuilder extends ParserBuilder {
 	 * <p>
 	 * Associates an {@link XMLEventAllocator} with this parser.
 	 *
-	 * <p>
-	 * If <jk>true</jk>, string values will be trimmed of whitespace using {@link String#trim()} before being added to
-	 * the POJO.
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link XmlParser#XML_eventAllocator}
@@ -83,26 +79,14 @@ public class XmlParserBuilder extends ParserBuilder {
 	 * If <jk>true</jk>, when parsing into a generic {@link ObjectMap}, the map will contain a single entry whose key is
 	 * the root element name.
 	 *
-	 * Example:
-	 * <table class='styled'>
-	 * 	<tr>
-	 * 		<td>XML</td>
-	 * 		<td>ObjectMap.toString(), preserveRootElement==false</td>
-	 * 		<td>ObjectMap.toString(), preserveRootElement==true</td>
-	 * 	</tr>
-	 * 	<tr>
-	 * 		<td><code><xt>&lt;root&gt;&lt;a&gt;</xt>foobar<xt>&lt;/a&gt;&lt;/root&gt;</xt></code></td>
-	 * 		<td><code>{ a:<js>'foobar'</js> }</code></td>
-	 * 		<td><code>{ root: { a:<js>'foobar'</js> }}</code></td>
-	 * 	</tr>
-	 * </table>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link XmlParser#XML_preserveRootElement}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public XmlParserBuilder preserveRootElement(boolean value) {
@@ -110,19 +94,27 @@ public class XmlParserBuilder extends ParserBuilder {
 	}
 
 	/**
-	 * Configuration property:  XML reporter.
+	 * Configuration property:  Preserve root element during generalized parsing.
 	 *
 	 * <p>
-	 * Associates an {@link XMLReporter} with this parser.
+	 * Shortcut for calling <code>preserveRootElement(<jk>true</jk>)</code>.
 	 *
-	 * <h5 class='section'>Notes:</h5>
+	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
-	 * 	<li>Reporters are not copied to new parsers during a clone.
+	 * 	<li class='jf'>{@link XmlParser#XML_preserveRootElement}
 	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public XmlParserBuilder preserveRootElement() {
+		return set(XML_preserveRootElement, true);
+	}
+
+	/**
+	 * Configuration property:  XML reporter.
 	 *
 	 * <p>
-	 * If <jk>true</jk>, string values will be trimmed of whitespace using {@link String#trim()} before being added to
-	 * the POJO.
+	 * Associates an {@link XMLReporter} with this parser.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
@@ -142,10 +134,6 @@ public class XmlParserBuilder extends ParserBuilder {
 	 * <p>
 	 * Associates an {@link XMLResolver} with this parser.
 	 *
-	 * <p>
-	 * If <jk>true</jk>, string values will be trimmed of whitespace using {@link String#trim()} before being added to
-	 * the POJO.
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link XmlParser#XML_resolver}
@@ -163,24 +151,38 @@ public class XmlParserBuilder extends ParserBuilder {
 	 *
 	 * <p>
 	 * If <jk>true</jk>, XML document will be validated.
-	 * See {@link XMLInputFactory#IS_VALIDATING} for more info.
-	 *
-	 * <p>
-	 * If <jk>true</jk>, string values will be trimmed of whitespace using {@link String#trim()} before being added to
-	 * the POJO.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link XmlParser#XML_validating}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public XmlParserBuilder validating(boolean value) {
 		return set(XML_validating, value);
 	}
 
+	/**
+	 * Configuration property:  Enable validation.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>validating(<jk>true</jk>)</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link XmlParser#XML_validating}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public XmlParserBuilder validating() {
+		return set(XML_validating, true);
+	}
+
 	@Override /* ParserBuilder */
 	public XmlParserBuilder fileCharset(String value) {
 		super.fileCharset(value);
@@ -200,14 +202,14 @@ public class XmlParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* ParserBuilder */
-	public XmlParserBuilder strict() {
-		super.strict();
+	public XmlParserBuilder strict(boolean value) {
+		super.strict(value);
 		return this;
 	}
 
 	@Override /* ParserBuilder */
-	public XmlParserBuilder strict(boolean value) {
-		super.strict(value);
+	public XmlParserBuilder strict() {
+		super.strict();
 		return this;
 	}
 
@@ -217,6 +219,12 @@ public class XmlParserBuilder extends ParserBuilder {
 		return this;
 	}
 
+	@Override /* ParserBuilder */
+	public XmlParserBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
 	@Override /* BeanContextBuilder */
 	public XmlParserBuilder beansRequireDefaultConstructor(boolean value) {
 		super.beansRequireDefaultConstructor(value);
@@ -224,18 +232,36 @@ public class XmlParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlParserBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlParserBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlParserBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlParserBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlParserBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlParserBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -248,6 +274,12 @@ public class XmlParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlParserBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlParserBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -278,6 +310,12 @@ public class XmlParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlParserBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlParserBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -290,6 +328,12 @@ public class XmlParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlParserBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -308,18 +352,36 @@ public class XmlParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlParserBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlParserBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlParserBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlParserBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlParserBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;


[2/7] juneau git commit: Javadoc updates

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSchemaSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSchemaSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSchemaSerializerBuilder.java
index a225d2a..147e8aa 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSchemaSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSchemaSerializerBuilder.java
@@ -56,6 +56,12 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* XmlSerializerBuilder */
+	public XmlSchemaSerializerBuilder addNamespaceUrisToRoot() {
+		super.addNamespaceUrisToRoot();
+		return this;
+	}
+
+	@Override /* XmlSerializerBuilder */
 	public XmlSchemaSerializerBuilder autoDetectNamespaces(boolean value) {
 		super.autoDetectNamespaces(value);
 		return this;
@@ -92,6 +98,12 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSchemaSerializerBuilder abridged() {
+		super.abridged();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSchemaSerializerBuilder addBeanTypeProperties(boolean value) {
 		super.addBeanTypeProperties(value);
 		return this;
@@ -104,12 +116,23 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSchemaSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSchemaSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSchemaSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public XmlSchemaSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -146,12 +169,24 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSchemaSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSchemaSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSchemaSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSchemaSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -164,12 +199,24 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSchemaSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSchemaSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSchemaSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSchemaSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -182,6 +229,12 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSchemaSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSchemaSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -206,6 +259,12 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSchemaSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSchemaSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -218,18 +277,36 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSchemaSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSchemaSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSchemaSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSchemaSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSchemaSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSchemaSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -242,6 +319,12 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSchemaSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSchemaSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -272,6 +355,12 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSchemaSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSchemaSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -284,6 +373,12 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSchemaSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSchemaSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -302,18 +397,36 @@ public class XmlSchemaSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSchemaSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSchemaSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSchemaSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSchemaSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSchemaSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSchemaSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java
index 3619ad0..ea9a891 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java
@@ -158,6 +158,7 @@ public class XmlSerializer extends WriterSerializer {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link XmlSerializerBuilder#addNamespaceUrisToRoot(boolean)}
+	 * 			<li class='jm'>{@link XmlSerializerBuilder#addNamespaceUrisToRoot()}
 	 * 		</ul>
 	 * </ul>
 	 *

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
index 5397ae7..a026209 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
@@ -57,20 +57,14 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	 * <p>
 	 * Use this setting to add {@code xmlns:x} attributes to the root element for the default and all mapped namespaces.
 	 *
-	 * <p>
-	 * This setting is ignored if {@link XmlSerializer#XML_enableNamespaces} is not enabled.
-	 *
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link XmlSerializer#XML_addNamespaceUrisToRoot}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public XmlSerializerBuilder addNamespaceUrisToRoot(boolean value) {
@@ -78,40 +72,36 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	}
 
 	/**
-	 * Configuration property:  Auto-detect namespace usage.
-	 *
-	 * <p>
-	 * Detect namespace usage before serialization.
-	 *
-	 * <p>
-	 * Used in conjunction with {@link XmlSerializer#XML_addNamespaceUrisToRoot} to reduce the list of namespace
-	 * URLs appended to the root element to only those that will be used in the resulting document.
-	 *
-	 * <p>
-	 * If enabled, then the data structure will first be crawled looking for namespaces that will be encountered before
-	 * the root element is serialized.
+	 * Configuration property:  Add namespace URLs to the root element.
 	 *
 	 * <p>
-	 * This setting is ignored if {@link XmlSerializer#XML_enableNamespaces} is not enabled.
+	 * Shortcut for calling <code>addNamespaceUrisToRoot(<jk>true</jk>)</code>.
 	 *
-	 * <h5 class='section'>Notes:</h5>
+	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
-	 * 	<li>Auto-detection of namespaces can be costly performance-wise.
-	 * 		In high-performance environments, it's recommended that namespace detection be disabled, and that
-	 * 		namespaces be manually defined through the {@link XmlSerializer#XML_namespaces} property.
+	 * 	<li class='jf'>{@link XmlSerializer#XML_addNamespaceUrisToRoot}
 	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public XmlSerializerBuilder addNamespaceUrisToRoot() {
+		return set(XML_addNamespaceUrisToRoot, true);
+	}
+
+	/**
+	 * Configuration property:  Auto-detect namespace usage.
 	 *
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
+	 * <p>
+	 * Detect namespace usage before serialization.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link XmlSerializer#XML_autoDetectNamespaces}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public XmlSerializerBuilder autoDetectNamespaces(boolean value) {
@@ -124,17 +114,14 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	 * <p>
 	 * Specifies the default namespace URI for this document.
 	 *
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link XmlSerializer#XML_defaultNamespace}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <js>"juneau: http://www.apache.org/2013/Juneau"</js>.
 	 * @return This object (for method chaining).
 	 */
 	public XmlSerializerBuilder defaultNamespace(String value) {
@@ -147,17 +134,14 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	 * <p>
 	 * If not enabled, XML output will not contain any namespaces regardless of any other settings.
 	 *
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link XmlSerializer#XML_enableNamespaces}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public XmlSerializerBuilder enableNamespaces(boolean value) {
@@ -165,40 +149,55 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	}
 
 	/**
-	 * Configuration property:  Default namespaces.
+	 * Configuration property:  Enable support for XML namespaces.
 	 *
 	 * <p>
-	 * The default list of namespaces associated with this serializer.
+	 * Shortcut for calling <code>enableNamespaces(<jk>true</jk>)</code>.
 	 *
-	 * <h5 class='section'>Notes:</h5>
+	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
+	 * 	<li class='jf'>{@link XmlSerializer#XML_enableNamespaces}
 	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public XmlSerializerBuilder enableNamespaces() {
+		return set(XML_enableNamespaces, true);
+	}
+
+	/**
+	 * Configuration property:  Enable support for XML namespaces.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>enableNamespaces(<jk>true</jk>)</code>.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
-	 * 	<li class='jf'>{@link XmlSerializer#XML_namespaces}
+	 * 	<li class='jf'>{@link XmlSerializer#XML_enableNamespaces}
 	 * </ul>
 	 * 
-	 * @param values The new value for this property.
 	 * @return This object (for method chaining).
 	 */
-	public XmlSerializerBuilder namespaces(Namespace...values) {
-		return set(XML_namespaces, values);
+	public XmlSerializerBuilder ns() {
+		return set(XML_enableNamespaces, true);
 	}
 
 	/**
-	 * Shortcut for calling <code>setEnableNamespaces(<jk>true</jk>)</code>.
+	 * Configuration property:  Default namespaces.
+	 *
+	 * <p>
+	 * The default list of namespaces associated with this serializer.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
-	 * 	<li class='jf'>{@link XmlSerializer#XML_enableNamespaces}
+	 * 	<li class='jf'>{@link XmlSerializer#XML_namespaces}
 	 * </ul>
 	 * 
+	 * @param values The new value for this property.
 	 * @return This object (for method chaining).
 	 */
-	public XmlSerializerBuilder ns() {
-		return enableNamespaces(true);
+	public XmlSerializerBuilder namespaces(Namespace...values) {
+		return set(XML_namespaces, values);
 	}
 
 	/**
@@ -208,17 +207,14 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	 * Specifies the namespace for the <code>XMLSchema</code> namespace, used by the schema generated by the
 	 * {@link XmlSchemaSerializer} class.
 	 *
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link XmlSerializer#XML_xsNamespace}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <js>"xs: http://www.w3.org/2001/XMLSchema"</js>.
 	 * @return This object (for method chaining).
 	 */
 	public XmlSerializerBuilder xsNamespace(Namespace value) {
@@ -232,6 +228,12 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSerializerBuilder abridged() {
+		super.abridged();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSerializerBuilder addBeanTypeProperties(boolean value) {
 		super.addBeanTypeProperties(value);
 		return this;
@@ -244,12 +246,23 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public XmlSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -286,12 +299,24 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -304,12 +329,24 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -322,6 +359,12 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -346,6 +389,12 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public XmlSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public XmlSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -358,18 +407,36 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -382,6 +449,12 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -412,6 +485,12 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -424,6 +503,12 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -442,18 +527,36 @@ public class XmlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public XmlSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public XmlSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/yaml/proto/YamlParserBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/yaml/proto/YamlParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/yaml/proto/YamlParserBuilder.java
index e83f2e2..dcf12a0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/yaml/proto/YamlParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/yaml/proto/YamlParserBuilder.java
@@ -68,14 +68,14 @@ public class YamlParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* ParserBuilder */
-	public YamlParserBuilder strict() {
-		super.strict();
+	public YamlParserBuilder strict(boolean value) {
+		super.strict(value);
 		return this;
 	}
 
 	@Override /* ParserBuilder */
-	public YamlParserBuilder strict(boolean value) {
-		super.strict(value);
+	public YamlParserBuilder strict() {
+		super.strict();
 		return this;
 	}
 
@@ -85,6 +85,12 @@ public class YamlParserBuilder extends ParserBuilder {
 		return this;
 	}
 
+	@Override /* ParserBuilder */
+	public YamlParserBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
 	@Override /* BeanContextBuilder */
 	public YamlParserBuilder beansRequireDefaultConstructor(boolean value) {
 		super.beansRequireDefaultConstructor(value);
@@ -92,18 +98,36 @@ public class YamlParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlParserBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlParserBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlParserBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlParserBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlParserBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlParserBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -116,6 +140,12 @@ public class YamlParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlParserBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlParserBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -146,6 +176,12 @@ public class YamlParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlParserBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlParserBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -158,6 +194,12 @@ public class YamlParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlParserBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -176,18 +218,36 @@ public class YamlParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlParserBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlParserBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlParserBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlParserBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlParserBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/yaml/proto/YamlSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/yaml/proto/YamlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/yaml/proto/YamlSerializerBuilder.java
index ae9c45f..7f27569 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/yaml/proto/YamlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/yaml/proto/YamlSerializerBuilder.java
@@ -73,36 +73,36 @@ public class YamlSerializerBuilder extends SerializerBuilder {
 	}
 
 	/**
-	 * Shortcut for calling <code>setSimpleMode(<jk>true</jk>).sq()</code>.
+	 * Configuration property:  Simple JSON mode.
+	 *
+	 * <p>
+	 * If <jk>true</jk>, JSON attribute names will only be quoted when necessary.
+	 * Otherwise, they are always quoted.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link YamlSerializer#YAML_simpleMode}
 	 * </ul>
 	 * 
+	 * @param value The new value for this property.
 	 * @return This object (for method chaining).
 	 */
-	public YamlSerializerBuilder simple() {
-		return simple(true).sq();
+	public YamlSerializerBuilder simple(boolean value) {
+		return set(YAML_simpleMode, value);
 	}
 
 	/**
-	 * Configuration property:  Simple JSON mode.
-	 *
-	 * <p>
-	 * If <jk>true</jk>, JSON attribute names will only be quoted when necessary.
-	 * Otherwise, they are always quoted.
+	 * Shortcut for calling <code>setSimpleMode(<jk>true</jk>).sq()</code>.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link YamlSerializer#YAML_simpleMode}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
 	 * @return This object (for method chaining).
 	 */
-	public YamlSerializerBuilder simple(boolean value) {
-		return set(YAML_simpleMode, value);
+	public YamlSerializerBuilder simple() {
+		return simple(true).sq();
 	}
 
 	@Override /* SerializerBuilder */
@@ -112,6 +112,12 @@ public class YamlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public YamlSerializerBuilder abridged() {
+		super.abridged();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public YamlSerializerBuilder addBeanTypeProperties(boolean value) {
 		super.addBeanTypeProperties(value);
 		return this;
@@ -124,12 +130,23 @@ public class YamlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public YamlSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public YamlSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public YamlSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public YamlSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -166,12 +183,24 @@ public class YamlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public YamlSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public YamlSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public YamlSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public YamlSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -184,12 +213,24 @@ public class YamlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public YamlSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public YamlSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public YamlSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public YamlSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -202,6 +243,12 @@ public class YamlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public YamlSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public YamlSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -226,6 +273,12 @@ public class YamlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public YamlSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public YamlSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -238,18 +291,36 @@ public class YamlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -262,6 +333,12 @@ public class YamlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -292,6 +369,12 @@ public class YamlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -304,6 +387,12 @@ public class YamlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -322,18 +411,36 @@ public class YamlSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public YamlSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public YamlSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-doc/src/main/javadoc/overview.html
----------------------------------------------------------------------
diff --git a/juneau-doc/src/main/javadoc/overview.html b/juneau-doc/src/main/javadoc/overview.html
index 0524a9d..0c9d628 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -2567,9 +2567,9 @@
 			<p>
 				While parsing into beans, Juneau attempts to determine the class types of bean properties through 
 				reflection on the bean property getter or setter.
-				Often this is insufficient if the property type is an interface or abstract class that cannot be 
+				<br>Often this is insufficient if the property type is an interface or abstract class that cannot be 
 				instantiated.
-				This is where bean names and dictionaries come into play.
+				<br>This is where bean names and dictionaries come into play.
 			</p>
 			<p>
 				Bean names and dictionaries are used for identifying class types when they cannot be inferred through 
@@ -2578,7 +2578,7 @@
 			<p>
 				Bean classes are given names through the {@link org.apache.juneau.annotation.Bean#typeName() @Bean.typeName()} 
 				annotation.
-				These names are then added to the serialized output as virtual <js>"_type"</js> properties (or element 
+				<br>These names are then added to the serialized output as virtual <js>"_type"</js> properties (or element 
 				names in XML).
 			</p>
 			<p>
@@ -2594,7 +2594,7 @@
  		<jc>// A bean property where the object types cannot be inferred since it's an Object[].</jc>
  		<ja>@BeanProperty</ja>(beanDictionary={Bar.<jk>class</jk>,Baz.<jk>class</jk>})
  		<jk>public</jk> Object[] x = <jk>new</jk> Object[]{<jk>new</jk> Bar(), <jk>new</jk> Baz()};
- 		}
+ 	}
  		
  	<ja>@Bean</ja>(typeName=<js>"bar"</js>)
  	<jk>public class</jk> Bar {}
@@ -2602,6 +2602,15 @@
  	<ja>@Bean</ja>(typeName=<js>"baz"</js>)
  	<jk>public class</jk> Baz {}
 	 		</p>
+	 		
+	 		<p class='bcode'>
+	 WriterSerializer s = JsonSerializer
+	 	.create()
+	 	.addBeanTypeProperties()
+	 			
+	 		
+	 		
+	 		</p>
 	 		<p>
 	 			When serialized as JSON, <js>"_type"</js> attributes would be added when needed to infer the type during 
 	 			parsing:
@@ -2616,8 +2625,8 @@
 	 		</p>
 	 		<p>
 	 			Type names can be represented slightly differently in different languages.
-	 			For example, the dictionary name is used as element names when serialized to XML.
-	 			This allows the <code>typeName</code> annotation to be used as a shortcut for defining element names for 
+	 			<br>For example, the dictionary name is used as element names when serialized to XML.
+	 			<br>This allows the <code>typeName</code> annotation to be used as a shortcut for defining element names for 
 	 			beans.
 	 		</p>
 			<p>
@@ -2632,15 +2641,77 @@
 	<xt>&lt;/foo&gt;</xt>
 			</p>
 			<p>
-				Bean dictionaries are defined at two levels:
+				Bean dictionaries are registered through the following:
 			</p>
 			<ul>
-				<li>On individual bean properties through the 
-					{@link org.apache.juneau.annotation.BeanProperty#beanDictionary() @BeanProperty.beanDictionary()} 
-					annotation.
-				<li>Globally for a parser using the {@link org.apache.juneau.parser.ParserBuilder#beanDictionary(Object...)} 
-					method.
+				<li class='ja'>{@link org.apache.juneau.annotation.BeanProperty#beanDictionary() @BeanProperty.beanDictionary()} 
+					- On individual bean properties through the annotation.
+				<li class='ja'>{@link org.apache.juneau.annotation.Bean#beanDictionary() @Bean.beanDictionary()} 
+					- On all properties on a bean and all subclasses.
+				<li class='jf'>{@link org.apache.juneau.BeanContext#BEAN_beanDictionary} 
+					- Configuration property on serializers and parsers.
+				<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#beanDictionary(Object...)}
+					- Builder method on serializers and parsers.
+			</ul>
+			<p>
+				The bean dictionary setting can consist of any of the following types:
+			</p>
+			<ul>
+				<li>Any bean class that specifies a value for {@link org.apache.juneau.annotation.Bean#typeName() @Bean.typeName()}.
+				<li>Any subclass of {@link org.apache.juneau.BeanDictionaryList} containing a collection of bean classes with type name annotations.
+				<li>Any subclass of {@link org.apache.juneau.BeanDictionaryMap} containing a mapping of type names to classes without type name annotations.
+				<li>Any array or collection of the objects above.
 			</ul>
+			<p class='bcode'>
+	<jc>// Create a parser and tell it which classes to try to resolve.</jc>
+	ReaderParser p = JsonParser
+		.<jsm>create</jsm>()
+		.beanDictionary(Foo.<jk>class</jk>, Bar.<jk>class</jk>)
+		.build();
+	
+	<jc>// Same, but use property.</jc>
+	ReaderParser p = JsonParser
+		.<jsm>create</jsm>()
+		.addTo(<jsf>BEAN_beanDictionary</jsf>, Foo.<jk>class</jk>)
+		.addTo(<jsf>BEAN_beanDictionary</jsf>, Bar.<jk>class</jk>)
+		.build();
+
+	<jc>// Use the predefined HTML5 bean dictionary which is a BeanDictionaryList.</jc>
+	ReaderParser p = HtmlParser
+		.<jsm>create</jsm>()
+		.beanDictionary(HtmlBeanDictionary.<jk>class</jk>)
+		.build();
+			</p>
+			<p>
+				The <js>"_type"</js> property name can be overridden through the following:
+			</p>
+			<ul>
+				<li class='ja'>{@link org.apache.juneau.annotation.Bean#typePropertyName() @Bean.typePropertyName()} 
+					- On individual beans through the annotation.
+				<li class='jf'>{@link org.apache.juneau.BeanContext#BEAN_beanTypePropertyName} 
+					- Configuration property on serializers and parsers.
+				<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#beanTypePropertyName(String)} 
+					- Builder method on serializers and parsers.
+			</ul>
+			<p>
+				When using the annotation, you'll typically want to define it on an interface class so that it can
+				be inherited by all subclasses.
+			</p>
+			<p class='bcode'>
+	<ja>@Bean</ja>(typePropertyName=<js>"mytype"</js>, beanDictionary={MyClass1.<jk>class</jk>,MyClass2.<jk>class</jk>})
+	<jk>public interface</jk> MyInterface {...}
+
+	<ja>@Bean</ja>(typeName=<js>"C1"</js>)
+	<jk>public class</jk> MyClass1 <jk>implements</jk> MyInterface {...}
+
+	<ja>@Bean</ja>(typeName=<js>"C2"</js>)
+	<jk>public class</jk> MyClass2 <jk>implements</jk> MyInterface {...}
+
+	MyInterface[] x = <jk>new</jk> MyInterface[]{ <jk>new</jk> MyClass1(), <jk>new</jk> MyClass2() };
+
+	<jc>// Produces "[{mytype:'C1',...},{mytype:'C2',...}]"</jc>
+	String json = JsonSerializer.<jsf>DEFAULT_LAX</jsf>.serialize(x);
+			</p>
 			<ul class='doctree'>
 				<li class='info'>
 					Type names do not need to be universally unique.  
@@ -2653,9 +2724,6 @@
 					They must be enabled on the serializer using the 
 					{@link org.apache.juneau.serializer.Serializer#SERIALIZER_addBeanTypeProperties} 
 					configuration property.
-				<li class='info'>
-					The <js>"_type"</js> property name can be overridden using the 
-					{@link org.apache.juneau.BeanContext#BEAN_beanTypePropertyName} configuration property.
 			</ul>
 		
 			<!-- =================================================================================================== -->

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/json/JsonConfigurationExample.java
----------------------------------------------------------------------
diff --git a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/json/JsonConfigurationExample.java b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/json/JsonConfigurationExample.java
index 708bf6d..dd53f7d 100644
--- a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/json/JsonConfigurationExample.java
+++ b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/json/JsonConfigurationExample.java
@@ -40,7 +40,7 @@ public class JsonConfigurationExample {
 		// the output will be padded with spaces after format characters
 		System.out.println(withWhitespace);
 
-		String escaped = JsonSerializer.create().escapeSolidus(true).build().serialize(aPojo);
+		String escaped = JsonSerializer.create().escapeSolidus().build().serialize(aPojo);
 		// the output will have escaped /
 		System.out.println(escaped);
 	}

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-examples/juneau-examples-rest/src/test/java/org/apache/juneau/examples/rest/TestUtils.java
----------------------------------------------------------------------
diff --git a/juneau-examples/juneau-examples-rest/src/test/java/org/apache/juneau/examples/rest/TestUtils.java b/juneau-examples/juneau-examples-rest/src/test/java/org/apache/juneau/examples/rest/TestUtils.java
index e11667c..8720521 100644
--- a/juneau-examples/juneau-examples-rest/src/test/java/org/apache/juneau/examples/rest/TestUtils.java
+++ b/juneau-examples/juneau-examples-rest/src/test/java/org/apache/juneau/examples/rest/TestUtils.java
@@ -47,8 +47,8 @@ public class TestUtils {
 
 	private static JsonSerializer jsSorted = JsonSerializer.create()
 		.simple()
-		.sortCollections(true)
-		.sortMaps(true)
+		.sortCollections()
+		.sortMaps()
 		.trimNullProperties(false)
 		.build();
 
@@ -61,7 +61,7 @@ public class TestUtils {
 	private static JsonSerializer js3 = JsonSerializer.create()
 		.simple()
 		.pojoSwaps(IteratorSwap.class, EnumerationSwap.class)
-		.sortProperties(true)
+		.sortProperties()
 		.build();
 
 	/**
@@ -230,7 +230,7 @@ public class TestUtils {
 	 * Test whitespace and generated schema.
 	 */
 	public static void validateXml(Object o, XmlSerializer s) throws Exception {
-		s = s.builder().ws().ns().addNamespaceUrisToRoot(true).build();
+		s = s.builder().ws().ns().addNamespaceUrisToRoot().build();
 		String xml = s.serialize(o);
 
 		String xmlSchema = null;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/FormDataTest.java
----------------------------------------------------------------------
diff --git a/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/FormDataTest.java b/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/FormDataTest.java
index 95aabdf..de670a9 100644
--- a/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/FormDataTest.java
+++ b/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/FormDataTest.java
@@ -68,7 +68,7 @@ public class FormDataTest extends RestTestcase {
 	//====================================================================================================
 	@Test
 	public void testPlainTextParams() throws Exception {
-		RestClient c = TestMicroservice.client(UrlEncodingSerializer.class, UrlEncodingParser.class).plainTextParts().build();
+		RestClient c = TestMicroservice.client(UrlEncodingSerializer.class, UrlEncodingParser.class).paramFormatPlain().build();
 		try {
 			String r;
 

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/UrlPathPatternTest.java
----------------------------------------------------------------------
diff --git a/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/UrlPathPatternTest.java b/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/UrlPathPatternTest.java
index 5e19738..33c2ede 100644
--- a/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/UrlPathPatternTest.java
+++ b/juneau-microservice/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/UrlPathPatternTest.java
@@ -35,6 +35,6 @@ public class UrlPathPatternTest {
 		l.add(new UrlPathPattern("/foo/{id}/bar/*"));
 
 		Collections.sort(l);
-		assertEquals("[{patternString:'/foo/bar',vars:[]},{patternString:'/foo/bar/*',vars:[]},{patternString:'/foo/{id}/bar',vars:['id']},{patternString:'/foo/{id}/bar/*',vars:['id']},{patternString:'/foo/{id}',vars:['id']},{patternString:'/foo/{id}/*',vars:['id']},{patternString:'/foo',vars:[]},{patternString:'/foo/*',vars:[]}]", JsonSerializer.DEFAULT_LAX.builder().sortProperties(true).build().serialize(l));
+		assertEquals("[{patternString:'/foo/bar',vars:[]},{patternString:'/foo/bar/*',vars:[]},{patternString:'/foo/{id}/bar',vars:['id']},{patternString:'/foo/{id}/bar/*',vars:['id']},{patternString:'/foo/{id}',vars:['id']},{patternString:'/foo/{id}/*',vars:['id']},{patternString:'/foo',vars:[]},{patternString:'/foo/*',vars:[]}]", JsonSerializer.DEFAULT_LAX.builder().sortProperties().build().serialize(l));
 	}
 }

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
----------------------------------------------------------------------
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
index b89a87f..2d62063 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
@@ -174,7 +174,7 @@ public class RestClient extends BeanContext {
 	 * 	<li><b>Default:</b>  empty list.
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
-	 * 			<li class='jm'>{@link RestClientBuilder#interceptor(RestCallInterceptor)}
+	 * 			<li class='jm'>{@link RestClientBuilder#interceptors(RestCallInterceptor...)}
 	 * 		</ul>
 	 * </ul>
 	 * 
@@ -350,8 +350,8 @@ public class RestClient extends BeanContext {
 	 * <p>
 	 * When set, relative URL strings passed in through the various rest call methods (e.g. {@link RestClient#doGet(Object)}
 	 * will be prefixed with the specified root.
-	 * This root URL is ignored on those methods if you pass in a {@link URL}, {@link URI}, or an absolute URL string.
-	 * Trailing slashes are trimmed.
+	 * <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.
 	 */
 	public static final String RESTCLIENT_rootUri = PREFIX + "rootUri.s";
 	


[5/7] juneau git commit: Javadoc updates

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
index e03c620..9a8eeea 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
@@ -67,14 +67,14 @@ public class CsvParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* ParserBuilder */
-	public CsvParserBuilder strict() {
-		super.strict();
+	public CsvParserBuilder strict(boolean value) {
+		super.strict(value);
 		return this;
 	}
 
 	@Override /* ParserBuilder */
-	public CsvParserBuilder strict(boolean value) {
-		super.strict(value);
+	public CsvParserBuilder strict() {
+		super.strict();
 		return this;
 	}
 
@@ -84,6 +84,12 @@ public class CsvParserBuilder extends ParserBuilder {
 		return this;
 	}
 
+	@Override /* ParserBuilder */
+	public CsvParserBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
 	@Override /* BeanContextBuilder */
 	public CsvParserBuilder beansRequireDefaultConstructor(boolean value) {
 		super.beansRequireDefaultConstructor(value);
@@ -91,18 +97,36 @@ public class CsvParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvParserBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvParserBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvParserBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvParserBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvParserBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvParserBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -115,6 +139,12 @@ public class CsvParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvParserBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvParserBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -145,6 +175,12 @@ public class CsvParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvParserBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvParserBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -157,6 +193,12 @@ public class CsvParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvParserBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -175,18 +217,36 @@ public class CsvParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvParserBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvParserBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvParserBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvParserBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvParserBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
index 266bb04..b1b3984 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
@@ -56,6 +56,12 @@ public class CsvSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public CsvSerializerBuilder abridged() {
+		super.abridged();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public CsvSerializerBuilder addBeanTypeProperties(boolean value) {
 		super.addBeanTypeProperties(value);
 		return this;
@@ -68,12 +74,23 @@ public class CsvSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public CsvSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public CsvSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public CsvSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public CsvSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -110,12 +127,24 @@ public class CsvSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public CsvSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public CsvSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public CsvSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public CsvSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -128,12 +157,24 @@ public class CsvSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public CsvSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public CsvSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public CsvSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public CsvSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -146,6 +187,12 @@ public class CsvSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public CsvSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public CsvSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -170,6 +217,12 @@ public class CsvSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public CsvSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public CsvSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -182,18 +235,36 @@ public class CsvSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -206,6 +277,12 @@ public class CsvSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -236,6 +313,12 @@ public class CsvSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -248,6 +331,12 @@ public class CsvSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -266,18 +355,36 @@ public class CsvSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public CsvSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public CsvSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
index 2a1154d..6966fa4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
@@ -60,6 +60,12 @@ public class HtmlParserBuilder extends XmlParserBuilder {
 	}
 
 	@Override /* XmlParserBuilder */
+	public HtmlParserBuilder validating() {
+		super.validating();
+		return this;
+	}
+
+	@Override /* XmlParserBuilder */
 	public HtmlParserBuilder reporter(XMLReporter value) {
 		super.reporter(value);
 		return this;
@@ -96,14 +102,14 @@ public class HtmlParserBuilder extends XmlParserBuilder {
 	}
 
 	@Override /* ParserBuilder */
-	public HtmlParserBuilder strict() {
-		super.strict();
+	public HtmlParserBuilder strict(boolean value) {
+		super.strict(value);
 		return this;
 	}
 
 	@Override /* ParserBuilder */
-	public HtmlParserBuilder strict(boolean value) {
-		super.strict(value);
+	public HtmlParserBuilder strict() {
+		super.strict();
 		return this;
 	}
 
@@ -113,6 +119,12 @@ public class HtmlParserBuilder extends XmlParserBuilder {
 		return this;
 	}
 
+	@Override /* ParserBuilder */
+	public HtmlParserBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
 	@Override /* BeanContextBuilder */
 	public HtmlParserBuilder beansRequireDefaultConstructor(boolean value) {
 		super.beansRequireDefaultConstructor(value);
@@ -120,18 +132,36 @@ public class HtmlParserBuilder extends XmlParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlParserBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlParserBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlParserBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlParserBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlParserBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlParserBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -144,6 +174,12 @@ public class HtmlParserBuilder extends XmlParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlParserBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlParserBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -174,6 +210,12 @@ public class HtmlParserBuilder extends XmlParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlParserBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlParserBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -186,6 +228,12 @@ public class HtmlParserBuilder extends XmlParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlParserBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -204,18 +252,36 @@ public class HtmlParserBuilder extends XmlParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlParserBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlParserBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlParserBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlParserBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlParserBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
index 7b58514..0246366 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
@@ -176,6 +176,7 @@ public class HtmlSerializer extends XmlSerializer {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link HtmlSerializerBuilder#addKeyValueTableHeaders(boolean)}
+	 * 			<li class='jm'>{@link HtmlSerializerBuilder#addKeyValueTableHeaders()}
 	 * 		</ul>
 	 * </ul>
 	 */

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
index ffa8b7f..0b2ef60 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
@@ -55,21 +55,35 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	/**
 	 * Configuration property:  Add key/value headers on bean/map tables.
 	 *
-	 * <h5 class='section'>Notes:</h5>
+	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
+	 * 	<li class='jf'>{@link HtmlSerializer#HTML_addKeyValueTableHeaders}
 	 * </ul>
+	 * 
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
+	 * @return This object (for method chaining).
+	 */
+	public HtmlSerializerBuilder addKeyValueTableHeaders(boolean value) {
+		return set(HTML_addKeyValueTableHeaders, value);
+	}
+
+	/**
+	 * Configuration property:  Add key/value headers on bean/map tables.
+	 * 
+	 * <p>
+	 * Shortcut for calling <code>addKeyValueTableHeaders(<jk>true</jk>)</code>.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link HtmlSerializer#HTML_addKeyValueTableHeaders}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
 	 * @return This object (for method chaining).
 	 */
-	public HtmlSerializerBuilder addKeyValueTableHeaders(boolean value) {
-		return set(HTML_addKeyValueTableHeaders, value);
+	public HtmlSerializerBuilder addKeyValueTableHeaders() {
+		return set(HTML_addKeyValueTableHeaders, true);
 	}
 
 	/**
@@ -79,17 +93,15 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	 * If a string looks like a URL (e.g. starts with <js>"http://"</js> or <js>"https://"</js>, then treat it like a URL
 	 * and make it into a hyperlink based on the rules specified by {@link HtmlSerializer#HTML_uriAnchorText}.
 	 *
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link HtmlSerializer#HTML_detectLinksInStrings}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public HtmlSerializerBuilder detectLinksInStrings(boolean value) {
@@ -99,17 +111,14 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	/**
 	 * Configuration property:  The parameter name to use when using {@link HtmlSerializer#HTML_lookForLabelParameters}.
 	 *
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link HtmlSerializer#HTML_labelParameter}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <js>"label"</js>.
 	 * @return This object (for method chaining).
 	 */
 	public HtmlSerializerBuilder labelParameter(String value) {
@@ -122,20 +131,14 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	 * <p>
 	 * If the URL has a label parameter (e.g. <js>"?label=foobar"</js>), then use that as the anchor text of the link.
 	 *
-	 * <p>
-	 * The parameter name can be changed via the {@link HtmlSerializer#HTML_labelParameter} property.
-	 *
-	 * <h5 class='section'>Notes:</h5>
-	 * <ul>
-	 * 	<li>This introduces a slight performance penalty.
-	 * </ul>
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link HtmlSerializer#HTML_lookForLabelParameters}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>true</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public HtmlSerializerBuilder lookForLabelParameters(boolean value) {
@@ -149,15 +152,14 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	 * When creating anchor tags (e.g. <code><xt>&lt;a</xt> <xa>href</xa>=<xs>'...'</xs><xt>&gt;</xt>text<xt>&lt;/a&gt;</xt></code>)
 	 * in HTML, this setting defines what to set the inner text to.
 	 *
-	 * <p>
-	 * See the {@link AnchorText} enum for possible values.
-	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link HtmlSerializer#HTML_uriAnchorText}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is {@link AnchorText#TO_STRING}.
 	 * @return This object (for method chaining).
 	 */
 	public HtmlSerializerBuilder uriAnchorText(AnchorText value) {
@@ -171,6 +173,12 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* XmlSerializerBuilder */
+	public HtmlSerializerBuilder addNamespaceUrisToRoot() {
+		super.addNamespaceUrisToRoot();
+		return this;
+	}
+
+	@Override /* XmlSerializerBuilder */
 	public HtmlSerializerBuilder autoDetectNamespaces(boolean value) {
 		super.autoDetectNamespaces(value);
 		return this;
@@ -207,6 +215,12 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public HtmlSerializerBuilder abridged() {
+		super.abridged();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public HtmlSerializerBuilder addBeanTypeProperties(boolean value) {
 		super.addBeanTypeProperties(value);
 		return this;
@@ -219,12 +233,23 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public HtmlSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public HtmlSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public HtmlSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public HtmlSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -261,12 +286,24 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public HtmlSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public HtmlSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public HtmlSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public HtmlSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -279,12 +316,24 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public HtmlSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public HtmlSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public HtmlSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public HtmlSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -297,6 +346,12 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public HtmlSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public HtmlSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -321,6 +376,12 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public HtmlSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public HtmlSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -333,18 +394,36 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -357,6 +436,12 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -387,6 +472,12 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -399,6 +490,12 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -417,18 +514,36 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public HtmlSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public HtmlSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/SimpleUonPartSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/SimpleUonPartSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/SimpleUonPartSerializerBuilder.java
index 35eb69b..8039c5a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/SimpleUonPartSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/SimpleUonPartSerializerBuilder.java
@@ -81,6 +81,12 @@ public class SimpleUonPartSerializerBuilder extends UonPartSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public SimpleUonPartSerializerBuilder abridged() {
+		super.abridged();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SimpleUonPartSerializerBuilder addBeanTypeProperties(boolean value) {
 		super.addBeanTypeProperties(value);
 		return this;
@@ -93,12 +99,23 @@ public class SimpleUonPartSerializerBuilder extends UonPartSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public SimpleUonPartSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SimpleUonPartSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public SimpleUonPartSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public SimpleUonPartSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -135,12 +152,24 @@ public class SimpleUonPartSerializerBuilder extends UonPartSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public SimpleUonPartSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SimpleUonPartSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public SimpleUonPartSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SimpleUonPartSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -153,12 +182,24 @@ public class SimpleUonPartSerializerBuilder extends UonPartSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public SimpleUonPartSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SimpleUonPartSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public SimpleUonPartSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SimpleUonPartSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -171,6 +212,12 @@ public class SimpleUonPartSerializerBuilder extends UonPartSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public SimpleUonPartSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SimpleUonPartSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -195,6 +242,12 @@ public class SimpleUonPartSerializerBuilder extends UonPartSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public SimpleUonPartSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public SimpleUonPartSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -207,18 +260,36 @@ public class SimpleUonPartSerializerBuilder extends UonPartSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SimpleUonPartSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SimpleUonPartSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SimpleUonPartSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SimpleUonPartSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SimpleUonPartSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SimpleUonPartSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -231,6 +302,12 @@ public class SimpleUonPartSerializerBuilder extends UonPartSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SimpleUonPartSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SimpleUonPartSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -261,6 +338,12 @@ public class SimpleUonPartSerializerBuilder extends UonPartSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SimpleUonPartSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SimpleUonPartSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -273,6 +356,12 @@ public class SimpleUonPartSerializerBuilder extends UonPartSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SimpleUonPartSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SimpleUonPartSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -291,18 +380,36 @@ public class SimpleUonPartSerializerBuilder extends UonPartSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public SimpleUonPartSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SimpleUonPartSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SimpleUonPartSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SimpleUonPartSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public SimpleUonPartSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public SimpleUonPartSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/UonPartParserBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/UonPartParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/UonPartParserBuilder.java
index 1507ec4..5a3007d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/UonPartParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/UonPartParserBuilder.java
@@ -76,14 +76,14 @@ public class UonPartParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* ParserBuilder */
-	public UonPartParserBuilder strict() {
-		super.strict();
+	public UonPartParserBuilder strict(boolean value) {
+		super.strict(value);
 		return this;
 	}
 
 	@Override /* ParserBuilder */
-	public UonPartParserBuilder strict(boolean value) {
-		super.strict(value);
+	public UonPartParserBuilder strict() {
+		super.strict();
 		return this;
 	}
 
@@ -93,6 +93,12 @@ public class UonPartParserBuilder extends UonParserBuilder {
 		return this;
 	}
 
+	@Override /* ParserBuilder */
+	public UonPartParserBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
 	@Override /* BeanContextBuilder */
 	public UonPartParserBuilder beansRequireDefaultConstructor(boolean value) {
 		super.beansRequireDefaultConstructor(value);
@@ -100,18 +106,36 @@ public class UonPartParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartParserBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartParserBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartParserBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartParserBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartParserBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartParserBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -124,6 +148,12 @@ public class UonPartParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartParserBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartParserBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -154,6 +184,12 @@ public class UonPartParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartParserBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartParserBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -166,6 +202,12 @@ public class UonPartParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartParserBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -184,18 +226,36 @@ public class UonPartParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartParserBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartParserBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartParserBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartParserBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartParserBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/UonPartSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/UonPartSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/UonPartSerializerBuilder.java
index a79726a..a20fef6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/UonPartSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/UonPartSerializerBuilder.java
@@ -50,32 +50,15 @@ public class UonPartSerializerBuilder extends UonSerializerBuilder {
 	// Properties
 	//--------------------------------------------------------------------------------
 
-	@Override /* UonSerializerBuilder */
-	public UonPartSerializerBuilder encoding(boolean value) {
-		super.encoding(value);
-		return this;
-	}
-
-	@Override /* UonSerializerBuilder */
-	public UonPartSerializerBuilder encoding() {
-		super.encoding();
-		return this;
-	}
-
-	@Override /* UonSerializerBuilder */
-	public UonPartSerializerBuilder paramFormat(ParamFormat paramFormat) {
-		super.paramFormat(paramFormat);
+	@Override /* SerializerBuilder */
+	public UonPartSerializerBuilder abridged(boolean value) {
+		super.abridged(value);
 		return this;
 	}
 
-	@Override /* UonSerializerBuilder */
-	public UonPartSerializerBuilder paramFormatPlain() {
-		return paramFormat(ParamFormat.PLAINTEXT);
-	}
-
 	@Override /* SerializerBuilder */
-	public UonPartSerializerBuilder abridged(boolean value) {
-		super.abridged(value);
+	public UonPartSerializerBuilder abridged() {
+		super.abridged();
 		return this;
 	}
 
@@ -92,12 +75,23 @@ public class UonPartSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UonPartSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonPartSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public UonPartSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public UonPartSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -134,12 +128,24 @@ public class UonPartSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UonPartSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonPartSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public UonPartSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonPartSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -152,12 +158,24 @@ public class UonPartSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UonPartSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonPartSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public UonPartSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonPartSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -170,6 +188,12 @@ public class UonPartSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UonPartSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonPartSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -194,6 +218,12 @@ public class UonPartSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public UonPartSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public UonPartSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -206,18 +236,36 @@ public class UonPartSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -230,6 +278,12 @@ public class UonPartSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -260,6 +314,12 @@ public class UonPartSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -272,6 +332,12 @@ public class UonPartSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -290,18 +356,36 @@ public class UonPartSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public UonPartSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public UonPartSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
index f5ed2f3..000ac60 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
@@ -68,14 +68,14 @@ public class JsoParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* ParserBuilder */
-	public JsoParserBuilder strict() {
-		super.strict();
+	public JsoParserBuilder strict(boolean value) {
+		super.strict(value);
 		return this;
 	}
 
 	@Override /* ParserBuilder */
-	public JsoParserBuilder strict(boolean value) {
-		super.strict(value);
+	public JsoParserBuilder strict() {
+		super.strict();
 		return this;
 	}
 
@@ -85,6 +85,12 @@ public class JsoParserBuilder extends ParserBuilder {
 		return this;
 	}
 
+	@Override /* ParserBuilder */
+	public JsoParserBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
 	@Override /* BeanContextBuilder */
 	public JsoParserBuilder beansRequireDefaultConstructor(boolean value) {
 		super.beansRequireDefaultConstructor(value);
@@ -92,18 +98,36 @@ public class JsoParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoParserBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoParserBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoParserBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoParserBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoParserBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoParserBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -116,6 +140,12 @@ public class JsoParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoParserBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoParserBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -146,6 +176,12 @@ public class JsoParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoParserBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoParserBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -158,6 +194,12 @@ public class JsoParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoParserBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -176,18 +218,36 @@ public class JsoParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoParserBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoParserBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoParserBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoParserBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoParserBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
index 2fb0c24..5be6b90 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
@@ -56,6 +56,12 @@ public class JsoSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsoSerializerBuilder abridged() {
+		super.abridged();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsoSerializerBuilder addBeanTypeProperties(boolean value) {
 		super.addBeanTypeProperties(value);
 		return this;
@@ -68,12 +74,23 @@ public class JsoSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsoSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsoSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public JsoSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public JsoSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -110,12 +127,24 @@ public class JsoSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsoSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsoSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public JsoSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsoSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -128,12 +157,24 @@ public class JsoSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsoSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsoSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public JsoSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsoSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -146,6 +187,12 @@ public class JsoSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsoSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsoSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -170,6 +217,12 @@ public class JsoSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsoSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsoSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -182,18 +235,36 @@ public class JsoSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -206,6 +277,12 @@ public class JsoSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -236,6 +313,12 @@ public class JsoSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -248,6 +331,12 @@ public class JsoSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -266,18 +355,36 @@ public class JsoSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsoSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsoSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
index 4faaf5b..049436a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
@@ -68,14 +68,14 @@ public class JsonParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* ParserBuilder */
-	public JsonParserBuilder strict() {
-		super.strict();
+	public JsonParserBuilder strict(boolean value) {
+		super.strict(value);
 		return this;
 	}
 
 	@Override /* ParserBuilder */
-	public JsonParserBuilder strict(boolean value) {
-		super.strict(value);
+	public JsonParserBuilder strict() {
+		super.strict();
 		return this;
 	}
 
@@ -85,6 +85,12 @@ public class JsonParserBuilder extends ParserBuilder {
 		return this;
 	}
 
+	@Override /* ParserBuilder */
+	public JsonParserBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
 	@Override /* BeanContextBuilder */
 	public JsonParserBuilder beansRequireDefaultConstructor(boolean value) {
 		super.beansRequireDefaultConstructor(value);
@@ -92,18 +98,36 @@ public class JsonParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonParserBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonParserBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonParserBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonParserBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonParserBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonParserBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -116,6 +140,12 @@ public class JsonParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonParserBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonParserBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -146,6 +176,12 @@ public class JsonParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonParserBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonParserBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -158,6 +194,12 @@ public class JsonParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonParserBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -176,18 +218,36 @@ public class JsonParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonParserBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonParserBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonParserBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonParserBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonParserBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
index 2122fe8..506353e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
@@ -56,8 +56,8 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* JsonSerializerBuilder */
-	public JsonSchemaSerializerBuilder simple() {
-		super.simple();
+	public JsonSchemaSerializerBuilder escapeSolidus() {
+		super.escapeSolidus();
 		return this;
 	}
 
@@ -67,6 +67,12 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 		return this;
 	}
 
+	@Override /* JsonSerializerBuilder */
+	public JsonSchemaSerializerBuilder simple() {
+		super.simple();
+		return this;
+	}
+
 	@Override /* SerializerBuilder */
 	public JsonSchemaSerializerBuilder abridged(boolean value) {
 		super.abridged(value);
@@ -74,6 +80,12 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSchemaSerializerBuilder abridged() {
+		super.abridged();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSchemaSerializerBuilder addBeanTypeProperties(boolean value) {
 		super.addBeanTypeProperties(value);
 		return this;
@@ -86,12 +98,23 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSchemaSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSchemaSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSchemaSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public JsonSchemaSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -128,12 +151,24 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSchemaSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSchemaSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSchemaSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSchemaSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -146,12 +181,24 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSchemaSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSchemaSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSchemaSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSchemaSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -164,6 +211,12 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSchemaSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSchemaSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -188,6 +241,12 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSchemaSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSchemaSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -200,18 +259,36 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSchemaSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSchemaSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSchemaSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSchemaSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSchemaSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSchemaSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -224,6 +301,12 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSchemaSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSchemaSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -254,6 +337,12 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSchemaSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSchemaSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -266,6 +355,12 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSchemaSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSchemaSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -284,18 +379,36 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSchemaSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSchemaSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSchemaSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java
index 4637b0a..21c0aaf 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializer.java
@@ -135,6 +135,7 @@ public class JsonSerializer extends WriterSerializer {
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
 	 * 			<li class='jm'>{@link JsonSerializerBuilder#escapeSolidus(boolean)}
+	 * 			<li class='jm'>{@link JsonSerializerBuilder#escapeSolidus()}
 	 * 		</ul>
 	 * </ul>
 	 *
@@ -158,8 +159,8 @@ public class JsonSerializer extends WriterSerializer {
 	 * 	<li><b>Session-overridable:</b>  <jk>true</jk>
 	 * 	<li><b>Methods:</b> 
 	 * 		<ul>
-	 * 			<li class='jm'>{@link JsonSerializerBuilder#simple()}
 	 * 			<li class='jm'>{@link JsonSerializerBuilder#simple(boolean)}
+	 * 			<li class='jm'>{@link JsonSerializerBuilder#simple()}
 	 * 		</ul>
 	 * </ul>
 	 *

http://git-wip-us.apache.org/repos/asf/juneau/blob/c162400e/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
index 6a1d91b..b4296c5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
@@ -56,16 +56,15 @@ public class JsonSerializerBuilder extends SerializerBuilder {
 	 *
 	 * <p>
 	 * If <jk>true</jk>, solidus (e.g. slash) characters should be escaped.
-	 * The JSON specification allows for either format.
-	 * However, if you're embedding JSON in an HTML script tag, this setting prevents confusion when trying to
-	 * serialize <xt>&lt;\/script&gt;</xt>.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link JsonSerializer#JSON_escapeSolidus}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public JsonSerializerBuilder escapeSolidus(boolean value) {
@@ -73,17 +72,20 @@ public class JsonSerializerBuilder extends SerializerBuilder {
 	}
 
 	/**
-	 * Shortcut for calling <code>setSimpleMode(<jk>true</jk>).sq()</code>.
+	 * Configuration property:  Prefix solidus <js>'/'</js> characters with escapes.
+	 *
+	 * <p>
+	 * Shortcut for calling <code>escapeSolidus(<jk>true</jk>)</code>.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
-	 * 	<li class='jf'>{@link JsonSerializer#JSON_simpleMode}
+	 * 	<li class='jf'>{@link JsonSerializer#JSON_escapeSolidus}
 	 * </ul>
 	 * 
 	 * @return This object (for method chaining).
 	 */
-	public JsonSerializerBuilder simple() {
-		return simple(true).sq();
+	public JsonSerializerBuilder escapeSolidus() {
+		return set(JSON_escapeSolidus, true);
 	}
 
 	/**
@@ -91,20 +93,36 @@ public class JsonSerializerBuilder extends SerializerBuilder {
 	 *
 	 * <p>
 	 * If <jk>true</jk>, JSON attribute names will only be quoted when necessary.
-	 * Otherwise, they are always quoted.
+	 * <br>Otherwise, they are always quoted.
 	 *
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link JsonSerializer#JSON_simpleMode}
 	 * </ul>
 	 * 
-	 * @param value The new value for this property.
+	 * @param value 
+	 * 	The new value for this property.
+	 * 	<br>The default is <jk>false</jk>.
 	 * @return This object (for method chaining).
 	 */
 	public JsonSerializerBuilder simple(boolean value) {
 		return set(JSON_simpleMode, value);
 	}
 
+	/**
+	 * Shortcut for calling <code>simple(<jk>true</jk>).sq()</code>.
+	 *
+	 * <h5 class='section'>See Also:</h5>
+	 * <ul>
+	 * 	<li class='jf'>{@link JsonSerializer#JSON_simpleMode}
+	 * </ul>
+	 * 
+	 * @return This object (for method chaining).
+	 */
+	public JsonSerializerBuilder simple() {
+		return simple(true).sq();
+	}
+
 	@Override /* SerializerBuilder */
 	public JsonSerializerBuilder abridged(boolean value) {
 		super.abridged(value);
@@ -112,6 +130,12 @@ public class JsonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSerializerBuilder abridged() {
+		super.abridged();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSerializerBuilder addBeanTypeProperties(boolean value) {
 		super.addBeanTypeProperties(value);
 		return this;
@@ -124,12 +148,23 @@ public class JsonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSerializerBuilder detectRecursions() {
+		super.detectRecursions();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSerializerBuilder ignoreRecursions(boolean value) {
 		super.ignoreRecursions(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSerializerBuilder ignoreRecursions() {
+		super.ignoreRecursions();
+		return this;
+	}
+	@Override /* SerializerBuilder */
 	public JsonSerializerBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
@@ -166,12 +201,24 @@ public class JsonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSerializerBuilder sortCollections() {
+		super.sortCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSerializerBuilder sortMaps(boolean value) {
 		super.sortMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSerializerBuilder sortMaps() {
+		super.sortMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSerializerBuilder sq() {
 		super.sq();
 		return this;
@@ -184,12 +231,24 @@ public class JsonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSerializerBuilder trimEmptyCollections() {
+		super.trimEmptyCollections();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSerializerBuilder trimEmptyMaps(boolean value) {
 		super.trimEmptyMaps(value);
 		return this;
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSerializerBuilder trimEmptyMaps() {
+		super.trimEmptyMaps();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSerializerBuilder trimNullProperties(boolean value) {
 		super.trimNullProperties(value);
 		return this;
@@ -202,6 +261,12 @@ public class JsonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSerializerBuilder trimStrings() {
+		super.trimStrings();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSerializerBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
@@ -226,6 +291,12 @@ public class JsonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* SerializerBuilder */
+	public JsonSerializerBuilder useWhitespace() {
+		super.useWhitespace();
+		return this;
+	}
+
+	@Override /* SerializerBuilder */
 	public JsonSerializerBuilder ws() {
 		super.ws();
 		return this;
@@ -238,18 +309,36 @@ public class JsonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSerializerBuilder beansRequireDefaultConstructor() {
+		super.beansRequireDefaultConstructor();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSerializerBuilder beansRequireSerializable(boolean value) {
 		super.beansRequireSerializable(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSerializerBuilder beansRequireSerializable() {
+		super.beansRequireSerializable();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSerializerBuilder beansRequireSettersForGetters(boolean value) {
 		super.beansRequireSettersForGetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSerializerBuilder beansRequireSettersForGetters() {
+		super.beansRequireSettersForGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSerializerBuilder beansRequireSomeProperties(boolean value) {
 		super.beansRequireSomeProperties(value);
 		return this;
@@ -262,6 +351,12 @@ public class JsonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSerializerBuilder beanMapPutReturnsOldValue() {
+		super.beanMapPutReturnsOldValue();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSerializerBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
@@ -292,6 +387,12 @@ public class JsonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSerializerBuilder useJavaBeanIntrospector() {
+		super.useJavaBeanIntrospector();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSerializerBuilder useInterfaceProxies(boolean value) {
 		super.useInterfaceProxies(value);
 		return this;
@@ -304,6 +405,12 @@ public class JsonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSerializerBuilder ignoreUnknownBeanProperties() {
+		super.ignoreUnknownBeanProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
 		super.ignoreUnknownNullBeanProperties(value);
 		return this;
@@ -322,18 +429,36 @@ public class JsonSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSerializerBuilder ignoreInvocationExceptionsOnGetters() {
+		super.ignoreInvocationExceptionsOnGetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
 		super.ignoreInvocationExceptionsOnSetters(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSerializerBuilder ignoreInvocationExceptionsOnSetters() {
+		super.ignoreInvocationExceptionsOnSetters();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSerializerBuilder sortProperties(boolean value) {
 		super.sortProperties(value);
 		return this;
 	}
 
 	@Override /* BeanContextBuilder */
+	public JsonSerializerBuilder sortProperties() {
+		super.sortProperties();
+		return this;
+	}
+
+	@Override /* BeanContextBuilder */
 	public JsonSerializerBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;