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 <[email protected]>
Authored: Sun Oct 8 10:44:28 2017 -0400
Committer: JamesBognar <[email protected]>
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,

Reply via email to