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 2017/10/08 14:44:33 UTC

[2/2] incubator-juneau git commit: Add PREFIX constants to all the Context classes.

Add PREFIX constants to all the Context classes.

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

Branch: refs/heads/master
Commit: 87f505b38bf5ae115d968603504b077be1faea2e
Parents: 926b7cf
Author: JamesBognar <ja...@apache.org>
Authored: Sun Oct 8 10:44:28 2017 -0400
Committer: JamesBognar <ja...@apache.org>
Committed: Sun Oct 8 10:44:28 2017 -0400

----------------------------------------------------------------------
 .../apache/juneau/jena/RdfParserContext.java    |   4 +-
 .../juneau/jena/RdfSerializerContext.java       |  12 +-
 .../java/org/apache/juneau/BeanContext.java     | 156 ++++++++++---------
 .../main/java/org/apache/juneau/ObjectMap.java  |  23 +++
 .../juneau/html/HtmlDocSerializerContext.java   |  37 ++---
 .../juneau/html/HtmlSerializerContext.java      |  14 +-
 .../juneau/json/JsonSerializerContext.java      |   8 +-
 .../msgpack/MsgPackSerializerContext.java       |   4 +-
 .../org/apache/juneau/parser/ParserContext.java |  12 +-
 .../juneau/serializer/SerializerContext.java    |  40 ++---
 .../juneau/soap/SoapXmlSerializerContext.java   |   4 +-
 .../org/apache/juneau/uon/UonParserContext.java |   4 +-
 .../apache/juneau/uon/UonSerializerContext.java |   8 +-
 .../juneau/urlencoding/UrlEncodingContext.java  |  60 -------
 .../urlencoding/UrlEncodingParserBuilder.java   |   4 +-
 .../urlencoding/UrlEncodingParserContext.java   |  22 ++-
 .../urlencoding/UrlEncodingParserSession.java   |   2 +-
 .../urlencoding/UrlEncodingSerializer.java      |   2 +-
 .../UrlEncodingSerializerBuilder.java           |   4 +-
 .../UrlEncodingSerializerContext.java           |  37 ++++-
 .../UrlEncodingSerializerSession.java           |   2 +-
 .../urlencoding/annotation/UrlEncoding.java     |   4 +-
 .../org/apache/juneau/xml/XmlParserContext.java |  12 +-
 .../apache/juneau/xml/XmlSerializerContext.java |  16 +-
 .../juneau/yaml/proto/YamlParserContext.java    |   2 +-
 .../yaml/proto/YamlSerializerContext.java       |   8 +-
 .../apache/juneau/rest/test/ParamsResource.java |   5 +-
 27 files changed, 277 insertions(+), 229 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserContext.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserContext.java
