http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java 
b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
index d5c2b3f..07121d3 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
@@ -76,12 +76,12 @@ import org.apache.juneau.transform.*;
  *
  *     <jc>// Create a custom serializer for lax syntax using single quote 
characters</jc>
  *     JsonSerializer serializer = <jk>new</jk> JsonSerializer()
- *             .setProperty(JsonSerializerContext.<jsf>JSON_simpleMode</jsf>, 
<jk>true</jk>)
- *             .setProperty(SerializerContext.<jsf>SERIALIZER_quoteChar</jsf>, 
<js>'\''</js>);
+ *             .setSimpleMode(<jk>true</jk>)
+ *             .setQuoteChar(<js>'\''</js>);
  *
  *     <jc>// Clone an existing serializer and modify it to use 
single-quotes</jc>
  *     JsonSerializer serializer = JsonSerializer.<jsf>DEFAULT</jsf>.clone()
- *             .setProperty(SerializerContext.<jsf>SERIALIZER_quoteChar</jsf>, 
<js>'\''</js>);
+ *             .setQuoteChar(<js>'\''</js>);
  *
  *     <jc>// Serialize a POJO to JSON</jc>
  *     String json = serializer.serialize(someObject);
@@ -112,8 +112,8 @@ public class JsonSerializer extends WriterSerializer {
        public static class Readable extends JsonSerializer {
                /** Constructor */
                public Readable() {
-                       setProperty(JSON_useWhitespace, true);
-                       setProperty(SERIALIZER_useIndentation, true);
+                       setUseWhitespace(true);
+                       setUseIndentation(true);
                }
        }
 
@@ -122,8 +122,8 @@ public class JsonSerializer extends WriterSerializer {
        public static class Simple extends JsonSerializer {
                /** Constructor */
                public Simple() {
-                       setProperty(JSON_simpleMode, true);
-                       setProperty(SERIALIZER_quoteChar, '\'');
+                       setSimpleMode(true);
+                       setQuoteChar('\'');
                }
        }
 
@@ -131,8 +131,8 @@ public class JsonSerializer extends WriterSerializer {
        public static class SimpleReadable extends Simple {
                /** Constructor */
                public SimpleReadable() {
-                       setProperty(JSON_useWhitespace, true);
-                       setProperty(SERIALIZER_useIndentation, true);
+                       setUseWhitespace(true);
+                       setUseIndentation(true);
                }
        }
 
@@ -143,7 +143,7 @@ public class JsonSerializer extends WriterSerializer {
        public static class SimpleReadableSafe extends SimpleReadable {
                /** Constructor */
                public SimpleReadableSafe() {
-                       setProperty(SERIALIZER_detectRecursions, true);
+                       setDetectRecursions(true);
                }
        }
 
@@ -324,8 +324,9 @@ public class JsonSerializer extends WriterSerializer {
                return s;
        }
 
+
        
//--------------------------------------------------------------------------------
-       // Overridden methods
+       // Entry point methods
        
//--------------------------------------------------------------------------------
 
        @Override /* Serializer */
@@ -339,49 +340,554 @@ public class JsonSerializer extends WriterSerializer {
                serializeAnything(s, s.getWriter(), o, null, "root", null);
        }
 
+
+       
//--------------------------------------------------------------------------------
+       // Properties
+       
//--------------------------------------------------------------------------------
+
+       /**
+        * <b>Configuration property:</b>  Simple JSON mode.
+        * <p>
+        * <ul>
+        *      <li><b>Name:</b> <js>"JsonSerializer.simpleMode"</js>
+        *      <li><b>Data type:</b> <code>Boolean</code>
+        *      <li><b>Default:</b> <jk>false</jk>
+        *      <li><b>Session-overridable:</b> <jk>true</jk>
+        * </ul>
+        * <p>
+        * If <jk>true</jk>, JSON attribute names will only be quoted when 
necessary.
+        * Otherwise, they are always quoted.
+        * <p>
+        * <h5 class='section'>Notes:</h5>
+        * <ul>
+        *      <li>This is equivalent to calling 
<code>setProperty(<jsf>JSON_simpleMode</jsf>, value)</code>.
+        * </ul>
+        *
+        * @param value The new value for this property.
+        * @return This object (for method chaining).
+        * @throws LockedException If {@link #lock()} was called on this class.
+        * @see JsonSerializerContext#JSON_simpleMode
+        */
+       public JsonSerializer setSimpleMode(boolean value) throws 
LockedException {
+               return setProperty(JSON_simpleMode, value);
+       }
+
+       /**
+        * <b>Configuration property:</b>  Use whitespace.
+        * <p>
+        * <ul>
+        *      <li><b>Name:</b> <js>"JsonSerializer.useWhitespace"</js>
+        *      <li><b>Data type:</b> <code>Boolean</code>
+        *      <li><b>Default:</b> <jk>false</jk>
+        *      <li><b>Session-overridable:</b> <jk>true</jk>
+        * </ul>
+        * <p>
+        * If <jk>true</jk>, whitespace is added to the output to improve 
readability.
+        * <p>
+        * <h5 class='section'>Notes:</h5>
+        * <ul>
+        *      <li>This is equivalent to calling 
<code>setProperty(<jsf>JSON_useWhitespace</jsf>, value)</code>.
+        * </ul>
+        *
+        * @param value The new value for this property.
+        * @return This object (for method chaining).
+        * @throws LockedException If {@link #lock()} was called on this class.
+        * @see JsonSerializerContext#JSON_useWhitespace
+        */
+       public JsonSerializer setUseWhitespace(boolean value) throws 
LockedException {
+               return setProperty(JSON_useWhitespace, value);
+       }
+
+       /**
+        * <b>Configuration property:</b>  Prefix solidus <js>'/'</js> 
characters with escapes.
+        * <p>
+        * <ul>
+        *      <li><b>Name:</b> <js>"JsonSerializer.escapeSolidus"</js>
+        *      <li><b>Data type:</b> <code>Boolean</code>
+        *      <li><b>Default:</b> <jk>false</jk>
+        *      <li><b>Session-overridable:</b> <jk>true</jk>
+        * </ul>
+        * <p>
+        * If <jk>true</jk>, solidus (e.g. slash) characters should be escaped.
+        * The JSON specification allows for either format.
+        * However, if you're embedding JSON in an HTML script tag, this 
setting prevents
+        *      confusion when trying to serialize <xt>&lt;\/script&gt;</xt>.
+        * <p>
+        * <h5 class='section'>Notes:</h5>
+        * <ul>
+        *      <li>This is equivalent to calling 
<code>setProperty(<jsf>JSON_escapeSolidus</jsf>, value)</code>.
+        * </ul>
+        *
+        * @param value The new value for this property.
+        * @return This object (for method chaining).
+        * @throws LockedException If {@link #lock()} was called on this class.
+        * @see JsonSerializerContext#JSON_escapeSolidus
+        */
+       public JsonSerializer setEscapeSolidus(boolean value) throws 
LockedException {
+               return setProperty(JSON_escapeSolidus, value);
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setMaxDepth(int value) throws LockedException {
+               super.setMaxDepth(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setInitialDepth(int value) throws LockedException 
{
+               super.setInitialDepth(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setDetectRecursions(boolean value) throws 
LockedException {
+               super.setDetectRecursions(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setIgnoreRecursions(boolean value) throws 
LockedException {
+               super.setIgnoreRecursions(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setUseIndentation(boolean value) throws 
LockedException {
+               super.setUseIndentation(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setAddBeanTypeProperties(boolean value) throws 
LockedException {
+               super.setAddBeanTypeProperties(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setQuoteChar(char value) throws LockedException {
+               super.setQuoteChar(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setTrimNullProperties(boolean value) throws 
LockedException {
+               super.setTrimNullProperties(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setTrimEmptyCollections(boolean value) throws 
LockedException {
+               super.setTrimEmptyCollections(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setTrimEmptyMaps(boolean value) throws 
LockedException {
+               super.setTrimEmptyMaps(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setTrimStrings(boolean value) throws 
LockedException {
+               super.setTrimStrings(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setRelativeUriBase(String value) throws 
LockedException {
+               super.setRelativeUriBase(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setAbsolutePathUriBase(String value) throws 
LockedException {
+               super.setAbsolutePathUriBase(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setSortCollections(boolean value) throws 
LockedException {
+               super.setSortCollections(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public JsonSerializer setSortMaps(boolean value) throws LockedException 
{
+               super.setSortMaps(value);
+               return this;
+       }
        @Override /* CoreApi */
-       public JsonSerializer setProperty(String property, Object value) throws 
LockedException {
-               super.setProperty(property, value);
+       public JsonSerializer setBeansRequireDefaultConstructor(boolean value) 
throws LockedException {
+               super.setBeansRequireDefaultConstructor(value);
                return this;
        }
 
        @Override /* CoreApi */
-       public JsonSerializer setProperties(ObjectMap properties) throws 
LockedException {
-               super.setProperties(properties);
+       public JsonSerializer setBeansRequireSerializable(boolean value) throws 
LockedException {
+               super.setBeansRequireSerializable(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setBeansRequireSettersForGetters(boolean value) 
throws LockedException {
+               super.setBeansRequireSettersForGetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setBeansRequireSomeProperties(boolean value) 
throws LockedException {
+               super.setBeansRequireSomeProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setBeanMapPutReturnsOldValue(boolean value) 
throws LockedException {
+               super.setBeanMapPutReturnsOldValue(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setBeanConstructorVisibility(Visibility value) 
throws LockedException {
+               super.setBeanConstructorVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setBeanClassVisibility(Visibility value) throws 
LockedException {
+               super.setBeanClassVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setBeanFieldVisibility(Visibility value) throws 
LockedException {
+               super.setBeanFieldVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setMethodVisibility(Visibility value) throws 
LockedException {
+               super.setMethodVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setUseJavaBeanIntrospector(boolean value) throws 
LockedException {
+               super.setUseJavaBeanIntrospector(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setUseInterfaceProxies(boolean value) throws 
LockedException {
+               super.setUseInterfaceProxies(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setIgnoreUnknownBeanProperties(boolean value) 
throws LockedException {
+               super.setIgnoreUnknownBeanProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setIgnoreUnknownNullBeanProperties(boolean value) 
throws LockedException {
+               super.setIgnoreUnknownNullBeanProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setIgnorePropertiesWithoutSetters(boolean value) 
throws LockedException {
+               super.setIgnorePropertiesWithoutSetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setIgnoreInvocationExceptionsOnGetters(boolean 
value) throws LockedException {
+               super.setIgnoreInvocationExceptionsOnGetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setIgnoreInvocationExceptionsOnSetters(boolean 
value) throws LockedException {
+               super.setIgnoreInvocationExceptionsOnSetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setSortProperties(boolean value) throws 
LockedException {
+               super.setSortProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setNotBeanPackages(String...values) throws 
LockedException {
+               super.setNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setNotBeanPackages(Collection<String> values) 
throws LockedException {
+               super.setNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer addNotBeanPackages(String...values) throws 
LockedException {
+               super.addNotBeanPackages(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public JsonSerializer addNotBeanClasses(Class<?>...classes) throws 
LockedException {
-               super.addNotBeanClasses(classes);
+       public JsonSerializer addNotBeanPackages(Collection<String> values) 
throws LockedException {
+               super.addNotBeanPackages(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public JsonSerializer addBeanFilters(Class<?>...classes) throws 
LockedException {
-               super.addBeanFilters(classes);
+       public JsonSerializer removeNotBeanPackages(String...values) throws 
LockedException {
+               super.removeNotBeanPackages(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public JsonSerializer addPojoSwaps(Class<?>...classes) throws 
LockedException {
-               super.addPojoSwaps(classes);
+       public JsonSerializer removeNotBeanPackages(Collection<String> values) 
throws LockedException {
+               super.removeNotBeanPackages(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public JsonSerializer addToDictionary(Class<?>...classes) throws 
LockedException {
-               super.addToDictionary(classes);
+       public JsonSerializer setNotBeanClasses(Class<?>...values) throws 
LockedException {
+               super.setNotBeanClasses(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public <T> JsonSerializer addImplClass(Class<T> interfaceClass, Class<? 
extends T> implClass) throws LockedException {
+       public JsonSerializer setNotBeanClasses(Collection<Class<?>> values) 
throws LockedException {
+               super.setNotBeanClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer addNotBeanClasses(Class<?>...values) throws 
LockedException {
+               super.addNotBeanClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer addNotBeanClasses(Collection<Class<?>> values) 
throws LockedException {
+               super.addNotBeanClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer removeNotBeanClasses(Class<?>...values) throws 
LockedException {
+               super.removeNotBeanClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer removeNotBeanClasses(Collection<Class<?>> values) 
throws LockedException {
+               super.removeNotBeanClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setBeanFilters(Class<?>...values) throws 
LockedException {
+               super.setBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setBeanFilters(Collection<Class<?>> values) 
throws LockedException {
+               super.setBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer addBeanFilters(Class<?>...values) throws 
LockedException {
+               super.addBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer addBeanFilters(Collection<Class<?>> values) 
throws LockedException {
+               super.addBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer removeBeanFilters(Class<?>...values) throws 
LockedException {
+               super.removeBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer removeBeanFilters(Collection<Class<?>> values) 
throws LockedException {
+               super.removeBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setPojoSwaps(Class<?>...values) throws 
LockedException {
+               super.setPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setPojoSwaps(Collection<Class<?>> values) throws 
LockedException {
+               super.setPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer addPojoSwaps(Class<?>...values) throws 
LockedException {
+               super.addPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer addPojoSwaps(Collection<Class<?>> values) throws 
LockedException {
+               super.addPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer removePojoSwaps(Class<?>...values) throws 
LockedException {
+               super.removePojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer removePojoSwaps(Collection<Class<?>> values) 
throws LockedException {
+               super.removePojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setImplClasses(Map<Class<?>,Class<?>> values) 
throws LockedException {
+               super.setImplClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public <T> CoreApi addImplClass(Class<T> interfaceClass, Class<? 
extends T> implClass) throws LockedException {
                super.addImplClass(interfaceClass, implClass);
                return this;
        }
 
        @Override /* CoreApi */
+       public JsonSerializer setBeanDictionary(Class<?>...values) throws 
LockedException {
+               super.setBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setBeanDictionary(Collection<Class<?>> values) 
throws LockedException {
+               super.setBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer addToBeanDictionary(Class<?>...values) throws 
LockedException {
+               super.addToBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer addToBeanDictionary(Collection<Class<?>> values) 
throws LockedException {
+               super.addToBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer removeFromBeanDictionary(Class<?>...values) 
throws LockedException {
+               super.removeFromBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer removeFromBeanDictionary(Collection<Class<?>> 
values) throws LockedException {
+               super.removeFromBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setBeanTypePropertyName(String value) throws 
LockedException {
+               super.setBeanTypePropertyName(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setDefaultParser(Class<?> value) throws 
LockedException {
+               super.setDefaultParser(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setLocale(Locale value) throws LockedException {
+               super.setLocale(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setTimeZone(TimeZone value) throws 
LockedException {
+               super.setTimeZone(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setMediaType(MediaType value) throws 
LockedException {
+               super.setMediaType(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setDebug(boolean value) throws LockedException {
+               super.setDebug(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setProperty(String name, Object value) throws 
LockedException {
+               super.setProperty(name, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer setProperties(ObjectMap properties) throws 
LockedException {
+               super.setProperties(properties);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer addToProperty(String name, Object value) throws 
LockedException {
+               super.addToProperty(name, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer putToProperty(String name, Object key, Object 
value) throws LockedException {
+               super.putToProperty(name, key, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer putToProperty(String name, Object value) throws 
LockedException {
+               super.putToProperty(name, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public JsonSerializer removeFromProperty(String name, Object value) 
throws LockedException {
+               super.removeFromProperty(name, value);
+               return this;
+       }
+
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* CoreApi */
        public JsonSerializer setClassLoader(ClassLoader classLoader) throws 
LockedException {
                super.setClassLoader(classLoader);
                return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java 
b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
index c4a62cd..eec89c8 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
@@ -21,45 +21,8 @@ import org.apache.juneau.serializer.*;
  * Context properties are set by calling {@link 
ContextFactory#setProperty(String, Object)} on the context factory
  * returned {@link CoreApi#getContextFactory()}.
  * <p>
- * The following convenience methods are also provided for setting context 
properties:
- * <ul>
- *     <li>{@link JsonSerializer#setProperty(String,Object)}
- *     <li>{@link JsonSerializer#setProperties(ObjectMap)}
- *     <li>{@link JsonSerializer#addNotBeanClasses(Class[])}
- *     <li>{@link JsonSerializer#addBeanFilters(Class[])}
- *     <li>{@link JsonSerializer#addPojoSwaps(Class[])}
- *     <li>{@link JsonSerializer#addToDictionary(Class[])}
- *     <li>{@link JsonSerializer#addImplClass(Class,Class)}
- * </ul>
- * <p>
  * See {@link ContextFactory} for more information about context properties.
  *
- * <h6 class='topic' id='ConfigProperties'>Configurable properties on the JSON 
serializer</h6>
- * <table class='styled' style='border-collapse: collapse;'>
- *     <tr><th>Setting name</th><th>Description</th><th>Data 
type</th><th>Default value</th><th>Session overridable</th></tr>
- *     <tr>
- *             <td>{@link #JSON_simpleMode}</td>
- *             <td>Simple JSON mode.</td>
- *             <td><code>Boolean</code></td>
- *             <td><jk>false</jk></td>
- *             <td><jk>true</jk></td>
- *     </tr>
- *     <tr>
- *             <td>{@link #JSON_useWhitespace}</td>
- *             <td>Use whitespace.</td>
- *             <td><code>Boolean</code></td>
- *             <td><jk>false</jk></td>
- *             <td><jk>true</jk></td>
- *     </tr>
- *     <tr>
- *             <td>{@link #JSON_escapeSolidus}</td>
- *             <td>Prefix solidus <js>'/'</js> characters with escapes.</td>
- *             <td><code>Boolean</code></td>
- *             <td><jk>false</jk></td>
- *             <td><jk>true</jk></td>
- *     </tr>
- * </table>
- *
  * <h5 class='section'>Inherited configurable properties:</h5>
  * <ul class='javahierarchy'>
  *     <li class='c'><a class="doclink" 
href="../BeanContext.html#ConfigProperties">BeanContext</a> - Properties 
associated with handling beans on serializers and parsers.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/json/JsonWriter.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonWriter.java 
b/juneau-core/src/main/java/org/apache/juneau/json/JsonWriter.java
index 374cf94..4b3af99 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/JsonWriter.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonWriter.java
@@ -176,6 +176,7 @@ public final class JsonWriter extends SerializerWriter {
                return this;
        }
 
+
        
//--------------------------------------------------------------------------------
        // Overridden methods
        
//--------------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/json/package.html
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/json/package.html 
b/juneau-core/src/main/java/org/apache/juneau/json/package.html
index 1131613..bb0d4c3 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/package.html
+++ b/juneau-core/src/main/java/org/apache/juneau/json/package.html
@@ -277,10 +277,10 @@
        </p>
        <p class='bcode'>
        JsonSerializer s = <jk>new</jk> JsonSerializer()
-               
.setProperty(SerializerContext.<jsf>SERIALIZER_useIndentation</jsf>, 
<jk>true</jk>)
-               
.setProperty(JsonSerializerContext.<jsf>JSON_useWhitespace</jsf>, <jk>true</jk>)
-               .setProperty(JsonSerializerContext.<jsf>JSON_simpleMode</jsf>, 
<jk>true</jk>)
-               .setProperty(SerializerContext.<jsf>SERIALIZER_quoteChar</jsf>, 
<js>'\''</js>);
+               .setUseIndentation(<jk>true</jk>)
+               .setUseWhitespace(<jk>true</jk>)
+               .setSimpleMode(<jk>true</jk>)
+               .setQuoteChar(<js>'\''</js>);
        </p>
        
        <p>
@@ -648,7 +648,7 @@
                </p>
                <p class='bcode'>
        <jc>// Clone an existing serializer and set property for detecting 
recursions.</jc>
-       JsonSerializer s = 
JsonSerializer.<jsf>DEFAULT_LAX_READABLE</jsf>.clone().setProperty(SerializerContext.<jsf>SERIALIZER_detectRecursions</jsf>,
 <jk>true</jk>);
+       JsonSerializer s = 
JsonSerializer.<jsf>DEFAULT_LAX_READABLE</jsf>.clone().setDetectRecursions(<jk>true</jk>);
 
        <jc>// Create a recursive loop.</jc>
        A a = <jk>new</jk> A();

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java 
b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
index 9113093..0b15adc 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
@@ -18,7 +18,6 @@ import java.lang.reflect.*;
 import java.util.*;
 
 import org.apache.juneau.*;
-import org.apache.juneau.MediaType;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.transform.*;
@@ -181,8 +180,9 @@ public final class MsgPackParser extends InputStreamParser {
                return (T)o;
        }
 
+
        
//--------------------------------------------------------------------------------
-       // Overridden methods
+       // Entry point methods
        
//--------------------------------------------------------------------------------
 
        @Override /* Parser */
@@ -198,50 +198,408 @@ public final class MsgPackParser extends 
InputStreamParser {
                return o;
        }
 
+
+       
//--------------------------------------------------------------------------------
+       // Properties
+       
//--------------------------------------------------------------------------------
+
+       @Override /* Parser */
+       public Parser setTrimStrings(boolean value) throws LockedException {
+               super.setTrimStrings(value);
+               return this;
+       }
+
+       @Override /* Parser */
+       public Parser setStrict(boolean value) throws LockedException {
+               super.setStrict(value);
+               return this;
+       }
+
        @Override /* Parser */
-       public MsgPackParser setProperty(String property, Object value) throws 
LockedException {
-               super.setProperty(property, value);
+       public Parser setInputStreamCharset(String value) throws 
LockedException {
+               super.setInputStreamCharset(value);
+               return this;
+       }
+
+       @Override /* Parser */
+       public Parser setFileCharset(String value) throws LockedException {
+               super.setFileCharset(value);
                return this;
        }
 
        @Override /* CoreApi */
-       public MsgPackParser setProperties(ObjectMap properties) throws 
LockedException {
-               super.setProperties(properties);
+       public Parser setBeansRequireDefaultConstructor(boolean value) throws 
LockedException {
+               super.setBeansRequireDefaultConstructor(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeansRequireSerializable(boolean value) throws 
LockedException {
+               super.setBeansRequireSerializable(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeansRequireSettersForGetters(boolean value) throws 
LockedException {
+               super.setBeansRequireSettersForGetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeansRequireSomeProperties(boolean value) throws 
LockedException {
+               super.setBeansRequireSomeProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeanMapPutReturnsOldValue(boolean value) throws 
LockedException {
+               super.setBeanMapPutReturnsOldValue(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeanConstructorVisibility(Visibility value) throws 
LockedException {
+               super.setBeanConstructorVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeanClassVisibility(Visibility value) throws 
LockedException {
+               super.setBeanClassVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeanFieldVisibility(Visibility value) throws 
LockedException {
+               super.setBeanFieldVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setMethodVisibility(Visibility value) throws 
LockedException {
+               super.setMethodVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setUseJavaBeanIntrospector(boolean value) throws 
LockedException {
+               super.setUseJavaBeanIntrospector(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setUseInterfaceProxies(boolean value) throws 
LockedException {
+               super.setUseInterfaceProxies(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setIgnoreUnknownBeanProperties(boolean value) throws 
LockedException {
+               super.setIgnoreUnknownBeanProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setIgnoreUnknownNullBeanProperties(boolean value) throws 
LockedException {
+               super.setIgnoreUnknownNullBeanProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setIgnorePropertiesWithoutSetters(boolean value) throws 
LockedException {
+               super.setIgnorePropertiesWithoutSetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setIgnoreInvocationExceptionsOnGetters(boolean value) 
throws LockedException {
+               super.setIgnoreInvocationExceptionsOnGetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setIgnoreInvocationExceptionsOnSetters(boolean value) 
throws LockedException {
+               super.setIgnoreInvocationExceptionsOnSetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setSortProperties(boolean value) throws LockedException {
+               super.setSortProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setNotBeanPackages(String...values) throws 
LockedException {
+               super.setNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setNotBeanPackages(Collection<String> values) throws 
LockedException {
+               super.setNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addNotBeanPackages(String...values) throws 
LockedException {
+               super.addNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addNotBeanPackages(Collection<String> values) throws 
LockedException {
+               super.addNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removeNotBeanPackages(String...values) throws 
LockedException {
+               super.removeNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removeNotBeanPackages(Collection<String> values) throws 
LockedException {
+               super.removeNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setNotBeanClasses(Class<?>...values) throws 
LockedException {
+               super.setNotBeanClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setNotBeanClasses(Collection<Class<?>> values) throws 
LockedException {
+               super.setNotBeanClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addNotBeanClasses(Class<?>...values) throws 
LockedException {
+               super.addNotBeanClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addNotBeanClasses(Collection<Class<?>> values) throws 
LockedException {
+               super.addNotBeanClasses(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public MsgPackParser addNotBeanClasses(Class<?>...classes) throws 
LockedException {
-               super.addNotBeanClasses(classes);
+       public Parser removeNotBeanClasses(Class<?>...values) throws 
LockedException {
+               super.removeNotBeanClasses(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public MsgPackParser addBeanFilters(Class<?>...classes) throws 
LockedException {
-               super.addBeanFilters(classes);
+       public Parser removeNotBeanClasses(Collection<Class<?>> values) throws 
LockedException {
+               super.removeNotBeanClasses(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public MsgPackParser addPojoSwaps(Class<?>...classes) throws 
LockedException {
-               super.addPojoSwaps(classes);
+       public Parser setBeanFilters(Class<?>...values) throws LockedException {
+               super.setBeanFilters(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public MsgPackParser addToDictionary(Class<?>...classes) throws 
LockedException {
-               super.addToDictionary(classes);
+       public Parser setBeanFilters(Collection<Class<?>> values) throws 
LockedException {
+               super.setBeanFilters(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public <T> MsgPackParser addImplClass(Class<T> interfaceClass, Class<? 
extends T> implClass) throws LockedException {
+       public Parser addBeanFilters(Class<?>...values) throws LockedException {
+               super.addBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addBeanFilters(Collection<Class<?>> values) throws 
LockedException {
+               super.addBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removeBeanFilters(Class<?>...values) throws 
LockedException {
+               super.removeBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removeBeanFilters(Collection<Class<?>> values) throws 
LockedException {
+               super.removeBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setPojoSwaps(Class<?>...values) throws LockedException {
+               super.setPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setPojoSwaps(Collection<Class<?>> values) throws 
LockedException {
+               super.setPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addPojoSwaps(Class<?>...values) throws LockedException {
+               super.addPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addPojoSwaps(Collection<Class<?>> values) throws 
LockedException {
+               super.addPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removePojoSwaps(Class<?>...values) throws LockedException 
{
+               super.removePojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removePojoSwaps(Collection<Class<?>> values) throws 
LockedException {
+               super.removePojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setImplClasses(Map<Class<?>,Class<?>> values) throws 
LockedException {
+               super.setImplClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public <T> CoreApi addImplClass(Class<T> interfaceClass, Class<? 
extends T> implClass) throws LockedException {
                super.addImplClass(interfaceClass, implClass);
                return this;
        }
 
        @Override /* CoreApi */
-       public MsgPackParser setClassLoader(ClassLoader classLoader) throws 
LockedException {
+       public Parser setBeanDictionary(Class<?>...values) throws 
LockedException {
+               super.setBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeanDictionary(Collection<Class<?>> values) throws 
LockedException {
+               super.setBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addToBeanDictionary(Class<?>...values) throws 
LockedException {
+               super.addToBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addToBeanDictionary(Collection<Class<?>> values) throws 
LockedException {
+               super.addToBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removeFromBeanDictionary(Class<?>...values) throws 
LockedException {
+               super.removeFromBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removeFromBeanDictionary(Collection<Class<?>> values) 
throws LockedException {
+               super.removeFromBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeanTypePropertyName(String value) throws 
LockedException {
+               super.setBeanTypePropertyName(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setDefaultParser(Class<?> value) throws LockedException {
+               super.setDefaultParser(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setLocale(Locale value) throws LockedException {
+               super.setLocale(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setTimeZone(TimeZone value) throws LockedException {
+               super.setTimeZone(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setMediaType(MediaType value) throws LockedException {
+               super.setMediaType(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setDebug(boolean value) throws LockedException {
+               super.setDebug(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setProperty(String name, Object value) throws 
LockedException {
+               super.setProperty(name, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setProperties(ObjectMap properties) throws 
LockedException {
+               super.setProperties(properties);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addToProperty(String name, Object value) throws 
LockedException {
+               super.addToProperty(name, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser putToProperty(String name, Object key, Object value) 
throws LockedException {
+               super.putToProperty(name, key, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser putToProperty(String name, Object value) throws 
LockedException {
+               super.putToProperty(name, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removeFromProperty(String name, Object value) throws 
LockedException {
+               super.removeFromProperty(name, value);
+               return this;
+       }
+
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* CoreApi */
+       public Parser setClassLoader(ClassLoader classLoader) throws 
LockedException {
                super.setClassLoader(classLoader);
                return this;
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java 
b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java
index 2e04978..267305f 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java
@@ -21,23 +21,8 @@ import org.apache.juneau.parser.*;
  * Context properties are set by calling {@link 
ContextFactory#setProperty(String, Object)} on the context factory
  * returned {@link CoreApi#getContextFactory()}.
  * <p>
- * The following convenience methods are also provided for setting context 
properties:
- * <ul>
- *     <li>{@link MsgPackParser#setProperty(String,Object)}
- *     <li>{@link MsgPackParser#setProperties(ObjectMap)}
- *     <li>{@link MsgPackParser#addNotBeanClasses(Class[])}
- *     <li>{@link MsgPackParser#addBeanFilters(Class[])}
- *     <li>{@link MsgPackParser#addPojoSwaps(Class[])}
- *     <li>{@link MsgPackParser#addToDictionary(Class[])}
- *     <li>{@link MsgPackParser#addImplClass(Class,Class)}
- * </ul>
- * <p>
  * See {@link ContextFactory} for more information about context properties.
  *
- * <h6 class='topic' id='ConfigProperties'>Configurable properties on the 
MessagePack parser</h6>
- * <p>
- *     None.
- *
  * <h5 class='section'>Inherited configurable properties:</h5>
  * <ul class='javahierarchy'>
  *     <li class='c'><a class="doclink" 
href="../BeanContext.html#ConfigProperties">BeanContext</a> - Properties 
associated with handling beans on serializers and parsers.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java 
b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
index 4ab038b..4ce103d 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
@@ -190,7 +190,7 @@ public class MsgPackSerializer extends 
OutputStreamSerializer {
 
 
        
//--------------------------------------------------------------------------------
-       // Overridden methods
+       // Entry point methods
        
//--------------------------------------------------------------------------------
 
        @Override /* Serializer */
@@ -204,49 +204,473 @@ public class MsgPackSerializer extends 
OutputStreamSerializer {
                serializeAnything(s, s.getOutputStream(), o, null, "root", 
null);
        }
 
+
+       
//--------------------------------------------------------------------------------
+       // Properties
+       
//--------------------------------------------------------------------------------
+
+       @Override /* Serializer */
+       public MsgPackSerializer setMaxDepth(int value) throws LockedException {
+               super.setMaxDepth(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public MsgPackSerializer setInitialDepth(int value) throws 
LockedException {
+               super.setInitialDepth(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public MsgPackSerializer setDetectRecursions(boolean value) throws 
LockedException {
+               super.setDetectRecursions(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public MsgPackSerializer setIgnoreRecursions(boolean value) throws 
LockedException {
+               super.setIgnoreRecursions(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public MsgPackSerializer setUseIndentation(boolean value) throws 
LockedException {
+               super.setUseIndentation(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public MsgPackSerializer setAddBeanTypeProperties(boolean value) throws 
LockedException {
+               super.setAddBeanTypeProperties(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public MsgPackSerializer setQuoteChar(char value) throws 
LockedException {
+               super.setQuoteChar(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public MsgPackSerializer setTrimNullProperties(boolean value) throws 
LockedException {
+               super.setTrimNullProperties(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public MsgPackSerializer setTrimEmptyCollections(boolean value) throws 
LockedException {
+               super.setTrimEmptyCollections(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public MsgPackSerializer setTrimEmptyMaps(boolean value) throws 
LockedException {
+               super.setTrimEmptyMaps(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public MsgPackSerializer setTrimStrings(boolean value) throws 
LockedException {
+               super.setTrimStrings(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public MsgPackSerializer setRelativeUriBase(String value) throws 
LockedException {
+               super.setRelativeUriBase(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public MsgPackSerializer setAbsolutePathUriBase(String value) throws 
LockedException {
+               super.setAbsolutePathUriBase(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public MsgPackSerializer setSortCollections(boolean value) throws 
LockedException {
+               super.setSortCollections(value);
+               return this;
+       }
+
+       @Override /* Serializer */
+       public MsgPackSerializer setSortMaps(boolean value) throws 
LockedException {
+               super.setSortMaps(value);
+               return this;
+       }
+
        @Override /* CoreApi */
-       public MsgPackSerializer setProperty(String property, Object value) 
throws LockedException {
-               super.setProperty(property, value);
+       public MsgPackSerializer setBeansRequireDefaultConstructor(boolean 
value) throws LockedException {
+               super.setBeansRequireDefaultConstructor(value);
                return this;
        }
 
        @Override /* CoreApi */
-       public MsgPackSerializer setProperties(ObjectMap properties) throws 
LockedException {
-               super.setProperties(properties);
+       public MsgPackSerializer setBeansRequireSerializable(boolean value) 
throws LockedException {
+               super.setBeansRequireSerializable(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setBeansRequireSettersForGetters(boolean 
value) throws LockedException {
+               super.setBeansRequireSettersForGetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setBeansRequireSomeProperties(boolean value) 
throws LockedException {
+               super.setBeansRequireSomeProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setBeanMapPutReturnsOldValue(boolean value) 
throws LockedException {
+               super.setBeanMapPutReturnsOldValue(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setBeanConstructorVisibility(Visibility value) 
throws LockedException {
+               super.setBeanConstructorVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setBeanClassVisibility(Visibility value) 
throws LockedException {
+               super.setBeanClassVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setBeanFieldVisibility(Visibility value) 
throws LockedException {
+               super.setBeanFieldVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setMethodVisibility(Visibility value) throws 
LockedException {
+               super.setMethodVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setUseJavaBeanIntrospector(boolean value) 
throws LockedException {
+               super.setUseJavaBeanIntrospector(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setUseInterfaceProxies(boolean value) throws 
LockedException {
+               super.setUseInterfaceProxies(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setIgnoreUnknownBeanProperties(boolean value) 
throws LockedException {
+               super.setIgnoreUnknownBeanProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setIgnoreUnknownNullBeanProperties(boolean 
value) throws LockedException {
+               super.setIgnoreUnknownNullBeanProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setIgnorePropertiesWithoutSetters(boolean 
value) throws LockedException {
+               super.setIgnorePropertiesWithoutSetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setIgnoreInvocationExceptionsOnGetters(boolean 
value) throws LockedException {
+               super.setIgnoreInvocationExceptionsOnGetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setIgnoreInvocationExceptionsOnSetters(boolean 
value) throws LockedException {
+               super.setIgnoreInvocationExceptionsOnSetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setSortProperties(boolean value) throws 
LockedException {
+               super.setSortProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setNotBeanPackages(String...values) throws 
LockedException {
+               super.setNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setNotBeanPackages(Collection<String> values) 
throws LockedException {
+               super.setNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer addNotBeanPackages(String...values) throws 
LockedException {
+               super.addNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer addNotBeanPackages(Collection<String> values) 
throws LockedException {
+               super.addNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer removeNotBeanPackages(String...values) throws 
LockedException {
+               super.removeNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer removeNotBeanPackages(Collection<String> 
values) throws LockedException {
+               super.removeNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setNotBeanClasses(Class<?>...values) throws 
LockedException {
+               super.setNotBeanClasses(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public MsgPackSerializer addNotBeanClasses(Class<?>...classes) throws 
LockedException {
-               super.addNotBeanClasses(classes);
+       public MsgPackSerializer setNotBeanClasses(Collection<Class<?>> values) 
throws LockedException {
+               super.setNotBeanClasses(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public MsgPackSerializer addBeanFilters(Class<?>...classes) throws 
LockedException {
-               super.addBeanFilters(classes);
+       public MsgPackSerializer addNotBeanClasses(Class<?>...values) throws 
LockedException {
+               super.addNotBeanClasses(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public MsgPackSerializer addPojoSwaps(Class<?>...classes) throws 
LockedException {
-               super.addPojoSwaps(classes);
+       public MsgPackSerializer addNotBeanClasses(Collection<Class<?>> values) 
throws LockedException {
+               super.addNotBeanClasses(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public MsgPackSerializer addToDictionary(Class<?>...classes) throws 
LockedException {
-               super.addToDictionary(classes);
+       public MsgPackSerializer removeNotBeanClasses(Class<?>...values) throws 
LockedException {
+               super.removeNotBeanClasses(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public <T> MsgPackSerializer addImplClass(Class<T> interfaceClass, 
Class<? extends T> implClass) throws LockedException {
+       public MsgPackSerializer removeNotBeanClasses(Collection<Class<?>> 
values) throws LockedException {
+               super.removeNotBeanClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setBeanFilters(Class<?>...values) throws 
LockedException {
+               super.setBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setBeanFilters(Collection<Class<?>> values) 
throws LockedException {
+               super.setBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer addBeanFilters(Class<?>...values) throws 
LockedException {
+               super.addBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer addBeanFilters(Collection<Class<?>> values) 
throws LockedException {
+               super.addBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer removeBeanFilters(Class<?>...values) throws 
LockedException {
+               super.removeBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer removeBeanFilters(Collection<Class<?>> values) 
throws LockedException {
+               super.removeBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setPojoSwaps(Class<?>...values) throws 
LockedException {
+               super.setPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setPojoSwaps(Collection<Class<?>> values) 
throws LockedException {
+               super.setPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer addPojoSwaps(Class<?>...values) throws 
LockedException {
+               super.addPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer addPojoSwaps(Collection<Class<?>> values) 
throws LockedException {
+               super.addPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer removePojoSwaps(Class<?>...values) throws 
LockedException {
+               super.removePojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer removePojoSwaps(Collection<Class<?>> values) 
throws LockedException {
+               super.removePojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setImplClasses(Map<Class<?>,Class<?>> values) 
throws LockedException {
+               super.setImplClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public <T> CoreApi addImplClass(Class<T> interfaceClass, Class<? 
extends T> implClass) throws LockedException {
                super.addImplClass(interfaceClass, implClass);
                return this;
        }
 
        @Override /* CoreApi */
+       public MsgPackSerializer setBeanDictionary(Class<?>...values) throws 
LockedException {
+               super.setBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setBeanDictionary(Collection<Class<?>> values) 
throws LockedException {
+               super.setBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer addToBeanDictionary(Class<?>...values) throws 
LockedException {
+               super.addToBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer addToBeanDictionary(Collection<Class<?>> 
values) throws LockedException {
+               super.addToBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer removeFromBeanDictionary(Class<?>...values) 
throws LockedException {
+               super.removeFromBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer removeFromBeanDictionary(Collection<Class<?>> 
values) throws LockedException {
+               super.removeFromBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setBeanTypePropertyName(String value) throws 
LockedException {
+               super.setBeanTypePropertyName(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setDefaultParser(Class<?> value) throws 
LockedException {
+               super.setDefaultParser(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setLocale(Locale value) throws LockedException 
{
+               super.setLocale(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setTimeZone(TimeZone value) throws 
LockedException {
+               super.setTimeZone(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setMediaType(MediaType value) throws 
LockedException {
+               super.setMediaType(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setDebug(boolean value) throws LockedException 
{
+               super.setDebug(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setProperty(String name, Object value) throws 
LockedException {
+               super.setProperty(name, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer setProperties(ObjectMap properties) throws 
LockedException {
+               super.setProperties(properties);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer addToProperty(String name, Object value) 
throws LockedException {
+               super.addToProperty(name, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer putToProperty(String name, Object key, Object 
value) throws LockedException {
+               super.putToProperty(name, key, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer putToProperty(String name, Object value) 
throws LockedException {
+               super.putToProperty(name, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public MsgPackSerializer removeFromProperty(String name, Object value) 
throws LockedException {
+               super.removeFromProperty(name, value);
+               return this;
+       }
+
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* CoreApi */
        public MsgPackSerializer setClassLoader(ClassLoader classLoader) throws 
LockedException {
                super.setClassLoader(classLoader);
                return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
 
b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
index ced4439..7fa6019 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
@@ -21,23 +21,8 @@ import org.apache.juneau.serializer.*;
  * Context properties are set by calling {@link 
ContextFactory#setProperty(String, Object)} on the context factory
  * returned {@link CoreApi#getContextFactory()}.
  * <p>
- * The following convenience methods are also provided for setting context 
properties:
- * <ul>
- *     <li>{@link MsgPackSerializer#setProperty(String,Object)}
- *     <li>{@link MsgPackSerializer#setProperties(ObjectMap)}
- *     <li>{@link MsgPackSerializer#addNotBeanClasses(Class[])}
- *     <li>{@link MsgPackSerializer#addBeanFilters(Class[])}
- *     <li>{@link MsgPackSerializer#addPojoSwaps(Class[])}
- *     <li>{@link MsgPackSerializer#addToDictionary(Class[])}
- *     <li>{@link MsgPackSerializer#addImplClass(Class,Class)}
- * </ul>
- * <p>
  * See {@link ContextFactory} for more information about context properties.
  *
- * <h6 class='topic' id='ConfigProperties'>Configurable properties on the 
MessagePack serializer</h6>
- * <p>
- *     None.
- *
  * <h5 class='section'>Inherited configurable properties:</h5>
  * <ul class='javahierarchy'>
  *     <li class='c'><a class="doclink" 
href="../BeanContext.html#ConfigProperties">BeanContext</a> - Properties 
associated with handling beans on serializers and parsers.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java 
b/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java
index 9ec061a..e3d9f9a 100644
--- a/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java
@@ -12,6 +12,7 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.parser;
 
+import static org.apache.juneau.parser.ParserContext.*;
 import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;
@@ -22,6 +23,8 @@ import java.util.*;
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.internal.*;
+import org.apache.juneau.json.*;
+import org.apache.juneau.parser.ParseException;
 import org.apache.juneau.transform.*;
 import org.apache.juneau.transforms.*;
 import org.apache.juneau.utils.*;
@@ -149,6 +152,7 @@ public abstract class Parser extends CoreApi {
                }
        }
 
+
        
//--------------------------------------------------------------------------------
        // Abstract methods
        
//--------------------------------------------------------------------------------
@@ -354,6 +358,7 @@ public abstract class Parser extends CoreApi {
                return createSession(input, null, null, null, null, null, 
getPrimaryMediaType());
        }
 
+
        
//--------------------------------------------------------------------------------
        // Optional methods
        
//--------------------------------------------------------------------------------
@@ -498,6 +503,7 @@ public abstract class Parser extends CoreApi {
                throw new UnsupportedOperationException("Parser 
'"+getClass().getName()+"' does not support this method.");
        }
 
+
        
//--------------------------------------------------------------------------------
        // Other methods
        
//--------------------------------------------------------------------------------
@@ -643,47 +649,520 @@ public abstract class Parser extends CoreApi {
                return mediaTypes == null || mediaTypes.length == 0 ? null : 
mediaTypes[0];
        }
 
+
        
//--------------------------------------------------------------------------------
-       // Overridden methods
+       // Properties
        
//--------------------------------------------------------------------------------
 
+       /**
+        * <b>Configuration property:</b>  Trim parsed strings.
+        * <p>
+        * <ul>
+        *      <li><b>Name:</b> <js>"Parser.trimStrings"</js>
+        *      <li><b>Data type:</b> <code>Boolean</code>
+        *      <li><b>Default:</b> <jk>false</jk>
+        *      <li><b>Session-overridable:</b> <jk>true</jk>
+        * </ul>
+        * <p>
+        * If <jk>true</jk>, string values will be trimmed of whitespace using 
{@link String#trim()} before being added to the POJO.
+        * <p>
+        * <h5 class='section'>Notes:</h5>
+        * <ul>
+        *      <li>This is equivalent to calling 
<code>setProperty(<jsf>PARSER_trimStrings</jsf>, value)</code>.
+        * </ul>
+        *
+        * @param value The new value for this property.
+        * @return This object (for method chaining).
+        * @throws LockedException If {@link #lock()} was called on this class.
+        * @see ParserContext#PARSER_trimStrings
+        */
+       public Parser setTrimStrings(boolean value) throws LockedException {
+               return setProperty(PARSER_trimStrings, value);
+       }
+
+       /**
+        * <b>Configuration property:</b>  Strict mode.
+        * <p>
+        * <ul>
+        *      <li><b>Name:</b> <js>"Parser.strict"</js>
+        *      <li><b>Data type:</b> <code>Boolean</code>
+        *      <li><b>Default:</b> <jk>false</jk>
+        *      <li><b>Session-overridable:</b> <jk>true</jk>
+        * </ul>
+        * <p>
+        * If <jk>true</jk>, strict mode for the parser is enabled.
+        * <p>
+        * Strict mode can mean different things for different parsers.
+        * <p>
+        * <table class='styled'>
+        *      <tr><th>Parser class</th><th>Strict behavior</th></tr>
+        *      <tr>
+        *              <td>All reader-based parsers</td>
+        *              <td>
+        *                      When enabled, throws {@link ParseException 
ParseExceptions} on malformed charset input.
+        *                      Otherwise, malformed input is ignored.
+        *              </td>
+        *      </tr>
+        *      <tr>
+        *              <td>{@link JsonParser}</td>
+        *              <td>
+        *                      When enabled, throws exceptions on the 
following invalid JSON syntax:
+        *                      <ul>
+        *                              <li>Unquoted attributes.
+        *                              <li>Missing attribute values.
+        *                              <li>Concatenated strings.
+        *                              <li>Javascript comments.
+        *                              <li>Numbers and booleans when Strings 
are expected.
+        *                              <li>Numbers valid in Java but not JSON 
(e.g. octal notation, etc...)
+        *                      </ul>
+        *              </td>
+        *      </tr>
+        * </table>
+        * <p>
+        * <h5 class='section'>Notes:</h5>
+        * <ul>
+        *      <li>This is equivalent to calling 
<code>setProperty(<jsf>PARSER_strict</jsf>,value)</code>.
+        * </ul>
+        *
+        * @param value The new value for this property.
+        * @return This object (for method chaining).
+        * @throws LockedException If {@link #lock()} was called on this class.
+        * @see ParserContext#PARSER_strict
+        */
+       public Parser setStrict(boolean value) throws LockedException {
+               return setProperty(PARSER_strict, value);
+       }
+
+       /**
+        * <b>Configuration property:</b>  Input stream charset.
+        * <p>
+        * <ul>
+        *      <li><b>Name:</b> <js>"Parser.inputStreamCharset"</js>
+        *      <li><b>Data type:</b> <code>String</code>
+        *      <li><b>Default:</b> <js>"UTF-8"</js>
+        *      <li><b>Session-overridable:</b> <jk>true</jk>
+        * </ul>
+        * <p>
+        * The character set to use for converting <code>InputStreams</code> 
and byte arrays to readers.
+        * <p>
+        * Used when passing in input streams and byte arrays to {@link 
Parser#parse(Object, Class)}.
+        * <p>
+        * <h5 class='section'>Notes:</h5>
+        * <ul>
+        *      <li>This is equivalent to calling 
<code>setProperty(<jsf>PARSER_inputStreamCharset</jsf>, value)</code>.
+        * </ul>
+        *
+        * @param value The new value for this property.
+        * @return This object (for method chaining).
+        * @throws LockedException If {@link #lock()} was called on this class.
+        * @see ParserContext#PARSER_inputStreamCharset
+        */
+       public Parser setInputStreamCharset(String value) throws 
LockedException {
+               return setProperty(PARSER_inputStreamCharset, value);
+       }
+
+       /**
+        * <b>Configuration property:</b>  File charset.
+        * <p>
+        * <ul>
+        *      <li><b>Name:</b> <js>"Parser.fileCharset"</js>
+        *      <li><b>Data type:</b> <code>String</code>
+        *      <li><b>Default:</b> <js>"default"</js>
+        *      <li><b>Session-overridable:</b> <jk>true</jk>
+        * </ul>
+        * <p>
+        * The character set to use for reading <code>Files</code> from the 
file system.
+        * <p>
+        * Used when passing in files to {@link Parser#parse(Object, Class)}.
+        * <p>
+        * <js>"default"</js> can be used to indicate the JVM default file 
system charset.
+        * <p>
+        * <h5 class='section'>Notes:</h5>
+        * <ul>
+        *      <li>This is equivalent to calling 
<code>setProperty(<jsf>PARSER_fileCharset</jsf>,value)</code>.
+        * </ul>
+        *
+        * @param value The new value for this property.
+        * @return This object (for method chaining).
+        * @throws LockedException If {@link #lock()} was called on this class.
+        * @see ParserContext#PARSER_fileCharset
+        */
+       public Parser setFileCharset(String value) throws LockedException {
+               return setProperty(PARSER_fileCharset, value);
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeansRequireDefaultConstructor(boolean value) throws 
LockedException {
+               super.setBeansRequireDefaultConstructor(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeansRequireSerializable(boolean value) throws 
LockedException {
+               super.setBeansRequireSerializable(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeansRequireSettersForGetters(boolean value) throws 
LockedException {
+               super.setBeansRequireSettersForGetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeansRequireSomeProperties(boolean value) throws 
LockedException {
+               super.setBeansRequireSomeProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeanMapPutReturnsOldValue(boolean value) throws 
LockedException {
+               super.setBeanMapPutReturnsOldValue(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeanConstructorVisibility(Visibility value) throws 
LockedException {
+               super.setBeanConstructorVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeanClassVisibility(Visibility value) throws 
LockedException {
+               super.setBeanClassVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeanFieldVisibility(Visibility value) throws 
LockedException {
+               super.setBeanFieldVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setMethodVisibility(Visibility value) throws 
LockedException {
+               super.setMethodVisibility(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setUseJavaBeanIntrospector(boolean value) throws 
LockedException {
+               super.setUseJavaBeanIntrospector(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setUseInterfaceProxies(boolean value) throws 
LockedException {
+               super.setUseInterfaceProxies(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setIgnoreUnknownBeanProperties(boolean value) throws 
LockedException {
+               super.setIgnoreUnknownBeanProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setIgnoreUnknownNullBeanProperties(boolean value) throws 
LockedException {
+               super.setIgnoreUnknownNullBeanProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setIgnorePropertiesWithoutSetters(boolean value) throws 
LockedException {
+               super.setIgnorePropertiesWithoutSetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setIgnoreInvocationExceptionsOnGetters(boolean value) 
throws LockedException {
+               super.setIgnoreInvocationExceptionsOnGetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setIgnoreInvocationExceptionsOnSetters(boolean value) 
throws LockedException {
+               super.setIgnoreInvocationExceptionsOnSetters(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setSortProperties(boolean value) throws LockedException {
+               super.setSortProperties(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setNotBeanPackages(String...values) throws 
LockedException {
+               super.setNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setNotBeanPackages(Collection<String> values) throws 
LockedException {
+               super.setNotBeanPackages(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addNotBeanPackages(String...values) throws 
LockedException {
+               super.addNotBeanPackages(values);
+               return this;
+       }
+
        @Override /* CoreApi */
-       public Parser setProperty(String property, Object value) throws 
LockedException {
-               super.setProperty(property, value);
+       public Parser addNotBeanPackages(Collection<String> values) throws 
LockedException {
+               super.addNotBeanPackages(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public Parser addNotBeanClasses(Class<?>...classes) throws 
LockedException {
-               super.addNotBeanClasses(classes);
+       public Parser removeNotBeanPackages(String...values) throws 
LockedException {
+               super.removeNotBeanPackages(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public Parser addBeanFilters(Class<?>...classes) throws LockedException 
{
-               super.addBeanFilters(classes);
+       public Parser removeNotBeanPackages(Collection<String> values) throws 
LockedException {
+               super.removeNotBeanPackages(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public Parser addPojoSwaps(Class<?>...classes) throws LockedException {
-               super.addPojoSwaps(classes);
+       public Parser setNotBeanClasses(Class<?>...values) throws 
LockedException {
+               super.setNotBeanClasses(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public Parser addToDictionary(Class<?>...classes) throws 
LockedException {
-               super.addToDictionary(classes);
+       public Parser setNotBeanClasses(Collection<Class<?>> values) throws 
LockedException {
+               super.setNotBeanClasses(values);
                return this;
        }
 
        @Override /* CoreApi */
-       public <T> Parser addImplClass(Class<T> interfaceClass, Class<? extends 
T> implClass) throws LockedException {
+       public Parser addNotBeanClasses(Class<?>...values) throws 
LockedException {
+               super.addNotBeanClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addNotBeanClasses(Collection<Class<?>> values) throws 
LockedException {
+               super.addNotBeanClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removeNotBeanClasses(Class<?>...values) throws 
LockedException {
+               super.removeNotBeanClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removeNotBeanClasses(Collection<Class<?>> values) throws 
LockedException {
+               super.removeNotBeanClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeanFilters(Class<?>...values) throws LockedException {
+               super.setBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeanFilters(Collection<Class<?>> values) throws 
LockedException {
+               super.setBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addBeanFilters(Class<?>...values) throws LockedException {
+               super.addBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addBeanFilters(Collection<Class<?>> values) throws 
LockedException {
+               super.addBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removeBeanFilters(Class<?>...values) throws 
LockedException {
+               super.removeBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removeBeanFilters(Collection<Class<?>> values) throws 
LockedException {
+               super.removeBeanFilters(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setPojoSwaps(Class<?>...values) throws LockedException {
+               super.setPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setPojoSwaps(Collection<Class<?>> values) throws 
LockedException {
+               super.setPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addPojoSwaps(Class<?>...values) throws LockedException {
+               super.addPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addPojoSwaps(Collection<Class<?>> values) throws 
LockedException {
+               super.addPojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removePojoSwaps(Class<?>...values) throws LockedException 
{
+               super.removePojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removePojoSwaps(Collection<Class<?>> values) throws 
LockedException {
+               super.removePojoSwaps(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setImplClasses(Map<Class<?>,Class<?>> values) throws 
LockedException {
+               super.setImplClasses(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public <T> CoreApi addImplClass(Class<T> interfaceClass, Class<? 
extends T> implClass) throws LockedException {
                super.addImplClass(interfaceClass, implClass);
                return this;
        }
 
        @Override /* CoreApi */
+       public Parser setBeanDictionary(Class<?>...values) throws 
LockedException {
+               super.setBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeanDictionary(Collection<Class<?>> values) throws 
LockedException {
+               super.setBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addToBeanDictionary(Class<?>...values) throws 
LockedException {
+               super.addToBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addToBeanDictionary(Collection<Class<?>> values) throws 
LockedException {
+               super.addToBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removeFromBeanDictionary(Class<?>...values) throws 
LockedException {
+               super.removeFromBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removeFromBeanDictionary(Collection<Class<?>> values) 
throws LockedException {
+               super.removeFromBeanDictionary(values);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setBeanTypePropertyName(String value) throws 
LockedException {
+               super.setBeanTypePropertyName(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setDefaultParser(Class<?> value) throws LockedException {
+               super.setDefaultParser(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setLocale(Locale value) throws LockedException {
+               super.setLocale(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setTimeZone(TimeZone value) throws LockedException {
+               super.setTimeZone(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setMediaType(MediaType value) throws LockedException {
+               super.setMediaType(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setDebug(boolean value) throws LockedException {
+               super.setDebug(value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setProperty(String name, Object value) throws 
LockedException {
+               super.setProperty(name, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser setProperties(ObjectMap properties) throws 
LockedException {
+               super.setProperties(properties);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser addToProperty(String name, Object value) throws 
LockedException {
+               super.addToProperty(name, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser putToProperty(String name, Object key, Object value) 
throws LockedException {
+               super.putToProperty(name, key, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser putToProperty(String name, Object value) throws 
LockedException {
+               super.putToProperty(name, value);
+               return this;
+       }
+
+       @Override /* CoreApi */
+       public Parser removeFromProperty(String name, Object value) throws 
LockedException {
+               super.removeFromProperty(name, value);
+               return this;
+       }
+
+
+       
//--------------------------------------------------------------------------------
+       // Overridden methods
+       
//--------------------------------------------------------------------------------
+
+       @Override /* CoreApi */
        public Parser setClassLoader(ClassLoader classLoader) throws 
LockedException {
                super.setClassLoader(classLoader);
                return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/68dffad1/juneau-core/src/main/java/org/apache/juneau/parser/ParserContext.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/parser/ParserContext.java 
b/juneau-core/src/main/java/org/apache/juneau/parser/ParserContext.java
index a314a41..1432efb 100644
--- a/juneau-core/src/main/java/org/apache/juneau/parser/ParserContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/parser/ParserContext.java
@@ -17,39 +17,6 @@ import org.apache.juneau.json.*;
 
 /**
  * Configurable properties common to all parsers.
- *
- * <h6 class='topic' id='ConfigProperties'>Configurable properties common to 
all parsers</h6>
- * <table class='styled' style='border-collapse: collapse;'>
- *     <tr><th>Setting name</th><th>Description</th><th>Data 
type</th><th>Default value</th><th>Session overridable</th></tr>
- *     <tr>
- *             <td>{@link #PARSER_trimStrings}</td>
- *             <td>Trim parsed strings.</td>
- *             <td><code>Boolean</code></td>
- *             <td><jk>false</jk></td>
- *             <td><jk>true</jk></td>
- *     </tr>
- *     <tr>
- *             <td>{@link #PARSER_strict}</td>
- *             <td>Strict mode.</td>
- *             <td><code>Boolean</code></td>
- *             <td><jk>false</jk></td>
- *             <td><jk>true</jk></td>
- *     </tr>
- *     <tr>
- *             <td>{@link #PARSER_inputStreamCharset}</td>
- *             <td>Input stream charset.</td>
- *             <td><code>String</code></td>
- *             <td><js>"UTF-8"</js></td>
- *             <td><jk>true</jk></td>
- *     </tr>
- *     <tr>
- *             <td>{@link #PARSER_fileCharset}</td>
- *             <td>File charset.</td>
- *             <td><code>String</code></td>
- *             <td><js>"default"</js></td>
- *             <td><jk>true</jk></td>
- *     </tr>
- * </table>
  */
 public class ParserContext extends BeanContext {
 

Reply via email to