index 42833c4..53039f3 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserContext.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserContext.java
@@ -48,6 +48,8 @@ import org.apache.juneau.xml.*;
  * </ul>
  */
 public final class RdfParserContext extends ParserContext implements RdfCommonContext {
+	
+	static final String PREFIX = "RdfParser.";
 
 	/**
 	 * <b>Configuration property:</b>  Trim whitespace from text elements.
@@ -62,7 +64,7 @@ public final class RdfParserContext extends ParserContext implements RdfCommonCo
 	 * <p>
 	 * If <jk>true</jk>, whitespace in text elements will be automatically trimmed.
 	 */
-	public static final String RDF_trimWhitespace = "RdfParser.trimWhitespace";
+	public static final String RDF_trimWhitespace = PREFIX + "trimWhitespace";
 
 	final boolean trimWhitespace, looseCollections;
 	final String rdfLanguage;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java
index 2d5d6aa..3b050b5 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java
@@ -48,6 +48,8 @@ import org.apache.juneau.xml.*;
  * </ul>
  */
 public final class RdfSerializerContext extends SerializerContext implements RdfCommonContext {
+	
+	static final String PREFIX = "RdfSerializer.";
 
 	/**
 	 * <b>Configuration property:</b>  Add XSI data types to non-<code>String</code> literals.
@@ -59,7 +61,7 @@ public final class RdfSerializerContext extends SerializerContext implements Rdf
 	 * 	<li><b>Session-overridable:</b> <jk>true</jk>
 	 * </ul>
 	 */
-	public static final String RDF_addLiteralTypes = "RdfSerializer.addLiteralTypes";
+	public static final String RDF_addLiteralTypes = PREFIX + "addLiteralTypes";
 
 	/**
 	 * <b>Configuration property:</b>  Add RDF root identifier property to root node.
@@ -80,7 +82,7 @@ public final class RdfSerializerContext extends SerializerContext implements Rdf
 	 * 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.
 	 */
-	public static final String RDF_addRootProperty = "RdfSerializer.addRootProperty";
+	public static final String RDF_addRootProperty = PREFIX + "addRootProperty";
 
 	/**
 	 * <b>Configuration property:</b>  Auto-detect namespace usage.
@@ -99,7 +101,7 @@ public final class RdfSerializerContext extends SerializerContext implements Rdf
 	 * If enabled, then the data structure will first be crawled looking for namespaces that will be encountered before 
 	 * the root element is serialized.
 	 */
-	public static final String RDF_autoDetectNamespaces = "RdfSerializer.autoDetectNamespaces";
+	public static final String RDF_autoDetectNamespaces = PREFIX + "autoDetectNamespaces";
 
 	/**
 	 * <b>Configuration property:</b>  Default namespaces.
@@ -114,7 +116,7 @@ public final class RdfSerializerContext extends SerializerContext implements Rdf
 	 * <p>
 	 * The default list of namespaces associated with this serializer.
 	 */
-	public static final String RDF_namespaces = "RdfSerializer.namespaces.list";
+	public static final String RDF_namespaces = PREFIX + "namespaces.list";
 
 	/**
 	 * <b>Configuration property:</b>  Add <js>"_type"</js> properties when needed.
@@ -137,7 +139,7 @@ public final class RdfSerializerContext extends SerializerContext implements Rdf
 	 * When present, this value overrides the {@link SerializerContext#SERIALIZER_addBeanTypeProperties} setting and is
 	 * provided to customize the behavior of specific serializers in a {@link SerializerGroup}.
 	 */
-	public static final String RDF_addBeanTypeProperties = "RdfSerializer.addBeanTypeProperties";
+	public static final String RDF_addBeanTypeProperties = PREFIX + "addBeanTypeProperties";
 
 
 	final boolean

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/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 d73abbf..762cb1b 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
@@ -59,7 +59,7 @@ import org.apache.juneau.transform.*;
  * <p>
  * Each bean context maintains a cache of {@link ClassMeta} objects that describe information about classes encountered.
  * These <code>ClassMeta</code> objects are time-consuming to construct.
- * Therefore, instances of {@link BeanContext} that share the same <js>"BeanContext.*"</js> property values share
+ * Therefore, instances of {@link BeanContext} that share the same <js>"Bean.*"</js> property values share
  * the same cache.  This allows for efficient reuse of <code>ClassMeta</code> objects so that the information about
  * classes only needs to be calculated once.
  * Because of this, many of the properties defined on the {@link BeanContext} class cannot be overridden on the session.
@@ -230,11 +230,13 @@ import org.apache.juneau.transform.*;
 @SuppressWarnings({"unchecked","rawtypes"})
 public class BeanContext extends Context {
 
+	static final String PREFIX = "Bean.";
+
 	/**
 	 * <b>Configuration property:</b>  Beans require no-arg constructors.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.beansRequireDefaultConstructor"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.beansRequireDefaultConstructor"</js>
 	 * 	<li><b>Data type:</b> <code>Boolean</code>
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -246,13 +248,13 @@ public class BeanContext extends Context {
 	 * <p>
 	 * The {@link Bean @Bean} annotation can be used on a class to override this setting when <jk>true</jk>.
 	 */
-	public static final String BEAN_beansRequireDefaultConstructor = "BeanContext.beansRequireDefaultConstructor";
+	public static final String BEAN_beansRequireDefaultConstructor = PREFIX + "beansRequireDefaultConstructor";
 
 	/**
 	 * <b>Configuration property:</b>  Beans require {@link Serializable} interface.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.beansRequireSerializable"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.beansRequireSerializable"</js>
 	 * 	<li><b>Data type:</b> <code>Boolean</code>
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -264,13 +266,13 @@ public class BeanContext extends Context {
 	 * <p>
 	 * The {@link Bean @Bean} annotation can be used on a class to override this setting when <jk>true</jk>.
 	 */
-	public static final String BEAN_beansRequireSerializable = "BeanContext.beansRequireSerializable";
+	public static final String BEAN_beansRequireSerializable = PREFIX + "beansRequireSerializable";
 
 	/**
 	 * <b>Configuration property:</b>  Beans require setters for getters.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.beansRequireSettersForGetters"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.beansRequireSettersForGetters"</js>
 	 * 	<li><b>Data type:</b> <code>Boolean</code>
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -280,13 +282,13 @@ public class BeanContext extends Context {
 	 * If <jk>true</jk>, only getters that have equivalent setters will be considered as properties on a bean.
 	 * Otherwise, they will be ignored.
 	 */
-	public static final String BEAN_beansRequireSettersForGetters = "BeanContext.beansRequireSettersForGetters";
+	public static final String BEAN_beansRequireSettersForGetters = PREFIX + "beansRequireSettersForGetters";
 
 	/**
 	 * <b>Configuration property:</b>  Beans require at least one property.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.beansRequireSomeProperties"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.beansRequireSomeProperties"</js>
 	 * 	<li><b>Data type:</b> <code>Boolean</code>
 	 * 	<li><b>Default:</b> <jk>true</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -298,14 +300,14 @@ public class BeanContext extends Context {
 	 * <p>
 	 * The {@link Bean @Bean} annotation can be used on a class to override this setting when <jk>true</jk>.
 	 */
-	public static final String BEAN_beansRequireSomeProperties = "BeanContext.beansRequireSomeProperties";
+	public static final String BEAN_beansRequireSomeProperties = PREFIX + "beansRequireSomeProperties";
 
 	/**
 	 * <b>Configuration property:</b>  {@link BeanMap#put(String,Object) BeanMap.put()} method will return old property
 	 * value.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.beanMapPutReturnsOldValue"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.beanMapPutReturnsOldValue"</js>
 	 * 	<li><b>Data type:</b> <code>Boolean</code>
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -318,25 +320,25 @@ public class BeanContext extends Context {
 	 * <p>
 	 * Disabled by default because it introduces a slight performance penalty.
 	 */
-	public static final String BEAN_beanMapPutReturnsOldValue = "BeanContext.beanMapPutReturnsOldValue";
+	public static final String BEAN_beanMapPutReturnsOldValue = PREFIX + "beanMapPutReturnsOldValue";
 
 	/**
 	 * <b>Configuration property:</b>  Look for bean constructors with the specified minimum visibility.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.beanConstructorVisibility"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.beanConstructorVisibility"</js>
 	 * 	<li><b>Data type:</b> {@link Visibility}
 	 * 	<li><b>Default:</b> {@link Visibility#PUBLIC}
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
 	 */
-	public static final String BEAN_beanConstructorVisibility = "BeanContext.beanConstructorVisibility";
+	public static final String BEAN_beanConstructorVisibility = PREFIX + "beanConstructorVisibility";
 
 	/**
 	 * <b>Configuration property:</b>  Look for bean classes with the specified minimum visibility.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.beanClassVisibility"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.beanClassVisibility"</js>
 	 * 	<li><b>Data type:</b> {@link Visibility}
 	 * 	<li><b>Default:</b> {@link Visibility#PUBLIC}
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -347,13 +349,13 @@ public class BeanContext extends Context {
 	 * For example, if the visibility is <code>PUBLIC</code> and the bean class is <jk>protected</jk>, then the class
 	 * will not be interpreted as a bean class.
 	 */
-	public static final String BEAN_beanClassVisibility = "BeanContext.beanClassVisibility";
+	public static final String BEAN_beanClassVisibility = PREFIX + "beanClassVisibility";
 
 	/**
 	 * <b>Configuration property:</b>  Look for bean fields with the specified minimum visibility.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.beanFieldVisibility"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.beanFieldVisibility"</js>
 	 * 	<li><b>Data type:</b> {@link Visibility}
 	 * 	<li><b>Default:</b> {@link Visibility#PUBLIC}
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -367,13 +369,13 @@ public class BeanContext extends Context {
 	 * <p>
 	 * Use {@link Visibility#NONE} to prevent bean fields from being interpreted as bean properties altogether.
 	 */
-	public static final String BEAN_beanFieldVisibility = "BeanContext.beanFieldVisibility";
+	public static final String BEAN_beanFieldVisibility = PREFIX + "beanFieldVisibility";
 
 	/**
 	 * <b>Configuration property:</b>  Look for bean methods with the specified minimum visibility.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.methodVisibility"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.methodVisibility"</js>
 	 * 	<li><b>Data type:</b> {@link Visibility}
 	 * 	<li><b>Default:</b> {@link Visibility#PUBLIC}
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -384,13 +386,13 @@ public class BeanContext extends Context {
 	 * For example, if the visibility is <code>PUBLIC</code> and the bean method is <jk>protected</jk>, then the method
 	 * will not be interpreted as a bean getter or setter.
 	 */
-	public static final String BEAN_methodVisibility = "BeanContext.methodVisibility";
+	public static final String BEAN_methodVisibility = PREFIX + "methodVisibility";
 
 	/**
 	 * <b>Configuration property:</b>  Use Java {@link Introspector} for determining bean properties.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.useJavaBeanIntrospector"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.useJavaBeanIntrospector"</js>
 	 * 	<li><b>Data type:</b> <code>Boolean</code>
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -400,13 +402,13 @@ public class BeanContext extends Context {
 	 * Using the built-in Java bean introspector will not pick up fields or non-standard getters/setters.
 	 * Most {@link Bean @Bean} annotations will be ignored.
 	 */
-	public static final String BEAN_useJavaBeanIntrospector = "BeanContext.useJavaBeanIntrospector";
+	public static final String BEAN_useJavaBeanIntrospector = PREFIX + "useJavaBeanIntrospector";
 
 	/**
 	 * <b>Configuration property:</b>  Use interface proxies.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.useInterfaceProxies"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.useInterfaceProxies"</js>
 	 * 	<li><b>Data type:</b> <code>Boolean</code>
 	 * 	<li><b>Default:</b> <jk>true</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -416,13 +418,13 @@ public class BeanContext extends Context {
 	 * If <jk>true</jk>, then interfaces will be instantiated as proxy classes through the use of an
 	 * {@link InvocationHandler} if there is no other way of instantiating them.
 	 */
-	public static final String BEAN_useInterfaceProxies = "BeanContext.useInterfaceProxies";
+	public static final String BEAN_useInterfaceProxies = PREFIX + "useInterfaceProxies";
 
 	/**
 	 * <b>Configuration property:</b>  Ignore unknown properties.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.ignoreUnknownBeanProperties"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.ignoreUnknownBeanProperties"</js>
 	 * 	<li><b>Data type:</b> <code>Boolean</code>
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -432,13 +434,13 @@ public class BeanContext extends Context {
 	 * If <jk>true</jk>, trying to set a value on a non-existent bean property will silently be ignored.
 	 * Otherwise, a {@code RuntimeException} is thrown.
 	 */
-	public static final String BEAN_ignoreUnknownBeanProperties = "BeanContext.ignoreUnknownBeanProperties";
+	public static final String BEAN_ignoreUnknownBeanProperties = PREFIX + "ignoreUnknownBeanProperties";
 
 	/**
 	 * <b>Configuration property:</b>  Ignore unknown properties with null values.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.ignoreUnknownNullBeanProperties"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.ignoreUnknownNullBeanProperties"</js>
 	 * 	<li><b>Data type:</b> <code>Boolean</code>
 	 * 	<li><b>Default:</b> <jk>true</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -448,13 +450,13 @@ public class BeanContext extends Context {
 	 * If <jk>true</jk>, trying to set a <jk>null</jk> value on a non-existent bean property will silently be ignored.
 	 * Otherwise, a {@code RuntimeException} is thrown.
 	 */
-	public static final String BEAN_ignoreUnknownNullBeanProperties = "BeanContext.ignoreUnknownNullBeanProperties";
+	public static final String BEAN_ignoreUnknownNullBeanProperties = PREFIX + "ignoreUnknownNullBeanProperties";
 
 	/**
 	 * <b>Configuration property:</b>  Ignore properties without setters.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.ignorePropertiesWithoutSetters"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.ignorePropertiesWithoutSetters"</js>
 	 * 	<li><b>Data type:</b> <code>Boolean</code>
 	 * 	<li><b>Default:</b> <jk>true</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -464,13 +466,13 @@ public class BeanContext extends Context {
 	 * If <jk>true</jk>, trying to set a value on a bean property without a setter will silently be ignored.
 	 * Otherwise, a {@code RuntimeException} is thrown.
 	 */
-	public static final String BEAN_ignorePropertiesWithoutSetters = "BeanContext.ignorePropertiesWithoutSetters";
+	public static final String BEAN_ignorePropertiesWithoutSetters = PREFIX + "ignorePropertiesWithoutSetters";
 
 	/**
 	 * <b>Configuration property:</b>  Ignore invocation errors on getters.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.ignoreInvocationExceptionsOnGetters"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.ignoreInvocationExceptionsOnGetters"</js>
 	 * 	<li><b>Data type:</b> <code>Boolean</code>
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -480,13 +482,13 @@ public class BeanContext extends Context {
 	 * If <jk>true</jk>, errors thrown when calling bean getter methods will silently be ignored.
 	 * Otherwise, a {@code BeanRuntimeException} is thrown.
 	 */
-	public static final String BEAN_ignoreInvocationExceptionsOnGetters = "BeanContext.ignoreInvocationExceptionsOnGetters";
+	public static final String BEAN_ignoreInvocationExceptionsOnGetters = PREFIX + "ignoreInvocationExceptionsOnGetters";
 
 	/**
 	 * <b>Configuration property:</b>  Ignore invocation errors on setters.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.ignoreInvocationExceptionsOnSetters"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.ignoreInvocationExceptionsOnSetters"</js>
 	 * 	<li><b>Data type:</b> <code>Boolean</code>
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -496,13 +498,13 @@ public class BeanContext extends Context {
 	 * If <jk>true</jk>, errors thrown when calling bean setter methods will silently be ignored.
 	 * Otherwise, a {@code BeanRuntimeException} is thrown.
 	 */
-	public static final String BEAN_ignoreInvocationExceptionsOnSetters = "BeanContext.ignoreInvocationExceptionsOnSetters";
+	public static final String BEAN_ignoreInvocationExceptionsOnSetters = PREFIX + "ignoreInvocationExceptionsOnSetters";
 
 	/**
 	 * <b>Configuration property:</b>  Sort bean properties in alphabetical order.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.sortProperties"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.sortProperties"</js>
 	 * 	<li><b>Data type:</b> <code>Boolean</code>
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -519,13 +521,13 @@ public class BeanContext extends Context {
 	 * to force bean properties to be in a particular order and can just alter the order of the fields/methods
 	 * in the Java file.
 	 */
-	public static final String BEAN_sortProperties = "BeanContext.sortProperties";
+	public static final String BEAN_sortProperties = PREFIX + "sortProperties";
 
 	/**
 	 * <b>Configuration property:</b>  Packages whose classes should not be considered beans.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.notBeanPackages.set"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.notBeanPackages.set"</js>
 	 * 	<li><b>Data type:</b> <code>Set&lt;String&gt;</code>
 	 * 	<li><b>Default:</b>
 	 * 	<ul>
@@ -550,23 +552,23 @@ public class BeanContext extends Context {
 	 * <p>
 	 * Note that you can specify prefix patterns to include all subpackages.
 	 */
-	public static final String BEAN_notBeanPackages = "BeanContext.notBeanPackages.set";
+	public static final String BEAN_notBeanPackages = PREFIX + "notBeanPackages.set";
 
 	/**
 	 * <b>Configuration property:</b>  Add to packages whose classes should not be considered beans.
 	 */
-	public static final String BEAN_notBeanPackages_add = "BeanContext.notBeanPackages.set.add";
+	public static final String BEAN_notBeanPackages_add = PREFIX + "notBeanPackages.set.add";
 
 	/**
 	 * <b>Configuration property:</b>  Remove from packages whose classes should not be considered beans.
 	 */
-	public static final String BEAN_notBeanPackages_remove = "BeanContext.notBeanPackages.set.remove";
+	public static final String BEAN_notBeanPackages_remove = PREFIX + "notBeanPackages.set.remove";
 
 	/**
 	 * <b>Configuration property:</b>  Classes to be excluded from consideration as being beans.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.notBeanClasses.set"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.notBeanClasses.set"</js>
 	 * 	<li><b>Data type:</b> <code>Set&lt;Class&gt;</code>
 	 * 	<li><b>Default:</b> empty set
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -576,23 +578,23 @@ public class BeanContext extends Context {
 	 * Not-bean classes are typically converted to <code>Strings</code> during serialization even if they appear to be
 	 * bean-like.
 	 */
-	public static final String BEAN_notBeanClasses = "BeanContext.notBeanClasses.set";
+	public static final String BEAN_notBeanClasses = PREFIX + "notBeanClasses.set";
 
 	/**
 	 * <b>Configuration property:</b>  Add to classes that should not be considered beans.
 	 */
-	public static final String BEAN_notBeanClasses_add = "BeanContext.notBeanClasses.set.add";
+	public static final String BEAN_notBeanClasses_add = PREFIX + "notBeanClasses.set.add";
 
 	/**
 	 * <b>Configuration property:</b>  Remove from classes that should not be considered beans.
 	 */
-	public static final String BEAN_notBeanClasses_remove = "BeanContext.notBeanClasses.set.remove";
+	public static final String BEAN_notBeanClasses_remove = PREFIX + "notBeanClasses.set.remove";
 
 	/**
 	 * <b>Configuration property:</b>  Bean filters to apply to beans.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.beanFilters.list"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.beanFilters.list"</js>
 	 * 	<li><b>Data type:</b> <code>List&lt;Class&gt;</code>
 	 * 	<li><b>Default:</b> empty list
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -616,23 +618,23 @@ public class BeanContext extends Context {
 	 * 		All other bean properties will be ignored.
 	 * </ul>
 	 */
-	public static final String BEAN_beanFilters = "BeanContext.beanFilters.list";
+	public static final String BEAN_beanFilters = PREFIX + "beanFilters.list";
 
 	/**
 	 * <b>Configuration property:</b>  Add to bean filters.
 	 */
-	public static final String BEAN_beanFilters_add = "BeanContext.beanFilters.list.add";
+	public static final String BEAN_beanFilters_add = PREFIX + "beanFilters.list.add";
 
 	/**
 	 * <b>Configuration property:</b>  Remove from bean filters.
 	 */
-	public static final String BEAN_beanFilters_remove = "BeanContext.beanFilters.list.remove";
+	public static final String BEAN_beanFilters_remove = PREFIX + "beanFilters.list.remove";
 
 	/**
 	 * <b>Configuration property:</b>  POJO swaps to apply to Java objects.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.pojoSwaps.list"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.pojoSwaps.list"</js>
 	 * 	<li><b>Data type:</b> <code>List&lt;Class&gt;</code>
 	 * 	<li><b>Default:</b> empty list
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -650,23 +652,23 @@ public class BeanContext extends Context {
 	 * When multiple swaps are applicable to the same class, the media type pattern defined by
 	 * {@link PojoSwap#forMediaTypes()} or {@link Swap#mediaTypes()} are used to come up with the best match.
 	 */
-	public static final String BEAN_pojoSwaps = "BeanContext.pojoSwaps.list";
+	public static final String BEAN_pojoSwaps = PREFIX + "pojoSwaps.list";
 
 	/**
 	 * <b>Configuration property:</b>  Add to POJO swap classes.
 	 */
-	public static final String BEAN_pojoSwaps_add = "BeanContext.pojoSwaps.list.add";
+	public static final String BEAN_pojoSwaps_add = PREFIX + "pojoSwaps.list.add";
 
 	/**
 	 * <b>Configuration property:</b>  Remove from POJO swap classes.
 	 */
-	public static final String BEAN_pojoSwaps_remove = "BeanContext.pojoSwaps.list.remove";
+	public static final String BEAN_pojoSwaps_remove = PREFIX + "pojoSwaps.list.remove";
 
 	/**
 	 * <b>Configuration property:</b>  Implementation classes for interfaces and abstract classes.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.implClasses.map"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.implClasses.map"</js>
 	 * 	<li><b>Data type:</b> <code>Map&lt;Class,Class&gt;</code>
 	 * 	<li><b>Default:</b> empty map
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -677,18 +679,18 @@ public class BeanContext extends Context {
 	 * interface/abstract class so that instances of the implementation class are used when instantiated (e.g. during a
 	 * parse).
 	 */
-	public static final String BEAN_implClasses = "BeanContext.implClasses.map";
+	public static final String BEAN_implClasses = PREFIX + "implClasses.map";
 
 	/**
 	 * <b>Configuration property:</b>  Add an implementation class.
 	 */
-	public static final String BEAN_implClasses_put = "BeanContext.implClasses.map.put";
+	public static final String BEAN_implClasses_put = PREFIX + "implClasses.map.put";
 
 	/**
 	 * <b>Configuration property:</b>  Explicitly specify visible bean properties.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.includeProperties"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.includeProperties"</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>
@@ -709,18 +711,18 @@ public class BeanContext extends Context {
 	 * <p>
 	 * Setting applies to specified class and all subclasses.
 	 */
-	public static final String BEAN_includeProperties = "BeanContext.includeProperties.map";
+	public static final String BEAN_includeProperties = PREFIX + "includeProperties.map";
 
 	/**
 	 * <b>Configuration property:</b>  Explicitly specify visible bean properties.
 	 */
-	public static final String BEAN_includeProperties_put = "BeanContext.includeProperties.map.put";
+	public static final String BEAN_includeProperties_put = PREFIX + "includeProperties.map.put";
 
 	/**
 	 * <b>Configuration property:</b>  Exclude specified properties from beans.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.excludeProperties"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.excludeProperties"</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>
@@ -741,18 +743,18 @@ public class BeanContext extends Context {
 	 * <p>
 	 * Setting applies to specified class and all subclasses.
 	 */
-	public static final String BEAN_excludeProperties = "BeanContext.excludeProperties.map";
+	public static final String BEAN_excludeProperties = PREFIX + "excludeProperties.map";
 
 	/**
 	 * <b>Configuration property:</b>  Exclude specified properties from beans.
 	 */
-	public static final String BEAN_excludeProperties_put = "BeanContext.excludeProperties.map.put";
+	public static final String BEAN_excludeProperties_put = PREFIX + "excludeProperties.map.put";
 
 	/**
 	 * <b>Configuration property:</b>  Bean lookup dictionary.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.beanDictionary.list"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.beanDictionary.list"</js>
 	 * 	<li><b>Data type:</b> <code>List&lt;Class&gt;</code>
 	 * 	<li><b>Default:</b> empty list
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -768,35 +770,35 @@ public class BeanContext extends Context {
 	 * 		annotations.
 	 * </ul>
 	 */
-	public static final String BEAN_beanDictionary = "BeanContext.beanDictionary.list";
+	public static final String BEAN_beanDictionary = PREFIX + "beanDictionary.list";
 
 	/**
 	 * <b>Configuration property:</b>  Add to bean dictionary.
 	 */
-	public static final String BEAN_beanDictionary_add = "BeanContext.beanDictionary.list.add";
+	public static final String BEAN_beanDictionary_add = PREFIX + "beanDictionary.list.add";
 
 	/**
 	 * <b>Configuration property:</b>  Remove from bean dictionary.
 	 */
-	public static final String BEAN_beanDictionary_remove = "BeanContext.beanDictionary.list.remove";
+	public static final String BEAN_beanDictionary_remove = PREFIX + "beanDictionary.list.remove";
 
 	/**
 	 * <b>Configuration property:</b>  Name to use for the bean type properties used to represent a bean type.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.beanTypePropertyName"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.beanTypePropertyName"</js>
 	 * 	<li><b>Data type:</b> <code>String</code>
 	 * 	<li><b>Default:</b> <js>"_type"</js>
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
 	 * </ul>
 	 */
-	public static final String BEAN_beanTypePropertyName = "BeanContext.beanTypePropertyName";
+	public static final String BEAN_beanTypePropertyName = PREFIX + "beanTypePropertyName";
 
 	/**
 	 * <b>Configuration property:</b>  Default parser to use when converting <code>Strings</code> to POJOs.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.defaultParser"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.defaultParser"</js>
 	 * 	<li><b>Data type:</b> <code>Class</code>
 	 * 	<li><b>Default:</b> {@link JsonSerializer}
 	 * 	<li><b>Session-overridable:</b> <jk>false</jk>
@@ -805,13 +807,13 @@ public class BeanContext extends Context {
 	 * <p>
 	 * Used in the in the {@link BeanSession#convertToType(Object, Class)} method.
 	 */
-	public static final String BEAN_defaultParser = "BeanContext.defaultParser";
+	public static final String BEAN_defaultParser = PREFIX + "defaultParser";
 
 	/**
 	 * <b>Configuration property:</b>  Locale.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.locale"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.locale"</js>
 	 * 	<li><b>Data type:</b> <code>Locale</code>
 	 * 	<li><b>Default:</b> <code>Locale.getDefault()</code>
 	 * 	<li><b>Session-overridable:</b> <jk>true</jk>
@@ -820,13 +822,13 @@ public class BeanContext extends Context {
 	 * <p>
 	 * Used in the in the {@link BeanSession#convertToType(Object, Class)} method.
 	 */
-	public static final String BEAN_locale = "BeanContext.locale";
+	public static final String BEAN_locale = PREFIX + "locale";
 
 	/**
 	 * <b>Configuration property:</b>  TimeZone.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.timeZone"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.timeZone"</js>
 	 * 	<li><b>Data type:</b> <code>TimeZone</code>
 	 * 	<li><b>Default:</b> <jk>null</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>true</jk>
@@ -835,13 +837,13 @@ public class BeanContext extends Context {
 	 * <p>
 	 * Used in the in the {@link BeanSession#convertToType(Object, Class)} method.
 	 */
-	public static final String BEAN_timeZone = "BeanContext.timeZone";
+	public static final String BEAN_timeZone = PREFIX + "timeZone";
 
 	/**
 	 * <b>Configuration property:</b>  Media type.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.mediaType"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.mediaType"</js>
 	 * 	<li><b>Data type:</b> <code>MediaType</code>
 	 * 	<li><b>Default:</b> <jk>null</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>true</jk>
@@ -850,13 +852,13 @@ public class BeanContext extends Context {
 	 * <p>
 	 * Specifies a default media type value for serializer and parser sessions.
 	 */
-	public static final String BEAN_mediaType = "BeanContext.mediaType";
+	public static final String BEAN_mediaType = PREFIX + "mediaType";
 
 	/**
 	 * <b>Configuration property:</b>  Debug mode.
 	 *
 	 * <ul>
-	 * 	<li><b>Name:</b> <js>"BeanContext.debug"</js>
+	 * 	<li><b>Name:</b> <js>"Bean.debug"</js>
 	 * 	<li><b>Data type:</b> <code>Boolean</code>
 	 * 	<li><b>Default:</b> <jk>false</jk>
 	 * 	<li><b>Session-overridable:</b> <jk>true</jk>
@@ -880,7 +882,7 @@ public class BeanContext extends Context {
 	 * 		in order to determine how that method was invoked.
 	 * </ul>
 	 */
-	public static final String BEAN_debug = "BeanContext.debug";
+	public static final String BEAN_debug = PREFIX + "debug";
 
 	/*
 	 * The default package pattern exclusion list.
@@ -990,7 +992,7 @@ public class BeanContext extends Context {
 	public BeanContext(PropertyStore ps) {
 		super(ps);
 
-		PropertyStore.PropertyMap pm = ps.getPropertyMap("BeanContext");
+		PropertyStore.PropertyMap pm = ps.getPropertyMap("Bean");
 		hashCode = pm.hashCode();
 		classLoader = ps.classLoader;
 		defaultParser = ps.defaultParser;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ObjectMap.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ObjectMap.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ObjectMap.java
index e3ab9bc..4c376d2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ObjectMap.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ObjectMap.java
@@ -1180,6 +1180,29 @@ public class ObjectMap extends LinkedHashMap<String,Object> {
 	}
 
 	/**
+	 * Returns <jk>true</jk> if this map contains a key with the specified string prefix.
+	 *
+	 * @param prefix The string prefix.
+	 * @return <jk>true</jk> if this map contains a key with the specified string prefix.
+	 */
+	public boolean containsKeyPrefix(String prefix) {
+		for (String s : super.keySet())
+			if (s.startsWith(prefix))
+				return true;
+		if (inner != null) {
+			if (inner instanceof ObjectMap) {
+				if (((ObjectMap)inner).containsKeyPrefix(prefix))
+					return true;
+				return false;
+			}
+			for (String s : inner.keySet())
+				if (s.startsWith(prefix))
+					return true;
+		}
+		return false;
+	}
+
+	/**
 	 * Returns <jk>true</jk> if this map contains the specified key, ignoring the inner map if it exists.
 	 *
 	 * @param key The key to look up.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerContext.java
index 13c022a..6296ff3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerContext.java
@@ -77,7 +77,8 @@ import org.apache.juneau.*;
  */
 public final class HtmlDocSerializerContext extends HtmlSerializerContext {
 
-	static final String HTMLDOC = "HtmlDocSerializer.";
+	@SuppressWarnings("hiding")
+	static final String PREFIX = "HtmlDocSerializer.";
 
 	/**
 	 * <b>Configuration property:</b>  Header section contents.
@@ -107,7 +108,7 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
 	 * <p>
 	 * A value of <js>"NONE"</js> can be used to represent no value to differentiate it from an empty string.
 	 */
-	public static final String HTMLDOC_header = HTMLDOC + "header";
+	public static final String HTMLDOC_header = PREFIX + "header";
 
 	/**
 	 * <b>Configuration property:</b>  Page navigation links.
@@ -172,12 +173,12 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
 	 * 	<jk>public class</jk> AddressBookResource <jk>extends</jk> RestServletJenaDefault {
 	 * </p>
 	 */
-	public static final String HTMLDOC_navlinks = HTMLDOC + "navlinks.list";
+	public static final String HTMLDOC_navlinks = PREFIX + "navlinks.list";
 
 	/**
 	 * <b>Configuration property:</b>  Add to the {@link #HTMLDOC_navlinks} property.
 	 */
-	public static final String HTMLDOC_navlinks_add = HTMLDOC + "navlinks.list.add";
+	public static final String HTMLDOC_navlinks_add = PREFIX + "navlinks.list.add";
 
 	/**
 	 * <b>Configuration property:</b>  Nav section contents.
@@ -210,7 +211,7 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
 	 * <p>
 	 * A value of <js>"NONE"</js> can be used to represent no value to differentiate it from an empty string.
 	 */
-	public static final String HTMLDOC_nav = HTMLDOC + "nav";
+	public static final String HTMLDOC_nav = PREFIX + "nav";
 
 	/**
 	 * <b>Configuration property:</b>  Aside section contents.
@@ -248,7 +249,7 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
 	 * <p>
 	 * A value of <js>"NONE"</js> can be used to represent no value to differentiate it from an empty string.
 	 */
-	public static final String HTMLDOC_aside = HTMLDOC + "aside";
+	public static final String HTMLDOC_aside = PREFIX + "aside";
 
 	/**
 	 * <b>Configuration property:</b>  Footer section contents.
@@ -280,7 +281,7 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
 	 * <p>
 	 * A value of <js>"NONE"</js> can be used to represent no value to differentiate it from an empty string.
 	 */
-	public static final String HTMLDOC_footer = HTMLDOC + "footer";
+	public static final String HTMLDOC_footer = PREFIX + "footer";
 
 	/**
 	 * <b>Configuration property:</b>  No-results message.
@@ -307,7 +308,7 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
 	 * <p>
 	 * A value of <js>"NONE"</js> can be used to represent no value to differentiate it from an empty string.
 	 */
-	public static final String HTMLDOC_noResultsMessage = HTMLDOC + "noResultsMessage";
+	public static final String HTMLDOC_noResultsMessage = PREFIX + "noResultsMessage";
 
 	/**
 	 * <b>Configuration property:</b>  Prevent word wrap on page.
@@ -322,7 +323,7 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
 	 * <p>
 	 * Adds <js>"* {white-space:nowrap}"</js> to the CSS instructions on the page to prevent word wrapping.
 	 */
-	public static final String HTMLDOC_nowrap = HTMLDOC + "nowrap";
+	public static final String HTMLDOC_nowrap = PREFIX + "nowrap";
 
 	/**
 	 * <b>Configuration property:</b>  Stylesheet import URLs.
@@ -343,12 +344,12 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
 	 * <p>
 	 * A value of <js>"NONE"</js> can be used to represent no value to differentiate it from an empty string.
 	 */
-	public static final String HTMLDOC_stylesheet = HTMLDOC + "stylesheet";
+	public static final String HTMLDOC_stylesheet = PREFIX + "stylesheet";
 
 	/**
 	 * <b>Configuration property:</b>  Add to the {@link #HTMLDOC_stylesheet} property.
 	 */
-	public static final String HTMLDOC_stylesheet_add = HTMLDOC + "stylesheet.list.add";
+	public static final String HTMLDOC_stylesheet_add = PREFIX + "stylesheet.list.add";
 
 	/**
 	 * <b>Configuration property:</b>  CSS style code.
@@ -386,12 +387,12 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
 	 * 	)
 	 * </p>
 	 */
-	public static final String HTMLDOC_style = HTMLDOC + "style.list";
+	public static final String HTMLDOC_style = PREFIX + "style.list";
 
 	/**
 	 * <b>Configuration property:</b>  Add to the {@link #HTMLDOC_style} property.
 	 */
-	public static final String HTMLDOC_style_add = HTMLDOC + "style.list.add";
+	public static final String HTMLDOC_style_add = PREFIX + "style.list.add";
 
 	/**
 	 * <b>Configuration property:</b>  Javascript code.
@@ -428,12 +429,12 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
 	 * 	)
 	 * </p>
 	 */
-	public static final String HTMLDOC_script = HTMLDOC + "script.list";
+	public static final String HTMLDOC_script = PREFIX + "script.list";
 
 	/**
 	 * <b>Configuration property:</b>  Add to the {@link #HTMLDOC_script} property.
 	 */
-	public static final String HTMLDOC_script_add = HTMLDOC + "script.list.add";
+	public static final String HTMLDOC_script_add = PREFIX + "script.list.add";
 
 	/**
 	 * <b>Configuration property:</b>  Additional head section content.
@@ -470,12 +471,12 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
 	 * 	)
 	 * </p>
 	 */
-	public static final String HTMLDOC_head = HTMLDOC + "head.list";
+	public static final String HTMLDOC_head = PREFIX + "head.list";
 
 	/**
 	 * <b>Configuration property:</b>  Add to the {@link #HTMLDOC_head} property.
 	 */
-	public static final String HTMLDOC_links_add = HTMLDOC + "head.list.add";
+	public static final String HTMLDOC_links_add = PREFIX + "head.list.add";
 
 	/**
 	 * <b>Configuration property:</b>  HTML document template.
@@ -503,7 +504,7 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
 	 * 	)
 	 * </p>
 	 */
-	public static final String HTMLDOC_template = HTMLDOC + "template";
+	public static final String HTMLDOC_template = PREFIX + "template";
 
 
 	final String[] style, stylesheet, script, navlinks, head;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerContext.java
index a9f34b5..0f3c03d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerContext.java
@@ -41,6 +41,8 @@ import org.apache.juneau.xml.*;
  */
 public class HtmlSerializerContext extends XmlSerializerContext {
 
+	static final String PREFIX = "HtmlSerializer.";
+
 	/**
 	 * <b>Configuration property:</b>  Anchor text source.
 	 *
@@ -72,7 +74,7 @@ public class HtmlSerializerContext extends XmlSerializerContext {
 	 * 		(e.g. <js>"http://localhost:9080/foobar#anchorTextHere"</js>)
 	 * </ul>
 	 */
-	public static final String HTML_uriAnchorText = "HtmlSerializer.uriAnchorText";
+	public static final String HTML_uriAnchorText = PREFIX + "uriAnchorText";
 
 	/** Constant for {@link HtmlSerializerContext#HTML_uriAnchorText} property. */
 	public static final String PROPERTY_NAME = "PROPERTY_NAME";
@@ -100,7 +102,7 @@ public class HtmlSerializerContext extends XmlSerializerContext {
 	 * 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 #HTML_uriAnchorText}.
 	 */
-	public static final String HTML_detectLinksInStrings = "HtmlSerializer.detectLinksInStrings";
+	public static final String HTML_detectLinksInStrings = PREFIX + "detectLinksInStrings";
 
 	/**
 	 * <b>Configuration property:</b>  Look for link labels in the <js>"label"</js> parameter of the URL.
@@ -118,7 +120,7 @@ public class HtmlSerializerContext extends XmlSerializerContext {
 	 * <p>
 	 * The parameter name can be changed via the {@link #HTML_labelParameter} property.
 	 */
-	public static final String HTML_lookForLabelParameters = "HtmlSerializer.lookForLabelParameters";
+	public static final String HTML_lookForLabelParameters = PREFIX + "lookForLabelParameters";
 
 	/**
 	 * <b>Configuration property:</b>  The parameter name to use when using {@link #HTML_lookForLabelParameters}.
@@ -130,7 +132,7 @@ public class HtmlSerializerContext extends XmlSerializerContext {
 	 * 	<li><b>Session-overridable:</b> <jk>true</jk>
 	 * </ul>
 	 */
-	public static final String HTML_labelParameter = "HtmlSerializer.labelParameter";
+	public static final String HTML_labelParameter = PREFIX + "labelParameter";
 
 	/**
 	 * <b>Configuration property:</b>  Add key/value headers on bean/map tables.
@@ -142,7 +144,7 @@ public class HtmlSerializerContext extends XmlSerializerContext {
 	 * 	<li><b>Session-overridable:</b> <jk>true</jk>
 	 * </ul>
 	 */
-	public static final String HTML_addKeyValueTableHeaders = "HtmlSerializer.addKeyValueTableHeaders";
+	public static final String HTML_addKeyValueTableHeaders = PREFIX + "addKeyValueTableHeaders";
 
 	/**
 	 * <b>Configuration property:</b>  Add <js>"_type"</js> properties when needed.
@@ -165,7 +167,7 @@ public class HtmlSerializerContext extends XmlSerializerContext {
 	 * When present, this value overrides the {@link SerializerContext#SERIALIZER_addBeanTypeProperties} setting and is
 	 * provided to customize the behavior of specific serializers in a {@link SerializerGroup}.
 	 */
-	public static final String HTML_addBeanTypeProperties = "HtmlSerializer.addBeanTypeProperties";
+	public static final String HTML_addBeanTypeProperties = PREFIX + "addBeanTypeProperties";
 
 
 	final String uriAnchorText;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
index 3e07022..0284aee 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
@@ -40,6 +40,8 @@ import org.apache.juneau.serializer.*;
  */
 public final class JsonSerializerContext extends SerializerContext {
 
+	static final String PREFIX = "JsonSerializer.";
+
 	/**
 	 * <b>Configuration property:</b>  Simple JSON mode.
 	 *
@@ -54,7 +56,7 @@ public final class JsonSerializerContext extends SerializerContext {
 	 * If <jk>true</jk>, JSON attribute names will only be quoted when necessary.
 	 * Otherwise, they are always quoted.
 	 */
-	public static final String JSON_simpleMode = "JsonSerializer.simpleMode";
+	public static final String JSON_simpleMode = PREFIX + "simpleMode";
 
 	/**
 	 * <b>Configuration property:</b>  Prefix solidus <js>'/'</js> characters with escapes.
@@ -72,7 +74,7 @@ public final class JsonSerializerContext extends SerializerContext {
 	 * However, if you're embedding JSON in an HTML script tag, this setting prevents confusion when trying to serialize
 	 * <xt>&lt;\/script&gt;</xt>.
 	 */
-	public static final String JSON_escapeSolidus = "JsonSerializer.escapeSolidus";
+	public static final String JSON_escapeSolidus = PREFIX + "escapeSolidus";
 
 	/**
 	 * <b>Configuration property:</b>  Add <js>"_type"</js> properties when needed.
@@ -95,7 +97,7 @@ public final class JsonSerializerContext extends SerializerContext {
 	 * When present, this value overrides the {@link SerializerContext#SERIALIZER_addBeanTypeProperties} setting and is
 	 * provided to customize the behavior of specific serializers in a {@link SerializerGroup}.
 	 */
-	public static final String JSON_addBeanTypeProperties = "JsonSerializer.addBeanTypeProperties";
+	public static final String JSON_addBeanTypeProperties = PREFIX + "addBeanTypeProperties";
 
 	final boolean
 		simpleMode,

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
index f1365e1..285b564 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
@@ -40,6 +40,8 @@ import org.apache.juneau.serializer.*;
  */
 public final class MsgPackSerializerContext extends SerializerContext {
 
+	static final String PREFIX = "MsgPackSerializer.";
+
 	/**
 	 * <b>Configuration property:</b>  Add <js>"_type"</js> properties when needed.
 	 *
@@ -61,7 +63,7 @@ public final class MsgPackSerializerContext extends SerializerContext {
 	 * When present, this value overrides the {@link SerializerContext#SERIALIZER_addBeanTypeProperties} setting and is
 	 * provided to customize the behavior of specific serializers in a {@link SerializerGroup}.
 	 */
-	public static final String MSGPACK_addBeanTypeProperties = "MsgPackSerializer.addBeanTypeProperties";
+	public static final String MSGPACK_addBeanTypeProperties = PREFIX + "addBeanTypeProperties";
 
 	final boolean
 		addBeanTypeProperties;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserContext.java
index 583649f..09a5e4c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserContext.java
@@ -20,6 +20,8 @@ import org.apache.juneau.json.*;
  */
 public class ParserContext extends BeanContext {
 
+	static final String PREFIX = "Parser.";
+
 	/**
 	 * Default context with all default values.
 	 */
@@ -40,7 +42,7 @@ public class ParserContext extends BeanContext {
 	 * If <jk>true</jk>, string values will be trimmed of whitespace using {@link String#trim()} before being added to
 	 * the POJO.
 	 */
-	public static final String PARSER_trimStrings = "Parser.trimStrings";
+	public static final String PARSER_trimStrings = PREFIX + "trimStrings";
 
 	/**
 	 * <b>Configuration property:</b>  Strict mode.
@@ -82,7 +84,7 @@ public class ParserContext extends BeanContext {
 	 * 	</tr>
 	 * </table>
 	 */
-	public static final String PARSER_strict = "Parser.strict";
+	public static final String PARSER_strict = PREFIX + "strict";
 
 	/**
 	 * <b>Configuration property:</b>  Input stream charset.
@@ -100,7 +102,7 @@ public class ParserContext extends BeanContext {
 	 * <p>
 	 * Used when passing in input streams and byte arrays to {@link Parser#parse(Object, Class)}.
 	 */
-	public static final String PARSER_inputStreamCharset = "Parser.inputStreamCharset";
+	public static final String PARSER_inputStreamCharset = PREFIX + "inputStreamCharset";
 
 	/**
 	 * <b>Configuration property:</b>  File charset.
@@ -121,7 +123,7 @@ public class ParserContext extends BeanContext {
 	 * <p>
 	 * <js>"default"</js> can be used to indicate the JVM default file system charset.
 	 */
-	public static final String PARSER_fileCharset = "Parser.fileCharset";
+	public static final String PARSER_fileCharset = PREFIX + "fileCharset";
 
 	/**
 	 * <b>Configuration property:</b>  Parser listener.
@@ -136,7 +138,7 @@ public class ParserContext extends BeanContext {
 	 * <p>
 	 * Class used to listen for errors and warnings that occur during parsing.
 	 */
-	public static final String PARSER_listener = "PARSER.listener";
+	public static final String PARSER_listener = PREFIX + "listener";
 
 	final boolean trimStrings, strict;
 	final String inputStreamCharset, fileCharset;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerContext.java
index 8d50aa8..a2a01bc 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerContext.java
@@ -20,6 +20,8 @@ import org.apache.juneau.annotation.*;
  */
 public class SerializerContext extends BeanContext {
 
+	static final String PREFIX = "Serializer.";
+
 	/**
 	 * Default context with all default values.
 	 */
@@ -41,7 +43,7 @@ public class SerializerContext extends BeanContext {
 	 * If this depth is exceeded, an exception is thrown.
 	 * This prevents stack overflows from occurring when trying to serialize models with recursive references.
 	 */
-	public static final String SERIALIZER_maxDepth = "Serializer.maxDepth";
+	public static final String SERIALIZER_maxDepth = PREFIX + "maxDepth";
 
 	/**
 	 * <b>Configuration property:</b>  Initial depth.
@@ -57,7 +59,7 @@ public class SerializerContext extends BeanContext {
 	 * The initial indentation level at the root.
 	 * Useful when constructing document fragments that need to be indented at a certain level.
 	 */
-	public static final String SERIALIZER_initialDepth = "Serializer.initialDepth";
+	public static final String SERIALIZER_initialDepth = PREFIX + "initialDepth";
 
 	/**
 	 * <b>Configuration property:</b>  Automatically detect POJO recursions.
@@ -88,7 +90,7 @@ public class SerializerContext extends BeanContext {
 	 * 	<li>Checking for recursion can cause a small performance penalty.
 	 * </ul>
 	 */
-	public static final String SERIALIZER_detectRecursions = "Serializer.detectRecursions";
+	public static final String SERIALIZER_detectRecursions = PREFIX + "detectRecursions";
 
 	/**
 	 * <b>Configuration property:</b>  Ignore recursion errors.
@@ -108,7 +110,7 @@ public class SerializerContext extends BeanContext {
 	 * 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.
 	 */
-	public static final String SERIALIZER_ignoreRecursions = "Serializer.ignoreRecursions";
+	public static final String SERIALIZER_ignoreRecursions = PREFIX + "ignoreRecursions";
 
 	/**
 	 * <b>Configuration property:</b>  Use whitespace.
@@ -126,7 +128,7 @@ public class SerializerContext extends BeanContext {
 	 * <p>
 	 * This setting does not apply to the MessagePack serializer.
 	 */
-	public static final String SERIALIZER_useWhitespace = "Serializer.useWhitespace";
+	public static final String SERIALIZER_useWhitespace = PREFIX + "useWhitespace";
 
 	/**
 	 * <b>Configuration property:</b>  Maximum indentation.
@@ -144,7 +146,7 @@ public class SerializerContext extends BeanContext {
 	 * <p>
 	 * This setting does not apply to the MessagePack or RDF serializers.
 	 */
-	public static final String SERIALIZER_maxIndent = "Serializer.maxIndent";
+	public static final String SERIALIZER_maxIndent = PREFIX + "maxIndent";
 
 	/**
 	 * <b>Configuration property:</b>  Add <js>"_type"</js> properties when needed.
@@ -163,7 +165,7 @@ public class SerializerContext extends BeanContext {
 	 * For example, when serializing a {@code Map<String,Object>} field, where the bean class cannot be determined from
 	 * the value type.
 	 */
-	public static final String SERIALIZER_addBeanTypeProperties = "Serializer.addBeanTypeProperties";
+	public static final String SERIALIZER_addBeanTypeProperties = PREFIX + "addBeanTypeProperties";
 
 	/**
 	 * <b>Configuration property:</b>  Quote character.
@@ -181,7 +183,7 @@ public class SerializerContext extends BeanContext {
 	 * <p>
 	 * This setting does not apply to the MessagePack or RDF serializers.
 	 */
-	public static final String SERIALIZER_quoteChar = "Serializer.quoteChar";
+	public static final String SERIALIZER_quoteChar = PREFIX + "quoteChar";
 
 	/**
 	 * <b>Configuration property:</b>  Trim null bean property values.
@@ -203,7 +205,7 @@ public class SerializerContext extends BeanContext {
 	 * 		Map entries with <jk>null</jk> values will be lost.
 	 * </ul>
 	 */
-	public static final String SERIALIZER_trimNullProperties = "Serializer.trimNullProperties";
+	public static final String SERIALIZER_trimNullProperties = PREFIX + "trimNullProperties";
 
 	/**
 	 * <b>Configuration property:</b>  Trim empty lists and arrays.
@@ -227,7 +229,7 @@ public class SerializerContext extends BeanContext {
 	 * 		Bean properties with empty list values will not be set.
 	 * </ul>
 	 */
-	public static final String SERIALIZER_trimEmptyCollections = "Serializer.trimEmptyLists";
+	public static final String SERIALIZER_trimEmptyCollections = PREFIX + "trimEmptyLists";
 
 	/**
 	 * <b>Configuration property:</b>  Trim empty maps.
@@ -249,7 +251,7 @@ public class SerializerContext extends BeanContext {
 	 * 		Bean properties with empty map values will not be set.
 	 * </ul>
 	 */
-	public static final String SERIALIZER_trimEmptyMaps = "Serializer.trimEmptyMaps";
+	public static final String SERIALIZER_trimEmptyMaps = PREFIX + "trimEmptyMaps";
 
 	/**
 	 * <b>Configuration property:</b>  Trim strings.
@@ -264,7 +266,7 @@ public class SerializerContext extends BeanContext {
 	 * <p>
 	 * If <jk>true</jk>, string values will be trimmed of whitespace using {@link String#trim()} before being serialized.
 	 */
-	public static final String SERIALIZER_trimStrings = "Serializer.trimStrings";
+	public static final String SERIALIZER_trimStrings = PREFIX + "trimStrings";
 
 	/**
 	 * <b>Configuration property:</b>  URI context bean.
@@ -284,7 +286,7 @@ public class SerializerContext extends BeanContext {
 	 * 	<js>"{authority:'http://localhost:10000',contextRoot:'/myContext',servletPath:'/myServlet',pathInfo:'/foo'}"</js>
 	 * </p>
 	 */
-	public static final String SERIALIZER_uriContext = "Serializer.uriContext";
+	public static final String SERIALIZER_uriContext = PREFIX + "uriContext";
 
 	/**
 	 * <b>Configuration property:</b>  URI resolution.
@@ -315,7 +317,7 @@ public class SerializerContext extends BeanContext {
 	 * 		- Don't do any URL resolution.
 	 * </ul>
 	 */
-	public static final String SERIALIZER_uriResolution = "Serializer.uriResolution";
+	public static final String SERIALIZER_uriResolution = PREFIX + "uriResolution";
 
 	/**
 	 * <b>Configuration property:</b>  URI relativity.
@@ -344,7 +346,7 @@ public class SerializerContext extends BeanContext {
 	 * 		- Relative URIs should be considered relative to the request URI.
 	 * </ul>
 	 */
-	public static final String SERIALIZER_uriRelativity = "Serializer.uriRelativity";
+	public static final String SERIALIZER_uriRelativity = PREFIX + "uriRelativity";
 
 	/**
 	 * <b>Configuration property:</b>  Sort arrays and collections alphabetically.
@@ -359,7 +361,7 @@ public class SerializerContext extends BeanContext {
 	 * <p>
 	 * Note that this introduces a performance penalty.
 	 */
-	public static final String SERIALIZER_sortCollections = "Serializer.sortCollections";
+	public static final String SERIALIZER_sortCollections = PREFIX + "sortCollections";
 
 	/**
 	 * <b>Configuration property:</b>  Sort maps alphabetically.
@@ -374,7 +376,7 @@ public class SerializerContext extends BeanContext {
 	 * <p>
 	 * Note that this introduces a performance penalty.
 	 */
-	public static final String SERIALIZER_sortMaps = "Serializer.sortMaps";
+	public static final String SERIALIZER_sortMaps = PREFIX + "sortMaps";
 
 	/**
 	 * <b>Configuration property:</b>  Abridged output.
@@ -394,7 +396,7 @@ public class SerializerContext extends BeanContext {
 	 * 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.
 	 */
-	public static final String SERIALIZER_abridged = "Serializer.abridged";
+	public static final String SERIALIZER_abridged = PREFIX + "abridged";
 
 	/**
 	 * <b>Configuration property:</b>  Serializer listener.
@@ -409,7 +411,7 @@ public class SerializerContext extends BeanContext {
 	 * <p>
 	 * Class used to listen for errors and warnings that occur during serialization.
 	 */
-	public static final String SERIALIZER_listener = "Serializer.listener";
+	public static final String SERIALIZER_listener = PREFIX + "listener";
 
 
 	final int maxDepth, initialDepth, maxIndent;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java
index 77f64cc..6b2f4a2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java
@@ -44,6 +44,8 @@ import org.apache.juneau.xml.*;
  */
 public final class SoapXmlSerializerContext extends XmlSerializerContext {
 
+	static final String PREFIX = "SoapXmlSerializer.";
+
 	/**
 	 * Constructor
 	 *
@@ -65,5 +67,5 @@ public final class SoapXmlSerializerContext extends XmlSerializerContext {
 	 * 	<li><b>Default:</b> <js>"http://www.w3.org/2003/05/soap-envelope"</js>
 	 * </ul>
 	 */
-	public static final String SOAPXML_SOAPAction = "SoapXmlSerializer.SOAPAction";
+	public static final String SOAPXML_SOAPAction = PREFIX + "SOAPAction";
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserContext.java
index aa5a02a..bbc5509 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserContext.java
@@ -41,6 +41,8 @@ import org.apache.juneau.urlencoding.*;
  */
 public class UonParserContext extends ParserContext {
 
+	static final String PREFIX = "UonParser.";
+
 	/**
 	 * <b>Configuration property:</b> Decode <js>"%xx"</js> sequences.
 	 *
@@ -55,7 +57,7 @@ public class UonParserContext extends ParserContext {
 	 * Specify <jk>true</jk> if URI encoded characters should be decoded, <jk>false</jk> if they've already been decoded
 	 * before being passed to this parser.
 	 */
-	public static final String UON_decodeChars = "UonParser.decodeChars";
+	public static final String UON_decodeChars = PREFIX + "decodeChars";
 
 	final boolean
 		decodeChars;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerContext.java
index f20dba1..952259b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerContext.java
@@ -41,6 +41,8 @@ import org.apache.juneau.urlencoding.*;
  */
 public class UonSerializerContext extends SerializerContext {
 
+	static final String PREFIX = "UonSerializer.";
+
 	/**
 	 * <b>Configuration property:</b>  Encode non-valid URI characters.
 	 *
@@ -59,7 +61,7 @@ public class UonSerializerContext extends SerializerContext {
 	 * 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.
 	 */
-	public static final String UON_encodeChars = "UonSerializer.encodeChars";
+	public static final String UON_encodeChars = PREFIX + "encodeChars";
 
 	/**
 	 * <b>Configuration property:</b>  Add <js>"_type"</js> properties when needed.
@@ -82,7 +84,7 @@ public class UonSerializerContext extends SerializerContext {
 	 * When present, this value overrides the {@link SerializerContext#SERIALIZER_addBeanTypeProperties} setting and is
 	 * provided to customize the behavior of specific serializers in a {@link SerializerGroup}.
 	 */
-	public static final String UON_addBeanTypeProperties = "UonSerializer.addBeanTypeProperties";
+	public static final String UON_addBeanTypeProperties = PREFIX + "addBeanTypeProperties";
 
 	/**
 	 * <b>Configuration property:</b>  Format to use for query/form-data/header values.
@@ -114,7 +116,7 @@ public class UonSerializerContext extends SerializerContext {
 	 * 		interfaces.
 	 * </ul>
 	 */
-	public static final String UON_paramFormat = "UonSerializer.paramFormat";
+	public static final String UON_paramFormat = PREFIX + "paramFormat";
 
 
 	final boolean

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingContext.java
deleted file mode 100644
index 3c71a4a..0000000
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingContext.java
+++ /dev/null
@@ -1,60 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                                                              *
-// *                                                                                                                         *
-// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
-// *                                                                                                                         *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the License.                                              *
-// ***************************************************************************************************************************
-package org.apache.juneau.urlencoding;
-
-/**
- * Configurable properties on the {@link UrlEncodingSerializer} and {@link UrlEncodingParser} classes.
- *
- * <p>
- * Use the {@link UrlEncodingSerializerBuilder#property(String, Object)} and
- * {@link UrlEncodingParserBuilder#property(String, Object)} methods to set property values.
- */
-public final class UrlEncodingContext implements Cloneable {
-
-	/**
-	 * Serialize bean property collections/arrays as separate key/value pairs ({@link Boolean}, default=<jk>false</jk>).
-	 *
-	 * <p>
-	 * 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>.
-	 *
-	 * <p>
-	 * Example:
-	 * <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>
-	 * <ul>
-	 * 	<li>If parsing multi-part parameters, it's highly recommended to use <code>Collections</code> or <code>Lists</code>
-	 * 		as bean property types instead of arrays since arrays have to be recreated from scratch every time a value
-	 * 		is added to it.
-	 * </ul>
-	 */
-	public static final String URLENC_expandedParams = "UrlEncoding.expandedParams";
-
-	boolean
-		expandedParams = false;
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/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 71b6383..72abc1e 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
@@ -97,10 +97,10 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
 	 *
 	 * @param value The new value for this property.
 	 * @return This object (for method chaining).
-	 * @see UrlEncodingContext#URLENC_expandedParams
+	 * @see UrlEncodingParserContext#URLENC_expandedParams
 	 */
 	public UrlEncodingParserBuilder expandedParams(boolean value) {
-		return property(UrlEncodingContext.URLENC_expandedParams, value);
+		return property(UrlEncodingParserContext.URLENC_expandedParams, value);
 	}
 
 	@Override /* UonParser */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
index fbcb41b..426dbc0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
@@ -27,6 +27,26 @@ import org.apache.juneau.uon.*;
  */
 public class UrlEncodingParserContext extends UonParserContext {
 
+	static final String PREFIX = "UrlEncodingParser.";
+
+	/**
+	 * Parser bean property collections/arrays as separate key/value pairs ({@link Boolean}, default=<jk>false</jk>).
+	 *
+	 * <p>
+	 * This is the parser-side equivalent of the {@link UrlEncodingSerializerContext#URLENC_expandedParams} setting.
+	 *
+	 * <p>
+	 * This option only applies to beans.
+	 *
+	 * <h5 class='section'>Notes:</h5>
+	 * <ul>
+	 * 	<li>If parsing multi-part parameters, it's highly recommended to use <code>Collections</code> or <code>Lists</code>
+	 * 		as bean property types instead of arrays since arrays have to be recreated from scratch every time a value
+	 * 		is added to it.
+	 * </ul>
+	 */
+	public static final String URLENC_expandedParams = PREFIX + "expandedParams";
+
 	final boolean
 		expandedParams;
 
@@ -40,7 +60,7 @@ public class UrlEncodingParserContext extends UonParserContext {
 	 */
 	public UrlEncodingParserContext(PropertyStore ps) {
 		super(ps);
-		this.expandedParams = ps.getProperty(UrlEncodingContext.URLENC_expandedParams, boolean.class, false);
+		this.expandedParams = ps.getProperty(URLENC_expandedParams, boolean.class, false);
 	}
 
 	@Override /* Context */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
index a3ebea4..4f7409a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
@@ -48,7 +48,7 @@ public class UrlEncodingParserSession extends UonParserSession {
 		if (p.isEmpty()) {
 			expandedParams = ctx.expandedParams;
 		} else {
-			expandedParams = p.getBoolean(UrlEncodingContext.URLENC_expandedParams, false);
+			expandedParams = p.getBoolean(UrlEncodingParserContext.URLENC_expandedParams, false);
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/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 9170cc2..65c800c 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
@@ -14,7 +14,7 @@ package org.apache.juneau.urlencoding;
 
 import static org.apache.juneau.serializer.SerializerContext.*;
 import static org.apache.juneau.uon.UonSerializerContext.*;
-import static org.apache.juneau.urlencoding.UrlEncodingContext.*;
+import static org.apache.juneau.urlencoding.UrlEncodingSerializerContext.*;
 import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/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 16e8f51..89532e0 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
@@ -96,10 +96,10 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	 *
 	 * @param value The new value for this property.
 	 * @return This object (for method chaining).
-	 * @see UrlEncodingContext#URLENC_expandedParams
+	 * @see UrlEncodingSerializerContext#URLENC_expandedParams
 	 */
 	public UrlEncodingSerializerBuilder expandedParams(boolean value) {
-		return property(UrlEncodingContext.URLENC_expandedParams, value);
+		return property(UrlEncodingSerializerContext.URLENC_expandedParams, value);
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.java
index 87531c4..04166a1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.java
@@ -27,6 +27,41 @@ import org.apache.juneau.uon.*;
  */
 public class UrlEncodingSerializerContext extends UonSerializerContext {
 
+	static final String PREFIX = "UrlEncodingSerializer.";
+
+	/**
+	 * Serialize bean property collections/arrays as separate key/value pairs ({@link Boolean}, default=<jk>false</jk>).
+	 *
+	 * <p>
+	 * 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>.
+	 *
+	 * <p>
+	 * Example:
+	 * <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>
+	 * <ul>
+	 * 	<li>If parsing multi-part parameters, it's highly recommended to use <code>Collections</code> or <code>Lists</code>
+	 * 		as bean property types instead of arrays since arrays have to be recreated from scratch every time a value
+	 * 		is added to it.
+	 * </ul>
+	 */
+	public static final String URLENC_expandedParams = PREFIX + "expandedParams";
 
 	final boolean
 		expandedParams;
@@ -41,7 +76,7 @@ public class UrlEncodingSerializerContext extends UonSerializerContext {
 	 */
 	public UrlEncodingSerializerContext(PropertyStore ps) {
 		super(ps);
-		this.expandedParams = ps.getProperty(UrlEncodingContext.URLENC_expandedParams, boolean.class, false);
+		this.expandedParams = ps.getProperty(URLENC_expandedParams, boolean.class, false);
 	}
 
 	@Override /* Context */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
index 90e6b09..a800ad6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.java
@@ -54,7 +54,7 @@ public class UrlEncodingSerializerSession extends UonSerializerSession {
 		if (p.isEmpty()) {
 			expandedParams = ctx.expandedParams;
 		} else {
-			expandedParams = p.getBoolean(UrlEncodingContext.URLENC_expandedParams, false);
+			expandedParams = p.getBoolean(UrlEncodingSerializerContext.URLENC_expandedParams, false);
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncoding.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncoding.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncoding.java
index 2576e58..1326589 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncoding.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncoding.java
@@ -33,8 +33,8 @@ public @interface UrlEncoding {
 	 * When true, bean properties of type array or Collection will be expanded into multiple key/value pairings.
 	 *
 	 * <p>
-	 * This annotation is identical in behavior to using the {@link UrlEncodingContext#URLENC_expandedParams}
-	 * property, but applies to only instances of this bean.
+	 * This annotation is identical in behavior to using the {@link UrlEncodingSerializerContext#URLENC_expandedParams}
+	 * and {@link UrlEncodingParserContext#URLENC_expandedParams} properties, but applies to only instances of this bean.
 	 */
 	boolean expandedParams() default false;
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/87f505b3/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserContext.java
index bc8496e..55cf882 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserContext.java
@@ -43,6 +43,8 @@ import org.apache.juneau.parser.*;
  */
 public class XmlParserContext extends ParserContext {
 
+	static final String PREFIX = "XmlParser.";
+
 	/**
 	 * <b>Configuration property:</b>  Enable validation.
 	 *
@@ -57,7 +59,7 @@ public class XmlParserContext extends ParserContext {
 	 * If <jk>true</jk>, XML document will be validated.
 	 * See {@link XMLInputFactory#IS_VALIDATING} for more info.
 	 */
-	public static final String XML_validating = "XmlParser.validating";
+	public static final String XML_validating = PREFIX + "validating";
 
 	/**
 	 * <b>Configuration property:</b>  XML reporter.
@@ -77,7 +79,7 @@ public class XmlParserContext extends ParserContext {
 	 * 	<li>Reporters are not copied to new parsers during a clone.
 	 * </ul>
 	 */
-	public static final String XML_reporter = "XmlParser.reporter";
+	public static final String XML_reporter = PREFIX + "reporter";
 
 	/**
 	 * <b>Configuration property:</b>  XML resolver.
@@ -92,7 +94,7 @@ public class XmlParserContext extends ParserContext {
 	 * <p>
 	 * Associates an {@link XMLResolver} with this parser.
 	 */
-	public static final String XML_resolver = "XmlParser.resolver";
+	public static final String XML_resolver = PREFIX + "resolver";
 
 	/**
 	 * <b>Configuration property:</b>  XML event allocator.
@@ -107,7 +109,7 @@ public class XmlParserContext extends ParserContext {
 	 * <p>
 	 * Associates an {@link XMLEventAllocator} with this parser.
 	 */
-	public static final String XML_eventAllocator = "XmlParser.eventAllocator";
+	public static final String XML_eventAllocator = PREFIX + "eventAllocator";
 
 	/**
 	 * <b>Configuration property:</b>  Preserve root element during generalized parsing.
@@ -138,7 +140,7 @@ public class XmlParserContext extends ParserContext {
 	 * 	</tr>
 	 * </table>
 	 */
-	public static final String XML_preserveRootElement = "XmlParser.preserveRootElement";
+	public static final String XML_preserveRootElement = PREFIX + "preserveRootElement";
 
 	final boolean
 		validating,