This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new d3aa042  Update Javadocs.
d3aa042 is described below

commit d3aa04219ca16df49665c3e99d6799053d8874bd
Author: JamesBognar <jamesbog...@apache.org>
AuthorDate: Mon Mar 5 21:44:56 2018 -0500

    Update Javadocs.
---
 .../org/apache/juneau/json/annotation/Json.java    |    6 +-
 .../Json.java => msgpack/package-info.java}        |   61 +-
 .../java/org/apache/juneau/msgpack/package.html    |   63 --
 juneau-doc/src/main/javadoc/overview.html          | 1104 ++++++++------------
 4 files changed, 440 insertions(+), 794 deletions(-)

diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
index 754158e..5b5093b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
@@ -45,7 +45,7 @@ public @interface Json {
         * <p>
         * This annotation can be applied to beans as well as other objects 
serialized to other types (e.g. strings).
         * 
-        * <h5 class='section'>Example:</h5>
+        * <h5 class='figure'>Example:</h5>
         * <p class='bcode'>
         *      <ja>@Json</ja>(wrapperAttr=<js>"myWrapper"</js>)
         *      <jk>public class</jk> MyBean {
@@ -54,7 +54,7 @@ public @interface Json {
         * </p>
         * 
         * <p>
-        * Without the <ja>@Xml</ja> annotations, serializing this bean as JSON 
would have produced the following...
+        * Without the <ja>@Json</ja> annotations, serializing this bean as 
JSON would have produced the following...
         * <p class='bcode'>
         *      {
         *              f1: 123
@@ -62,7 +62,7 @@ public @interface Json {
         * </p>
         * 
         * <p>
-        * With the annotations, serializing this bean as XML produces the 
following...
+        * With the annotations, serializing this bean as JSON produces the 
following...
         * <p class='bcode'>
         *      {
         *              myWrapper: {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/package-info.java
old mode 100644
new mode 100755
similarity index 50%
copy from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
copy to 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/package-info.java
index 754158e..f42db43
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/package-info.java
@@ -10,66 +10,9 @@
 // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
 // * specific language governing permissions and limitations under the 
License.                                              *
 // 
***************************************************************************************************************************
-package org.apache.juneau.json.annotation;
-
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
-import java.lang.annotation.*;
 
 /**
- * Annotation for specifying various JSON options for the JSON serializers and 
parsers.
- * 
- * <p>
- * Can be applied to Java types.
- * 
- * <p>
- * Can be used for the following:
- * <ul class='spaced-list'>
- *     <li>
- *             Wrap bean instances inside wrapper object (e.g. 
<code>{'wrapperAttr':bean}</code>).
- * </ul>
+ * MessagePack Marshalling Support
  */
-@Documented
-@Target({TYPE})
-@Retention(RUNTIME)
-@Inherited
-public @interface Json {
+package org.apache.juneau.msgpack;
 
-       /**
-        * Wraps beans in a JSON object with the specified attribute name.
-        * 
-        * <p>
-        * Applies only to {@link ElementType#TYPE}.
-        * 
-        * <p>
-        * This annotation can be applied to beans as well as other objects 
serialized to other types (e.g. strings).
-        * 
-        * <h5 class='section'>Example:</h5>
-        * <p class='bcode'>
-        *      <ja>@Json</ja>(wrapperAttr=<js>"myWrapper"</js>)
-        *      <jk>public class</jk> MyBean {
-        *              <jk>public int</jk> f1 = 123;
-        *      }
-        * </p>
-        * 
-        * <p>
-        * Without the <ja>@Xml</ja> annotations, serializing this bean as JSON 
would have produced the following...
-        * <p class='bcode'>
-        *      {
-        *              f1: 123
-        *      }
-        * </p>
-        * 
-        * <p>
-        * With the annotations, serializing this bean as XML produces the 
following...
-        * <p class='bcode'>
-        *      {
-        *              myWrapper: {
-        *                      f1: 123
-        *              }
-        *      }
-        * </p>
-        */
-       String wrapperAttr() default "";
-}
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/package.html
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/package.html
deleted file mode 100644
index cdd9531..0000000
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/package.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML>
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *  
- *  http://www.apache.org/licenses/LICENSE-2.0
- *  
- * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
or implied.  See the License for the
- * specific language governing permissions and limitations under the License.
- *
- 
***************************************************************************************************************************/
- -->
-<html>
-<head>
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-       <style type="text/css">
-               /* For viewing in Page Designer */
-               @IMPORT url("../../../../../../javadoc.css");
-
-               /* For viewing in REST interface */
-               @IMPORT url("../htdocs/javadoc.css");
-               body { 
-                       margin: 20px; 
-               }       
-       </style>
-       <script>
-               /* Replace all @code and @link tags. */ 
-               window.onload = function() {
-                       document.body.innerHTML = 
document.body.innerHTML.replace(/\{\@code ([^\}]+)\}/g, '<code>$1</code>');
-                       document.body.innerHTML = 
document.body.innerHTML.replace(/\{\@link (([^\}]+)\.)?([^\.\}]+)\}/g, 
'<code>$3</code>');
-               }
-       </script>
-</head>
-<body>
-<p>MessagePack Marshalling Support</p>
-<script>
-       function toggle(x) {
-               var div = x.nextSibling;
-               while (div != null && div.nodeType != 1)
-                       div = div.nextSibling;
-               if (div != null) {
-                       var d = div.style.display;
-                       if (d == 'block' || d == '') {
-                               div.style.display = 'none';
-                               x.className += " closed";
-                       } else {
-                               div.style.display = 'block';
-                               x.className = 
x.className.replace(/(?:^|\s)closed(?!\S)/g , '' );
-                       }
-               }
-       }
-</script>
-
-<a id='TOC'></a><h5 class='toc'>Table of Contents</h5>
-<ol class='toc'>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/juneau-doc/src/main/javadoc/overview.html 
b/juneau-doc/src/main/javadoc/overview.html
index b6510ea..dd4d170 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -123,63 +123,67 @@
                <li><p><a class='doclink' 
href='#juneau-marshall.BestPractices'>Best Practices</a></p>
                <li><p><a class='doclink' 
href='#juneau-marshall.JsonDetails'>JSON Details</a></p>
                <ol>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.JsonDetails.Methodology'>JSON Methodology</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.JsonDetails.Serializers'>Serializers</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.JsonDetails.Parsers'>Parsers</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.JsonDetails.ConfigurableProperties'>Configurable 
Properties</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.JsonDetails.JsonMethodology'>JSON Methodology</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.JsonDetails.JsonSerializers'>JSON Serializers</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.JsonDetails.JsonParsers'>JSON Parsers</a></p>
                        <li><p><a class='doclink' 
href='#juneau-marshall.JsonDetails.JsonAnnotation'>@Json Annotation</a></p>
                        <li><p><a class='doclink' 
href='#juneau-marshall.JsonDetails.JsonSchema'>JSON-Schema Support</a></p>
                </ol>
                <li><p><a class='doclink' 
href='#juneau-marshall.XmlDetails'>XML Details</a></p>
                <ol>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.XmlDetails.Methodology'>XML Methodology</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.XmlDetails.Serializers'>Serializers</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.XmlDetails.Parsers'>Parsers</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.XmlDetails.ConfigurableProperties'>Configurable 
Properties</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.XmlDetails.XmlMethodology'>XML Methodology</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.XmlDetails.XmlSerializers'>XML Serializers</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.XmlDetails.XmlParsers'>XML Parsers</a></p>
                        <li><p><a class='doclink' 
href='#juneau-marshall.XmlDetails.BeanTypeNameAnnotation'>@Bean(typeName) 
Annotation</a></p>
                        <li><p><a class='doclink' 
href='#juneau-marshall.XmlDetails.XmlChildNameAnnotation'>@Xml(childName) 
Annotation</a></p>
                        <li><p><a class='doclink' 
href='#juneau-marshall.XmlDetails.XmlFormatAnnotation'>@Xml(format) 
Annotation</a></p>
                        <li><p><a class='doclink' 
href='#juneau-marshall.XmlDetails.Namespaces'>Namespaces</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.XmlDetails.UriProperties'>URI Properties</a></p>
                        <li><p><a class='doclink' 
href='#juneau-marshall.XmlDetails.XmlSchema'>XML-Schema Support</a></p>
                </ol>
                <li><p><a class='doclink' 
href='#juneau-marshall.HtmlDetails'>HTML Details</a></p>
                <ol>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.HtmlDetails.Methodology'>HTML Methodology</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.HtmlDetails.Serializers'>Serializers</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.HtmlDetails.Parsers'>Parsers</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.HtmlDetails.ConfigurableProperties'>Configurable 
Properties</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.HtmlDetails.HtmlMethodology'>HTML Methodology</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.HtmlDetails.HtmlSerializers'>HTML Serializers</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.HtmlDetails.HtmlParsers'>HTML Parsers</a></p>
                        <li><p><a class='doclink' 
href='#juneau-marshall.HtmlDetails.HtmlAnnotation'>@Html Annotation</a></p>
                        <li><p><a class='doclink' 
href='#juneau-marshall.HtmlDetails.HtmlSchema'>HTML-Schema Support</a></p>
                </ol>
                <li><p><a class='doclink' 
href='#juneau-marshall.UonDetails'>UON Details</a></p>
                <ol>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.UonDetails.Methodology'>UON Methodology</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.UonDetails.Serializers'>Serializers</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.UonDetails.Parsers'>Parsers</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.UonDetails.ConfigurableProperties'>Configurable 
Properties</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.UonDetails.UonMethodology'>UON Methodology</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.UonDetails.UonSerializers'>UON Serializers</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.UonDetails.UonParsers'>UON Parsers</a></p>
                </ol>
                <li><p><a class='doclink' 
href='#juneau-marshall.UrlEncodingDetails'>URL-Encoding Details</a></p>
                <ol>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.UrlEncodingDetails.Methodology'>URL-Encoding 
Methodology</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.UrlEncodingDetails.Serializers'>Serializers</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.UrlEncodingDetails.Parsers'>Parsers</a></p>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.UrlEncodingDetails.ConfigurableProperties'>Configurable 
Properties</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.UrlEncodingDetails.UrlEncodingMethodology'>URL-Encoding 
Methodology</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.UrlEncodingDetails.UrlEncodingSerializers'>URL-Encoding 
Serializers</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.UrlEncodingDetails.UrlEncodingParsers'>URL-Encoding 
Parsers</a></p>
                        <li><p><a class='doclink' 
href='#juneau-marshall.UrlEncodingDetails.UrlEncodingAnnotation'>@UrlEncoding 
Annotation</a></p>
                </ol>
+               <li><p><a class='doclink' 
href='#juneau-marshall.MsgPackDetails'>MessagePack Details</a></p>
+               <ol>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.UrlEncodingDetails.MsgPackMethodology'>MessagePack 
Methodology</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.UrlEncodingDetails.MspPackSerializers'>MessagePack 
Serializers</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall.UrlEncodingDetails.MsgPackParsers'>MessagePack 
Parsers</a></p>
+               </ol>
+               <li><p><a class='doclink' 
href='#juneau-marshall.SoapDetails'>SOAP Details</a></p>
+               <li><p><a class='doclink' 
href='#juneau-marshall.CsvDetails'>CSV Details</a></p>
+               <li><p><a class='doclink' 
href='#juneau-marshall.JsoDetails'>Java Serialized Object Details</a></p>
        </ol>
        <li><p class='toc2'><a class='doclink' 
href='#juneau-marshall-rdf'><i>juneau-marshall-rdf</i></a></p>
        <ol>
                <li><p><a class='doclink' 
href='#juneau-marshall-rdf.RdfDetails'>RDF Details</a></p>
                <ol>
-                       <li><p><a class='doclink' 
href='#juneau-marshall.RdfDetails.Methodology'>RDF Methodology</a></p>
-                       <li><p><a class='doclink' 
href='juneau-marshall-rdf.RdfDetails.Serializers'>Serializers</a></p>
-                       <li><p><a class='doclink' 
href='juneau-marshall-rdf.RdfDetails.Parsers'>Parsers</a></p>
-                       <li><p><a class='doclink' 
href='juneau-marshall-rdf.RdfDetails.ConfigurableProperties'>Configurable 
Properties</a></p>
-                       <li><p><a class='doclink' 
href='juneau-marshall-rdf.RdfDetails.RdfAnnotation'>@Rdf Annotation</a></p>
-                       <li><p><a class='doclink' 
href='juneau-marshall-rdf.RdfDetails.Namespaces'>Namespaces</a></p>
-                       <li><p><a class='doclink' 
href='juneau-marshall-rdf.RdfDetails.UriProperties'>URI Properties</a></p>
-                       <li><p><a class='doclink' 
href='juneau-marshall-rdf.RdfDetails.RootProperty'>Root Property</a></p>
-                       <li><p><a class='doclink' 
href='juneau-marshall-rdf.RdfDetails.TypedLiterals'>Typed Literals</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall-rdf.RdfDetails.RdfMethodology'>RDF Methodology</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall-rdf.RdfDetails.RdfSerializers'>RDF Serializers</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall-rdf.RdfDetails.RdfParsers'>RDF Parsers</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall-rdf.RdfDetails.RdfAnnotation'>@Rdf Annotation</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall-rdf.RdfDetails.Namespaces'>Namespaces</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall-rdf.RdfDetails.UriProperties'>URI Properties</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall-rdf.RdfDetails.RootProperty'>Root Property</a></p>
+                       <li><p><a class='doclink' 
href='#juneau-marshall-rdf.RdfDetails.TypedLiterals'>Typed Literals</a></p>
                </ol>
        </ol>
        <li><p class='toc2'><a class='doclink' 
href='#juneau-dto'><i>juneau-dto</i></a></p>
@@ -1026,28 +1030,19 @@
                        <br>For example, JSON has the following predefined 
reusable serializers and parsers:
                </p>
                <ul class='doctree'>
-                       <li class='jc'>
-                               {@link org.apache.juneau.json.JsonSerializer}
+                       <li class='jc'>{@link 
org.apache.juneau.json.JsonSerializer}
                                <ul>
-                                       <li class='jf'>
-                                               {@link 
org.apache.juneau.json.JsonSerializer#DEFAULT DEFAULT}
-                                       <li class='jf'>
-                                               {@link 
org.apache.juneau.json.JsonSerializer#DEFAULT_LAX DEFAULT_LAX}
-                                       <li class='jf'>
-                                               {@link 
org.apache.juneau.json.JsonSerializer#DEFAULT_READABLE DEFAULT_READABLE}
-                                       <li class='jf'>
-                                               {@link 
org.apache.juneau.json.JsonSerializer#DEFAULT_LAX_READABLE DEFAULT_LAX_READABLE}
-                                       <li class='jf'>
-                                               {@link 
org.apache.juneau.json.JsonSerializer#DEFAULT_LAX_READABLE_SAFE 
DEFAULT_LAX_READABLE_SAFE}
+                                       <li class='jf'>{@link 
org.apache.juneau.json.JsonSerializer#DEFAULT DEFAULT}
+                                       <li class='jf'>{@link 
org.apache.juneau.json.JsonSerializer#DEFAULT_LAX DEFAULT_LAX}
+                                       <li class='jf'>{@link 
org.apache.juneau.json.JsonSerializer#DEFAULT_READABLE DEFAULT_READABLE}
+                                       <li class='jf'>{@link 
org.apache.juneau.json.JsonSerializer#DEFAULT_LAX_READABLE DEFAULT_LAX_READABLE}
+                                       <li class='jf'>{@link 
org.apache.juneau.json.JsonSerializer#DEFAULT_LAX_READABLE_SAFE 
DEFAULT_LAX_READABLE_SAFE}
                                </ul>
                        </li>
-                       <li class='jc'>
-                               {@link org.apache.juneau.json.JsonParser} 
+                       <li class='jc'>{@link 
org.apache.juneau.json.JsonParser} 
                                <ul>
-                                       <li class='jf'>
-                                               {@link 
org.apache.juneau.json.JsonParser#DEFAULT DEFAULT}
-                                       <li class='jf'>
-                                               {@link 
org.apache.juneau.json.JsonParser#DEFAULT_STRICT DEFAULT_STRICT}
+                                       <li class='jf'>{@link 
org.apache.juneau.json.JsonParser#DEFAULT DEFAULT}
+                                       <li class='jf'>{@link 
org.apache.juneau.json.JsonParser#DEFAULT_STRICT DEFAULT_STRICT}
                                </ul>
                        </li>
                </ul>
@@ -1069,95 +1064,86 @@
                .quoteChar(<js>'"'</js>)  <jc>// Use a different quote 
character.</jc>
                .build();
                </p>
-               
-               <h5 class='topic'>Additional Information</h5>
                <p>
-                       The following is a list of all configurable properties 
across all serializers and parsers.
+                       The following properties are common to all serializers 
and parsers:
                </p>
                <ul class='doctree'>
-                       <li class='jc'>
-                               {@link org.apache.juneau.BeanContext}
-                               - Properties associated with handling beans on 
serializers and parsers.
-                               <ul>
-                                       <li class='jc'>
-                                               {@link 
org.apache.juneau.serializer.Serializer}
-                                               - Configurable properties 
common to all serializers.
-                                               <ul>
-                                                       <li class='jc'>
-                                                               {@link 
org.apache.juneau.html.HtmlSerializer}
-                                                               - Configurable 
properties on the HTML serializer.
-                                                               <ul>
-                                                                       <li 
class='jc'>
-                                                                               
{@link org.apache.juneau.html.HtmlDocSerializer} 
-                                                                               
- Configurable properties on the HTML document serializer.
-                                                               </ul>
-                                                       </li>
-                                                       <li class='jic'>
-                                                               {@link 
org.apache.juneau.jena.RdfCommon} 
-                                                               - Configurable 
properties common to the RDF serializers and parsers.
-                                                               <ul>
-                                                                       <li 
class='jc'>
-                                                                               
{@link org.apache.juneau.jena.RdfSerializer}
-                                                                               
- Configurable properties on the RDF serializers.
-                                                               </ul>
-                                                       </li>
-                                                       <li class='jc'>
-                                                               {@link 
org.apache.juneau.json.JsonSerializer} 
-                                                               - Configurable 
properties on the JSON serializer.
-                                                       <li class='jc'>
-                                                               {@link 
org.apache.juneau.msgpack.MsgPackSerializer} 
-                                                               - Configurable 
properties on the MessagePack serializer.
-                                                       <li class='jc'>
-                                                               {@link 
org.apache.juneau.soap.SoapXmlSerializer} 
-                                                               - Configurable 
properties on the SOAP/XML serializer.
-                                                       <li class='jc'>
-                                                               {@link 
org.apache.juneau.uon.UonSerializer} 
-                                                               - Configurable 
properties on the URL-Encoding and UON serializers.
-                                                       <li class='jc'>
-                                                               {@link 
org.apache.juneau.xml.XmlSerializer} 
-                                                               - Configurable 
properties on the XML serializer.
-                                               </ul>
-                                       </li>
-                                       <li class='jc'>
-                                               {@link 
org.apache.juneau.parser.Parser} 
-                                               - Configurable properties 
common to all parsers.
-                                               <ul>
-                                                       <li class='jc'>
-                                                               {@link 
org.apache.juneau.html.HtmlParser} 
-                                                               - Configurable 
properties on the HTML parser.
-                                                       <li class='jic'>
-                                                               {@link 
org.apache.juneau.jena.RdfCommon} 
-                                                               - Configurable 
properties common to the RDF serializers and parsers.
-                                                               <ul>
-                                                                       <li 
class='jc'>
-                                                                       {@link 
org.apache.juneau.jena.RdfParser} 
-                                                                       - 
Configurable properties on the RDF parsers.
-                                                               </ul>
-                                                       </li>
-                                                       <li class='jc'>
-                                                               {@link 
org.apache.juneau.json.JsonParser} 
-                                                               - Configurable 
properties on the JSON parser.
-                                                       <li class='jc'>
-                                                               {@link 
org.apache.juneau.msgpack.MsgPackParser} 
-                                                               - Configurable 
properties on the MessagePack parser.
-                                                       <li class='jc'>
-                                                               {@link 
org.apache.juneau.uon.UonParser} 
-                                                               - Configurable 
properties on the URL-Encoding and UON parsers.
-                                                       <li class='jc'>
-                                                               {@link 
org.apache.juneau.xml.XmlParser} 
-                                                               - Configurable 
properties on the XML parser.
-                                               </ul>
-                                       </li>
-                                       <li class='jc'>
-                                               {@link 
org.apache.juneau.rest.RestContext} 
-                                               - Configurable properties on 
the REST servlet.
-                                       </li>
-                                       <li class='jc'>
-                                               {@link 
org.apache.juneau.rest.client.RestClient} 
-                                               - Configurable properties on 
the REST client.
-                                       </li>
-                               </ul>
-                       </li>
+                       <li class='jc'>{@link org.apache.juneau.BeanContext}
+                       <ul>
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_beanClassVisibility BEAN_beanClassVisibility}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_beanConstructorVisibility 
BEAN_beanConstructorVisibility}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_beanDictionary BEAN_beanDictionary}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_beanFieldVisibility BEAN_beanFieldVisibility}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_beanFilters BEAN_beanFilters}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_beanMapPutReturnsOldValue 
BEAN_beanMapPutReturnsOldValue}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_beanMethodVisibility 
BEAN_beanMethodVisibility}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_beansRequireDefaultConstructor 
BEAN_beansRequireDefaultConstructor}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_beansRequireSerializable 
BEAN_beansRequireSerializable}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_beansRequireSettersForGetters 
BEAN_beansRequireSettersForGetters}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_beansRequireSomeProperties 
BEAN_beansRequireSomeProperties}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_beanTypePropertyName 
BEAN_beanTypePropertyName}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_debug BEAN_debug}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_excludeProperties BEAN_excludeProperties}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_ignoreInvocationExceptionsOnGetters 
BEAN_ignoreInvocationExceptionsOnGetters}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_ignoreInvocationExceptionsOnSetters 
BEAN_ignoreInvocationExceptionsOnSetters}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_ignorePropertiesWithoutSetters 
BEAN_ignorePropertiesWithoutSetters}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_ignoreUnknownBeanProperties 
BEAN_ignoreUnknownBeanProperties}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_ignoreUnknownNullBeanProperties 
BEAN_ignoreUnknownNullBeanProperties}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_implClasses BEAN_implClasses}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_includeProperties BEAN_includeProperties}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_locale BEAN_locale}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_mediaType BEAN_mediaType}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_notBeanClasses BEAN_notBeanClasses}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_notBeanPackages BEAN_notBeanPackages}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_pojoSwaps BEAN_pojoSwaps}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_propertyNamer BEAN_propertyNamer}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_sortProperties BEAN_sortProperties}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_timeZone BEAN_timeZone}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_useInterfaceProxies BEAN_useInterfaceProxies}
+                               <li class='jf'>{@link 
org.apache.juneau.BeanContext#BEAN_useJavaBeanIntrospector 
BEAN_useJavaBeanIntrospector}
+                       </ul>
+               </ul>
+               <p>
+                       The following properties are also common to all 
serializers:
+               </p>
+               <ul class='doctree'>
+                       <li class='jc'>{@link 
org.apache.juneau.serializer.Serializer}
+                       <ul>
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_abridged SERIALIZER_abridged}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_addBeanTypeProperties 
SERIALIZER_addBeanTypeProperties}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_detectRecursions 
SERIALIZER_detectRecursions}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_ignoreRecursions 
SERIALIZER_ignoreRecursions}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_initialDepth 
SERIALIZER_initialDepth}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_listener SERIALIZER_listener}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_maxDepth SERIALIZER_maxDepth}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_maxIndent 
SERIALIZER_maxIndent}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_quoteChar 
SERIALIZER_quoteChar}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_sortCollections 
SERIALIZER_sortCollections}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_sortMaps SERIALIZER_sortMaps}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_trimEmptyCollections 
SERIALIZER_trimEmptyCollections}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_trimEmptyMaps 
SERIALIZER_trimEmptyMaps}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_trimNullProperties 
SERIALIZER_trimNullProperties}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_trimStrings 
SERIALIZER_trimStrings}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_uriContext 
SERIALIZER_uriContext}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_uriRelativity 
SERIALIZER_uriRelativity}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_uriResolution 
SERIALIZER_uriResolution}
+                               <li class='jf'>{@link 
org.apache.juneau.serializer.Serializer#SERIALIZER_useWhitespace 
SERIALIZER_useWhitespace}
+                       </ul>
+               </ul>
+               <p>
+                       The following properties are also common to all parsers:
+               </p>
+               <ul class='doctree'>
+                       <li class='jc'>{@link org.apache.juneau.parser.Parser}
+                       <ul>
+                               <li class='jf'>{@link 
org.apache.juneau.parser.Parser#PARSER_autoCloseStreams PARSER_autoCloseStreams}
+                               <li class='jf'>{@link 
org.apache.juneau.parser.Parser#PARSER_fileCharset PARSER_fileCharset}
+                               <li class='jf'>{@link 
org.apache.juneau.parser.Parser#PARSER_inputStreamCharset 
PARSER_inputStreamCharset}
+                               <li class='jf'>{@link 
org.apache.juneau.parser.Parser#PARSER_listener PARSER_listener}
+                               <li class='jf'>{@link 
org.apache.juneau.parser.Parser#PARSER_strict PARSER_strict}
+                               <li class='jf'>{@link 
org.apache.juneau.parser.Parser#PARSER_trimStrings PARSER_trimStrings}
+                               <li class='jf'>{@link 
org.apache.juneau.parser.Parser#PARSER_unbuffered PARSER_unbuffered}
+                       </ul>
                </ul>
        </div>
        
@@ -3341,7 +3327,7 @@
                        default.
                </p>
                <p>
-                       Starting back with our original JSON:
+                       For example, given the following JSON:
                </p>
                <p class='bcode'>
        {
@@ -3902,110 +3888,81 @@
                        highly-efficient state machine.
                        <br>Likewise, the JSON parser creates POJOs directly 
from JSON without the need for intermediate DOM objects. 
                </p>
-               
                <p>
-                       The example shown here is from the Address Book 
resource located in the 
-                       <code>org.apache.juneau.sample.war</code> application.
-                       <br>The POJO model consists of a <code>List</code> of 
<code>Person</code> beans, with each <code>Person</code> 
-                       containing zero or more <code>Address</code> beans.
+                       The following example shows JSON for a typical bean:
                </p>
-               <p>
-                       When you point a browser at 
<code>/sample/addressBook</code>, the POJO is rendered as HTML:
-               </p>
-               <img class='bordered' src="doc-files/Example_HTML.png">
-               <p>
-                       By appending 
<code>?Accept=<i>mediaType</i>&amp;plainText=true</code> to the URL, you can 
view the data in 
-                       the various supported JSON formats:
-               </p>
-               
-               <h5 class='figure'>Normal JSON</h5>
-               <img class='bordered' src="doc-files/Example_JSON.png">
+               <h5 class='figure'>Sample Beans</h5>
+               <p class='bcode'>
+       <jk>public class</jk> Person {
                
-               <h5 class='figure'>Simple JSON</h5>
-               <img class='bordered' src="doc-files/Example_JSONSimple.png">
+               <jc>// Bean properties</jc>
+               <jk>public</jk> String <jf>name</jf>;
+               <ja>@Swap</ja>(CalendarSwap.ISO8601DTZ.<jk>class</jk>) 
<jk>public</jk> Calendar <jf>birthDate</jf>;
+               <jk>public</jk> List&lt;Address&gt; <jf>addresses</jf>; 
+       
+               <jc>// Getters/setters omitted</jc>
+       }
+       
+       <jk>public class</jk> Address {
 
-               <p>
-                       In addition to serializing POJOs to JSON, Juneau 
includes support for serializing POJO metamodels to 
-                       JSON Schema.
-               </p>
-               
-               <h5 class='figure'>JSON Schema</h5>
-               <img class='bordered' src="doc-files/Example_JSONSchema.png">
-               
-               <p>
-                       The JSON data type produced depends on the Java object 
type being serialized.
+               <jc>// Bean properties</jc>
+               <jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
+               <jk>public</jk> StateEnum <jf>state</jf>;
+               <jk>public int</jk> <jf>zip</jf>;
+               <jk>public boolean</jk> <jf>isCurrent</jf>;
+
+               <jc>// Getters/setters omitted</jc>
+       }       
                </p>
-               <ul class='spaced-list'>
-                       <li>
-                               Primitives and primitive objects are converted 
to JSON primitives.
-                       <li>
-                               Beans and Maps are converted to JSON objects.
-                       <li>
-                               Collections and arrays are converted to JSON 
arrays.
-                       <li>
-                               Anything else is converted to JSON strings.
-               </ul>
-                       
-               <h5 class='topic'>Examples:</h5>
-               <table class='styled'>
-                       <tr>
-                               <th>POJO type</th>
-                               <th>Example</th>
-                               <th>Serialized form</th>
-                       </tr>
-                       <tr>
-                               <td>String</td>
-                               
<td><code>serializer.serialize(<js>"foobar"</js>);</code></td>
-                               <td><code><js>'foobar'</js></code>
-                       </tr>
-                       <tr>
-                               <td>Number</td>
-                               <td><code>serializer.serialize(123);</code></td>
-                               <td><code><jk>123</jk></code>
-                       </tr>
-                       <tr>
-                               <td>Boolean</td>
-                               
<td><code>serializer.serialize(<jk>true</jk>);</code></td>
-                               <td><code><jk>true</jk></code>
-                       </tr>
-                       <tr>
-                               <td>Null</td>
-                               
<td><code>serializer.serialize(<jk>null</jk>);</code></td>
-                               <td><code><jk>null</jk></code>
-                       </tr>
-                       <tr>
-                               <td>Beans with properties of any type on this 
list</td>
-                               <td><code>serializer.serialize(<jk>new</jk> 
MyBean());</code></td>
-                               
<td><code>{p1:<js>'val1'</js>,p2:<jk>true</jk>}</code>
-                       </tr>
-                       <tr>
-                               <td>Maps with values of any type on this 
list</td>
-                               <td><code>serializer.serialize(<jk>new</jk> 
TreeMap());</code></td>
-                               
<td><code>{key1:<js>'val1'</js>,key2:<jk>true</jk>}</code>
-                       </tr>
-                       <tr>
-                               <td>Collections and arrays of any type on this 
list</td>
-                               <td><code>serializer.serialize(<jk>new</jk> 
Object[]{1,<js>"foo"</js>,<jk>true</jk>});</code></td>
-                               <td><code>[1,'foo',true]</code>
-                       </tr>
-               </table>
-               <p>
-                       In addition, swaps can be used to convert 
non-serializable POJOs into serializable forms, such as converting 
-                       <code>Calendar</code> object to ISO8601 strings, or 
<code><jk>byte</jk>[]</code> arrays to Base-64 
-                       encoded strings.
-                       <br>These swaps can be associated at various levels:
+               <h5 class='figure'>Sample Code</h5>
+               <p class='bcode'>
+       Person p = <jk>new</jk> Person()
+               .name(<js>"John Smith"</js>)
+               .birthDate(<js>"1946-08-12T00:00:00Z"</js>)
+               .addresses(
+                       <jk>new</jk> Address() 
+                               .street(<js>"100 Main Street"</js>)
+                               .city(<js>"Anywhereville"</js>)
+                               .state(<jsf>NY</jsf>)
+                               .zip(12345)
+                               .isCurrent(<jk>true</jk>);
+               );
                </p>
-               <ul class='spaced-list'>
-                       <li>
-                               On serializer and parser instances to handle 
all objects of the class type globally.
-                       <li>
-                               On classes through the 
<code><ja>@Bean</ja></code> annotation.
-                       <li>
-                               On bean properties through the 
<code><ja>@BeanProperty</ja></code> annotations.
-               </ul>
-
+               <h5 class='figure'>Normal JSON</h5>
+               <p class='bcode'>
+   {
+      <js>"name"</js>: <js>"John Smith"</js>, 
+      <js>"birthDate"</js>: <js>"1946-08-12T00:00:00Z"</js>, 
+      <js>"addresses"</js>: [
+         {
+            <js>"street"</js>: <js>"100 Main Street"</js>, 
+            <js>"city"</js>: <js>"Anywhereville"</js>, 
+            <js>"state"</js>: <js>"NY"</js>, 
+            <js>"zip"</js>: 12345, 
+            <js>"isCurrent"</js>: <jk>true</jk>
+         }
+      ]
+   } 
+               </p>
+               <h5 class='figure'>Lax JSON</h5>
+               <p class='bcode'>
+   {
+      name: <js>'John Smith'</js>, 
+      birthDate: <js>'1946-08-12T00:00:00Z'</js>, 
+      addresses: [
+         {
+            street: <js>'100 Main Street'</js>, 
+            city: <js>'Anywhereville'</js>, 
+            state: <js>'NY'</js>, 
+            zip: 12345, 
+            isCurrent: <jk>true</jk>
+         }
+      ]
+   } 
+               </p>
+               
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.JsonDetails.Methodology"></a>
+               <a id="juneau-marshall.JsonDetails.JsonMethodology"></a>
                <h4 class='topic' onclick='toggle(this)'>2.16.1 - JSON 
Methodology</h4>
                <div class='topic'>
                        <p>
@@ -4022,47 +3979,55 @@
                                        Anything else is converted to JSON 
strings.
                        </ul>
                        
-                       <h5 class='topic'>Examples:</h5>
-                       <table class='styled'>
+                       <h5 class='figure'>Data type conversions:</h5>
+                       <table class='styled' style='max-width:800px;'>
                                <tr>
                                        <th>POJO type</th>
+                                       <th>JSON type</th>
                                        <th>Example</th>
                                        <th>Serialized form</th>
                                </tr>
                                <tr>
                                        <td>String</td>
-                                       
<td><code>serializer.serialize(<js>"foobar"</js>);</code></td>
+                                       <td>String</td>
+                                       
<td><code>serialize(<js>"foobar"</js>);</code></td>
                                        <td><code><js>'foobar'</js></code>
                                </tr>
                                <tr>
                                        <td>Number</td>
-                                       
<td><code>serializer.serialize(123);</code></td>
-                                       <td><code><jk>123</jk></code>
+                                       <td>Number</td>
+                                       <td><code>serialize(123);</code></td>
+                                       <td><code>123</code>
                                </tr>
                                <tr>
                                        <td>Boolean</td>
-                                       
<td><code>serializer.serialize(<jk>true</jk>);</code></td>
+                                       <td>Boolean</td>
+                                       
<td><code>serialize(<jk>true</jk>);</code></td>
                                        <td><code><jk>true</jk></code>
                                </tr>
                                <tr>
                                        <td>Null</td>
-                                       
<td><code>serializer.serialize(<jk>null</jk>);</code></td>
+                                       <td>Null</td>
+                                       
<td><code>serialize(<jk>null</jk>);</code></td>
                                        <td><code><jk>null</jk></code>
                                </tr>
                                <tr>
                                        <td>Beans with properties of any type 
on this list</td>
-                                       
<td><code>serializer.serialize(<jk>new</jk> MyBean());</code></td>
+                                       <td>Object</td>
+                                       <td><code>serialize(<jk>new</jk> 
MyBean());</code></td>
                                        
<td><code>{p1:<js>'val1'</js>,p2:<jk>true</jk>}</code>
                                </tr>
                                <tr>
                                        <td>Maps with values of any type on 
this list</td>
-                                       
<td><code>serializer.serialize(<jk>new</jk> TreeMap());</code></td>
+                                       <td>Object</td>
+                                       <td><code>serialize(<jk>new</jk> 
TreeMap());</code></td>
                                        
<td><code>{key1:<js>'val1'</js>,key2:<jk>true</jk>}</code>
                                </tr>
                                <tr>
                                        <td>Collections and arrays of any type 
on this list</td>
-                                       
<td><code>serializer.serialize(<jk>new</jk> 
Object[]{1,<js>"foo"</js>,<jk>true</jk>});</code></td>
-                                       <td><code>[1,'foo',true]</code>
+                                       <td>Array</td>
+                                       <td><code>serialize(<jk>new</jk> 
Object[]{1,<js>"foo"</js>,<jk>true</jk>});</code></td>
+                                       
<td><code>[1,<js>'foo'</js>,<jk>true</jk>]</code>
                                </tr>
                        </table>
                        <p>
@@ -4073,91 +4038,67 @@
                </div>
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.JsonDetails.Serializers"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.16.2 - 
Serializers</h4>
+               <a id="juneau-marshall.JsonDetails.JsonSerializers"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.16.2 - JSON 
Serializers</h4>
                <div class='topic'>
                        <p>
-                               {@link org.apache.juneau.json.JsonSerializer} 
is the class used to convert POJOs to JSON.
-                               <br>{@link 
org.apache.juneau.json.JsonSchemaSerializer} is the class used to generate 
JSON-Schema from POJOs.
+                               The {@link 
org.apache.juneau.json.JsonSerializer} class is used to serialize POJOs into 
JSON.
                        </p>    
                        <p>
-                               The JSON serializer includes several 
configurable settings.
-                               <br>Static reusable instances of Json 
serializers are provided with commonly-used settings:
+                               In addition to the common <a class='doclink' 
href='#juneau-marshall.ConfigurableProperties'>Configurable Properties</a>, 
+                               the JSON serializer provides the following 
settings:
                        </p>
-                       <ul class='spaced-list'>
-                               <li>
-                                       {@link 
org.apache.juneau.json.JsonSerializer#DEFAULT} - All default settings
-                               <li>
-                                       {@link 
org.apache.juneau.json.JsonSerializer#DEFAULT_LAX} - Single quotes, only quote 
attributes when 
-                                       necessary.
-                               <li>
-                                       {@link 
org.apache.juneau.json.JsonSerializer#DEFAULT_LAX_READABLE} - Readable output.
+                       <ul class='doctree'>
+                               <li class='jc'>{@link 
org.apache.juneau.json.JsonSerializer}
+                               <ul>
+                                       <li>{@link 
org.apache.juneau.json.JsonSerializer#JSON_addBeanTypeProperties 
JSON_addBeanTypeProperties}
+                                       <li>{@link 
org.apache.juneau.json.JsonSerializer#JSON_addBeanTypeProperties 
JSON_addBeanTypeProperties}
+                                       <li>{@link 
org.apache.juneau.json.JsonSerializer#JSON_simpleMode JSON_simpleMode}
+                               </ul>
                        </ul>
-                       
-                       <h5 class='topic'>Notes about examples</h5>
-                       <p>
-                               The examples shown in this document will use 
single-quote, readable settings.
-                               <br>For brevity, the examples will use public 
fields instead of getters/setters to reduce the size of the examples.
-                               <br>In the real world, you'll typically want to 
use standard bean getters and setters.
-                       </p>
-                       <p>
-                               To start off simple, we'll begin with the 
following simplified bean and build upon it.
-                       </p>
-                       <p class='bcode'>
-       <jk>public class</jk> Person {
-               <jc>// Bean properties</jc>
-               <jk>public int</jk> <jf>id</jf>;
-               <jk>public</jk> String <jf>name</jf>;
-
-               <jc>// Bean constructor (needed by parser)</jc>
-               <jk>public</jk> Person() {}
-
-               <jc>// Normal constructor</jc>
-               <jk>public</jk> Person(<jk>int</jk> id, String name) {
-                       <jk>this</jk>.<jf>id</jf> = id;
-                       <jk>this</jk>.<jf>name</jf> = name;
-               }
-       }
-                       </p>
-                       <p>
-                               The following code shows how to convert this to 
simple JSON:
-                       </p>
-                       <p class='bcode'>
-       <jc>// Use serializer with readable output, simple mode.</jc>
-       JsonSerializer s = JsonSerializer.<jsf>DEFAULT_LAX_READABLE</jsf>;
-
-       <jc>// Create our bean.</jc>
-       Person p = <jk>new</jk> Person(1, <js>"John Smith"</js>);
-
-       <jc>// Serialize the bean to JSON.</jc>
-       String json = s.serialize(p);
-                       </p>
-                       <p>
-                               We could have also created a new serializer 
with the same settings using the following code:
-                       </p>
-                       <p class='bcode'>
-       JsonSerializer s = 
JsonSerializer.<jsm>create</jsm>().simple().ws().sq().build();
-                       </p>
-                       
                        <p>
-                               The code above produces the following output:
-                       </p>
-                       <p class='bcode'>
-       {
-               id: <jk>1</jk>, 
-               name: <js>'John Smith'</js>
-       }
+                               The following predefined serializers are 
provided for convenience:
                        </p>
+                       <ul class='doctree'>
+                               <li class='jc'>{@link 
org.apache.juneau.json.JsonSerializer}
+                               <ul>
+                                       <li class='jf'>{@link 
org.apache.juneau.json.JsonSerializer#DEFAULT DEFAULT}
+                                       <li class='jf'>{@link 
org.apache.juneau.json.JsonSerializer#DEFAULT_LAX DEFAULT_LAX}
+                                       <li class='jf'>{@link 
org.apache.juneau.json.JsonSerializer#DEFAULT_LAX_READABLE DEFAULT_LAX_READABLE}
+                                       <li class='jf'>{@link 
org.apache.juneau.json.JsonSerializer#DEFAULT_LAX_READABLE_SAFE 
DEFAULT_LAX_READABLE_SAFE}
+                                       <li class='jf'>{@link 
org.apache.juneau.json.JsonSerializer#DEFAULT_READABLE DEFAULT_READABLE}
+                               </ul>
+                       </ul>
                </div>          
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.JsonDetails.Parsers"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.16.3 - Parsers</h4>
+               <a id="juneau-marshall.JsonDetails.JsonParsers"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.16.3 - JSON 
Parsers</h4>
                <div class='topic'>
                        <p>
-                               The {@link org.apache.juneau.json.JsonParser} 
class is the class used to parse JSON back into POJOs.
+                               The {@link org.apache.juneau.json.JsonParser} 
class is used to parse JSON into POJOs.
                        </p>    
                        <p>
+                               In addition to the common <a class='doclink' 
href='#juneau-marshall.ConfigurableProperties'>Configurable Properties</a>, 
+                               the JSON parser provides the following settings:
+                       </p>
+                       <ul class='doctree'>
+                               <li class='jc'>{@link 
org.apache.juneau.json.JsonParser}
+                               <ul>
+                                       <li>{@link 
org.apache.juneau.json.JsonParser#JSON_validateEnd JSON_validateEnd}
+                               </ul>
+                       </ul>
+                       <p>
+                               The following predefined parsers are provided 
for convenience:
+                       </p>
+                       <ul class='doctree'>
+                               <li class='jc'>{@link 
org.apache.juneau.json.JsonParser}
+                               <ul>
+                                       <li class='jf'>{@link 
org.apache.juneau.json.JsonParser#DEFAULT DEFAULT}
+                                       <li class='jf'>{@link 
org.apache.juneau.json.JsonParser#DEFAULT_STRICT DEFAULT_STRICT}
+                               </ul>
+                       </ul>
+                       <p>
                                The JSON parser supports ALL valid JSON, 
including:
                        </p>
                        <ul class='spaced-list'>
@@ -4172,112 +4113,54 @@
                                <li>
                                        Concatenated strings. 
                        </ul>   
+               </div>          
+               
+               <!-- 
=======================================================================================================
 -->
+               <a id="juneau-marshall.JsonDetails.JsonAnnotation"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.16.4 - @Json 
Annotation</h4>
+               <div class='topic'>
                        <p>
-                               A static reusable instance of 
<code>JsonParser</code> is also provided for convenience:
-                       </p>
-                       <ul>
-                               <li>{@link 
org.apache.juneau.json.JsonParser#DEFAULT}
-                       </ul>
+                               The {@link 
org.apache.juneau.json.annotation.Json#wrapperAttr() @Json(wrapperAttr)} 
annotation
+                               can be used to wrap beans inside a JSON object 
with a specified attribute name.
+                       </p>            
                        <p>
-                               Let's build upon the previous example and parse 
the generated JSON back into the original bean.
-                               <br>We start with the JSON that was generated.
+                               The annotation can be applied to beans as well 
as other objects serialized to other types (e.g. strings).
                        </p>
-                       <p class='bcode'>
-       <jc>// Use serializer with readable output, simple mode.</jc>
-       JsonSerializer s = JsonSerializer.<jsf>DEFAULT_LAX_READABLE</jsf>;
-
-       <jc>// Create our bean.</jc>
-       Person p = <jk>new</jk> Person(1, <js>"John Smith"</js>, 
<js>"http://sample/addressBook/person/1";</js>, 
-               <js>"http://sample/addressBook";</js>, <js>"Aug 12, 1946"</js>);
-       Address a = <jk>new</jk> Address();
-       a.<jf>uri</jf> = <jk>new</jk> 
URI(<js>"http://sample/addressBook/address/1";</js>);
-       a.<jf>personUri</jf> = <jk>new</jk> 
URI(<js>"http://sample/addressBook/person/1";</js>);
-       a.<jf>id</jf> = 1;
-       a.<jf>street</jf> = <js>"100 Main Street"</js>;
-       a.<jf>city</jf> = <js>"Anywhereville"</js>;
-       a.<jf>state</jf> = <js>"NY"</js>;
-       a.<jf>zip</jf> = 12345;
-       a.<jf>isCurrent</jf> = <jk>true</jk>;
-       p.<jf>addresses</jf>.add(a);    
-
-       <jc>// Serialize the bean to JSON.</jc>
-       String json = s.serialize(p);
+                       <h5 class='figure'>Example:</h5>
+                       <p class='bcode' style='width:800px;'>
+       <ja>@Json</ja>(wrapperAttr=<js>"personBean"</js>)
+       <jk>public class</jk> Person {
+               <jk>public</jk> String <jf>name</jf> = <js>"John Smith"</js>;
+       }
                        </p>
                        <p>
-                               This code produced the following:
+                               The following shows the JSON representation 
with and without the annotation present:
                        </p>
-                       <p class='bcode'>
+                       <table class='styled' style='width:800px;'>
+                               <tr>
+                                       <th>Without annotation</th>
+                                       <th>With annotation</th>
+                               </tr>
+                               <tr>
+                                       <td class='code'>
        {
-               id: <jk>1</jk>, 
-               name: <js>'John Smith'</js>, 
-               uri: <js>'http://sample/addressBook/person/1'</js>, 
-               addressBookUri: <js>'http://sample/addressBook'</js>, 
-               birthDate: <js>'1946-08-12T00:00:00Z'</js>, 
-               addresses: [
-                       {
-                               uri: 
<js>'http://sample/addressBook/address/1'</js>, 
-                               personUri: 
<js>'http://sample/addressBook/person/1'</js>, 
-                               id: <jk>1</jk>, 
-                               street: <js>'100 Main Street'</js>, 
-                               city: <js>'Anywhereville'</js>, 
-                               state: <js>'NY'</js>, 
-                               zip: <jk>12345</jk>, 
-                               isCurrent: <jk>true</jk>
-                       }
-               ]
+               name: <js>'John Smith'</js>
        }
-                       </p>
-                       <p>
-                               The code to convert this back into a bean is:
-                       </p>
-                       <p class='bcode'>
-                       <jc>// Parse it back into a bean using the reusable 
JSON parser.</jc>
-                       Person p = JsonParser.<jsf>DEFAULT</jsf>.parse(json, 
Person.<jk>class</jk>);
-               
-                       <jc>// Render it back as JSON.</jc>
-                       json = 
JsonSerializer.<jsf>DEFAULT_LAX_READABLE</jsf>.serialize(p);
-                       </p>
-                       <p>
-                               We print it back out to JSON to show that all 
the data has been preserved:
-                       </p>
-                       <p class='bcode'>
+                                       </td>
+                                       <td class='code'>
        {
-               id: <jk>1</jk>, 
-               name: <js>'John Smith'</js>, 
-               uri: <js>'http://sample/addressBook/person/1'</js>, 
-               addressBookUri: <js>'http://sample/addressBook'</js>, 
-               birthDate: <js>'1946-08-12T00:00:00Z'</js>, 
-               addresses: [
-                       {
-                               uri: 
<js>'http://sample/addressBook/address/1'</js>, 
-                               personUri: 
<js>'http://sample/addressBook/person/1'</js>, 
-                               id: <jk>1</jk>, 
-                               street: <js>'100 Main Street'</js>, 
-                               city: <js>'Anywhereville'</js>, 
-                               state: <js>'NY'</js>, 
-                               zip: <jk>12345</jk>, 
-                               isCurrent: <jk>true</jk>
-                       }
-               ]
-       }       
-                       </p>
-               </div>          
-               
-               <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.JsonDetails.ConfigurableProperties"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.16.4 - Configurable 
Properties</h4>
-               <div class='topic'>
-               </div>          
-
-               <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.JsonDetails.JsonAnnotation"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.16.5 - @Json 
Annotation</h4>
-               <div class='topic'>
+               personBean: {
+                       name: <js>'John Smith'</js>
+               }
+       }
+                                       </td>
+                               </tr>
+                       </table>
                </div>          
 
                <!-- 
=======================================================================================================
 -->
                <a id="juneau-marshall.JsonDetails.JsonSchema"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.16.6 - JSON-Schema 
Support</h4>
+               <h4 class='topic' onclick='toggle(this)'>2.16.5 - JSON-Schema 
Support</h4>
                <div class='topic'>
                        <p>
                                Juneau provides the {@link 
org.apache.juneau.json.JsonSchemaSerializer} class for generating JSON-Schema 
@@ -4290,42 +4173,28 @@
                                <i>Note:</i> As of this writing, JSON-Schema 
has not been standardized, so the output generated by the 
                                schema serializer may be subject to future 
modifications.
                        </p>
-                       <p>
-                               Lets start with the classes from the previous 
examples:
-                       </p>
+                       <h5 class='figure'>Sample Beans</h5>
                        <p class='bcode'>
        <jk>public class</jk> Person {
+               
                <jc>// Bean properties</jc>
-               <jk>public int</jk> <jf>id</jf>;
                <jk>public</jk> String <jf>name</jf>;
-               <jk>public</jk> URI <jf>uri</jf>;
-               <jk>public</jk> URI <jf>addressBookUri</jf>;
-               
<ja>@BeanProperty</ja>(swap=CalendarSwap.ISO8601DTZ.<jk>class</jk>) 
<jk>public</jk> Calendar <jf>birthDate</jf>;
-               <jk>public</jk> LinkedList&lt;Address&gt; <jf>addresses</jf> = 
<jk>new</jk> LinkedList&lt;Address&gt;();
-
-               <jc>// Bean constructor (needed by parser)</jc>
-               <jk>public</jk> Person() {}
-
-               <jc>// Normal constructor</jc>
-               <jk>public</jk> Person(<jk>int</jk> id, String name, String 
uri, String addressBookUri, String birthDate) <jk>throws</jk> Exception {
-                       <jk>this</jk>.<jf>id</jf> = id;
-                       <jk>this</jk>.<jf>name</jf> = name;
-                       <jk>this</jk>.<jf>uri</jf> = <jk>new</jk> URI(uri);
-                       <jk>this</jk>.<jf>addressBookUri</jf> = <jk>new</jk> 
URI(addressBookUri);
-                       <jk>this</jk>.<jf>birthDate</jf> = <jk>new</jk> 
GregorianCalendar();
-                       
<jk>this</jk>.<jf>birthDate</jf>.setTime(DateFormat.getDateInstance(DateFormat.<jsf>MEDIUM</jsf>).parse(birthDate));
-               }
+               <jk>public</jk> Calendar <jf>birthDate</jf>;
+               <jk>public</jk> List&lt;Address&gt; <jf>addresses</jf>; 
+       
+               <jc>// Getters/setters omitted</jc>
        }
-
+       
        <jk>public class</jk> Address {
+
                <jc>// Bean properties</jc>
-               <jk>public</jk> URI <jf>uri</jf>;
-               <jk>public</jk> URI <jf>personUri</jf>;
-               <jk>public int</jk> <jf>id</jf>;
-               <jk>public</jk> String <jf>street</jf>, <jf>city</jf>, 
<jf>state</jf>;
+               <jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
+               <jk>public</jk> StateEnum <jf>state</jf>;
                <jk>public int</jk> <jf>zip</jf>;
                <jk>public boolean</jk> <jf>isCurrent</jf>;
-       }
+
+               <jc>// Getters/setters omitted</jc>
+       }       
                        </p>
                        <p>
                                The code for creating our POJO model and 
generating JSON-Schema is shown below:
@@ -4333,49 +4202,23 @@
                        <p class='bcode'>
        <jc>// Get the schema serializer for one of the default JSON 
serializers.</jc>
        JsonSchemaSerializer s = 
JsonSerializer.<jsf>DEFAULT_LAX_READABLE</jsf>.getSchemaSerializer();
-
-       <jc>// Create our bean.</jc>
-       Person p = <jk>new</jk> Person(1, <js>"John Smith"</js>, 
<js>"http://sample/addressBook/person/1";</js>, 
-               <js>"http://sample/addressBook";</js>, <js>"Aug 12, 1946"</js>);
-       Address a = <jk>new</jk> Address();
-       a.<jf>uri</jf> = <jk>new</jk> 
URI(<js>"http://sample/addressBook/address/1";</js>);
-       a.<jf>personUri</jf> = <jk>new</jk> 
URI(<js>"http://sample/addressBook/person/1";</js>);
-       a.<jf>id</jf> = 1;
-       a.<jf>street</jf> = <js>"100 Main Street"</js>;
-       a.<jf>city</jf> = <js>"Anywhereville"</js>;
-       a.<jf>state</jf> = <js>"NY"</js>;
-       a.<jf>zip</jf> = 12345;
-       a.<jf>isCurrent</jf> = <jk>true</jk>;
-       p.<jf>addresses</jf>.add(a);
-
-       <jc>// Get the JSON Schema corresponding to the JSON generated 
above.</jc>
-       String jsonSchema = s.serialize(p);
+       
+       <jc>// Get the JSON Schema for the POJO.</jc>
+       String jsonSchema = s.serialize(<jk>new</jk> Person());
                        </p>
                        
-                       <h5 class='figure'>Results</h5>
+                       <h5 class='figure'>JSON Schema</h5>
                        <p class='bcode'>
        {
                type: <js>'object'</js>, 
                description: <js>'org.apache.juneau.sample.Person'</js>, 
                properties: {
-                       id: {
-                               type: <js>'number'</js>, 
-                               description: <js>'int'</js>
-                       }, 
                        name: {
                                type: <js>'string'</js>, 
                                description: <js>'java.lang.String'</js>
                        }, 
-                       uri: {
-                               type: <js>'any'</js>, 
-                               description: <js>'java.net.URI'</js>
-                       }, 
-                       addressBookUri: {
-                               type: <js>'any'</js>, 
-                               description: <js>'java.net.URI'</js>
-                       }, 
                        birthDate: {
-                               type: <js>'any'</js>, 
+                               type: <js>'string'</js>, 
                                description: <js>'java.util.Calendar'</js>
                        }, 
                        addresses: {
@@ -4385,18 +4228,6 @@
                                        type: <js>'object'</js>, 
                                        description: 
<js>'org.apache.juneau.sample.Address'</js>, 
                                        properties: {
-                                               uri: {
-                                                       type: <js>'any'</js>, 
-                                                       description: 
<js>'java.net.URI'</js>
-                                               }, 
-                                               personUri: {
-                                                       type: <js>'any'</js>, 
-                                                       description: 
<js>'java.net.URI'</js>
-                                               }, 
-                                               id: {
-                                                       type: 
<js>'number'</js>, 
-                                                       description: 
<js>'int'</js>
-                                               }, 
                                                street: {
                                                        type: 
<js>'string'</js>, 
                                                        description: 
<js>'java.lang.String'</js>
@@ -4440,157 +4271,72 @@
                        XML.
                        <br>However, several XML annotations are provided for 
handling namespaces and fine-tuning the format of the XML produced.
                </p>
-
-               <p>
-                       The example shown here is from the Address Book 
resource located in the <code>juneau-examples-rest</code> 
-                       microservice project.
-                       <br>The POJO model consists of a <code>List</code> of 
<code>Person</code> beans, with each <code>Person</code> 
-                       containing zero or more <code>Address</code> beans.
-               </p>
-               <p>
-                       When you point a browser at 
<code>/sample/addressBook</code>, the POJO is rendered as HTML:
-               </p>
-               <img class='bordered' src="doc-files/Example_HTML.png">
-               <p>
-                       By appending 
<code>?Accept=<i>mediaType</i>&amp;plainText=true</code> to the URL, you can 
view the data 
-                       in the various supported XML formats:
-               </p>
-               
-               <h5 class='figure'>Normal XML</h5>
-               <img class='bordered' src="doc-files/Example_XML.png">
-               
-               <h5 class='figure'>Simplified XML</h5>
-               <img class='bordered' src="doc-files/Example_XMLSimple.png">
-
-               <p>
-                       In addition to serializing POJOs to XML, Juneau 
includes support for serializing the POJO metamodel to 
-                       XML Schema, with support for multiple namespaces.
-               </p>
-               
-               <h5 class='figure'>XML Schema</h5>
-               <img class='bordered' src="doc-files/Example_XMLSchema.png">
-
-               <p>
-                       {@link org.apache.juneau.xml.XmlSerializer} is the 
class used to convert POJOs to XML.
-                       <br>{@link org.apache.juneau.xml.XmlDocSerializer} is a 
subclass that adds an XML declaration element to the output 
-                       before the POJO is serialized.
-               </p>    
-               <p>
-                       The XML serializer includes many configurable settings.
-                       <br>Static reusable instances of XML serializers are 
provided with commonly-used settings:
-               </p>
-               <ul class='spaced-list'>
-                       <li>
-                               {@link 
org.apache.juneau.xml.XmlSerializer#DEFAULT} 
-                               - All default settings.
-                       <li>
-                               {@link 
org.apache.juneau.xml.XmlSerializer#DEFAULT_SQ} 
-                               - Use single quotes on attributes.  Typically 
useful for testing since it makes string comparison simpler.
-                       <li>
-                               {@link 
org.apache.juneau.xml.XmlSerializer#DEFAULT_SQ_READABLE} 
-                               - Use single quotes on attributes and add 
whitespace for readability.
-                       <li>
-                               {@link 
org.apache.juneau.xml.XmlSerializer#DEFAULT_NS} 
-                               - Same as DEFAULT but with namespaces enabled.
-                       <li>
-                               {@link 
org.apache.juneau.xml.XmlSerializer#DEFAULT_NS_SQ} 
-                               - Same as DEFAULT_SQ but with namespaces 
enabled.
-                       <li>
-                               {@link 
org.apache.juneau.xml.XmlSerializer#DEFAULT_NS_SQ_READABLE} 
-                               - Same as DEFAULT_SQ_READABLE but with 
namespaces enabled.
-               </ul>
-               <p>
-                       In addition, DTO beans are provided that use the XML 
serializer and parser for the following languages:
-               </p>
-               <ul>
-                       <li class='jp'><a class='doclink' 
href='../dto/atom/package-summary.html#TOC'>org.apache.juneau.dto.atom</a> - 
ATOM beans.
-                       <li class='jp'><a class='doclink' 
href='../dto/cognos/package-summary.html#TOC'>org.apache.juneau.dto.cognos</a> 
- Cognos beans.
-                       <li class='jp'><a class='doclink' 
href='../dto/html5/package-summary.html#TOC'>org.apache.juneau.dto.html5</a> - 
HTML5 beans.
-               </ul>
                <p>
-                       Refer to the package-level Javadocs for more 
information about those formats.
-               </p>
-               
-               <h5 class='topic'>Notes about examples</h5>
-               <p>
-                       The examples shown in this document will use 
single-quote, readable settings.
-                       <br>For brevity, the examples will use public fields 
instead of getters/setters to reduce the size of the examples.
-                       <br>In the real world, you'll typically want to use 
standard bean getters and setters.
-               </p>
-               <p>
-                       To start off simple, we'll begin with the following 
simplified bean and build upon it.
+                       The following example shows XML for a typical bean:
                </p>
+               <h5 class='figure'>Sample Beans</h5>
                <p class='bcode'>
+       <ja>@Bean</ja>(typeName=<js>"person"</js>)
        <jk>public class</jk> Person {
+               
                <jc>// Bean properties</jc>
-               <jk>public int</jk> <jf>id</jf>;
                <jk>public</jk> String <jf>name</jf>;
-
-               <jc>// Bean constructor (needed by parser)</jc>
-               <jk>public</jk> Person() {}
-
-               <jc>// Normal constructor</jc>
-               <jk>public</jk> Person(<jk>int</jk> id, String name) {
-                       <jk>this</jk>.<jf>id</jf> = id;
-                       <jk>this</jk>.<jf>name</jf> = name;
-               }
+               <ja>@Swap</ja>(CalendarSwap.ISO8601DTZ.<jk>class</jk>) 
<jk>public</jk> Calendar <jf>birthDate</jf>;
+               <jk>public</jk> List&lt;Address&gt; <jf>addresses</jf>; 
+       
+               <jc>// Getters/setters omitted</jc>
        }
-               </p>
-               <p>
-                       The following code shows how to convert this to simple 
XML (no namespaces):
-               </p>
-               <p class='bcode'>
-               <jc>// Create a new serializer with readable output, no 
namespaces yet.</jc>
-       XmlSerializer s = XmlSerializer.<jsm>create</jsm>()
-               .ws()  <jc>// or .useWhitespace(true)</jc>  
-               .sq()  <jc>// or .quoteChar('\'')</jc>
-               .ns()  <jc>// or .enableNamespaces(false)</jc>
-               .build();
+       
+       <ja>@Bean</ja>(typeName=<js>"address"</js>)
+       <jk>public class</jk> Address {
 
-       <jc>// Create our bean.</jc>
-       Person p = <jk>new</jk> Person(1, <js>"John Smith"</js>);
+               <jc>// Bean properties</jc>
+               <jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
+               <jk>public</jk> StateEnum <jf>state</jf>;
+               <jk>public int</jk> <jf>zip</jf>;
+               <jk>public boolean</jk> <jf>isCurrent</jf>;
 
-       <jc>// Serialize the bean to XML.</jc>
-       String xml = s.serialize(p);
-               </p>
-               <p>
-                       <i>Side note:</i>  Serializers can also be created by 
cloning existing serializers:
+               <jc>// Getters/setters omitted</jc>
+       }       
                </p>
+               <h5 class='figure'>Sample Code</h5>
                <p class='bcode'>
-       <jc>// Create a new serializer with readable output, no namespaces yet, 
but use cloning method.</jc>
-       XmlSerializer s = XmlSerializer.<jsf>DEFAULT_SQ_READABLE</jsf>
-               .builder()
-               .ns()
-               .build();
-               </p>
-               <p>
-                       The code above produces the following output:
+       Person p = <jk>new</jk> Person()
+               .name(<js>"John Smith"</js>)
+               .birthDate(<js>"1946-08-12T00:00:00Z"</js>)
+               .addresses(
+                       <jk>new</jk> Address() 
+                               .street(<js>"100 Main Street"</js>)
+                               .city(<js>"Anywhereville"</js>)
+                               .state(<jsf>NY</jsf>)
+                               .zip(12345)
+                               .isCurrent(<jk>true</jk>);
+               );
                </p>
-               <p class='bcode'><xt>
-       &lt;object&gt;
-               &lt;id&gt;<xv>1</xv>&lt;/id&gt;
-               &lt;name&gt;<xv>John Smith</xv>&lt;/name&gt;
-       &lt;/object&gt;
-       </xt></p>
-               <p>
-                       The first thing you may notice is how the bean instance 
is represented by the element <xt>&lt;object&gt;</xt>.
-                       <br>When objects have no name associated with them, 
Juneau provides a default generalized name that maps to the 
-                       equivalent JSON data type.
-                       <br>Some cases when objects do not have names:
+               <h5 class='figure'>Normal XML:</h5>
+               <p class='bcode'>
+       <xt>&lt;person&gt;</xt>
+               <xt>&lt;name&gt;</xt>John Smith<xt>&lt;/name&gt;</xt>
+               
<xt>&lt;birthDate&gt;</xt>1946-08-12T04:00:00Z<xt>&lt;/birthDate&gt;</xt>
+               <xt>&lt;addresses&gt;</xt>
+                       <xt>&lt;address&gt;</xt>
+                               <xt>&lt;street&gt;</xt>100 Main 
Street<xt>&lt;/street&gt;</xt>
+                               
<xt>&lt;city&gt;</xt>Anywhereville<xt>&lt;/city&gt;</xt>
+                               <xt>&lt;state&gt;</xt>NY<xt>&lt;/state&gt;</xt>
+                               <xt>&lt;zip&gt;</xt>12345<xt>&lt;/zip&gt;</xt>
+                               
<xt>&lt;isCurrent&gt;</xt>true<xt>&lt;/isCurrent&gt;</xt>
+                       <xt>&lt;/address&gt;</xt>
+               <xt>&lt;/addresses&gt;</xt>
+       <xt>&lt;/person&gt;</xt>
                </p>
-               <ul>
-                       <li>Root element
-                       <li>Object in an array, collection, or map.
-               </ul>
                <p>
-                       The generalized name reflects the JSON-equivalent data 
type.
                        <br>Juneau produces JSON-equivalent XML, meaning any 
valid JSON document can be losslessly converted into an XML 
                        equivalent.
                        <br>In fact, all of the Juneau serializers and parsers 
are built upon this JSON-equivalence.
                </p>
 
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.XmlDetails.Methodology"></a>
+               <a id="juneau-marshall.XmlDetails.XmlMethodology"></a>
                <h4 class='topic' onclick='toggle(this)'>2.17.1 - XML 
Methodology</h4>
                <div class='topic'>
 
@@ -4998,14 +4744,14 @@
                </div>
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.XmlDetails.Serializers"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.17.2 - 
Serializers</h4>
+               <a id="juneau-marshall.XmlDetails.XmlSerializers"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.17.2 - XML 
Serializers</h4>
                <div class='topic'>
                </div>          
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.XmlDetails.Parsers"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.17.3 - Parsers</h4>
+               <a id="juneau-marshall.XmlDetails.XmlParsers"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.17.3 - XML 
Parsers</h4>
                <div class='topic'>
                        <p>
                                The {@link org.apache.juneau.xml.XmlParser} 
class is the class used to parse Juneau-generated XML back into 
@@ -5106,14 +4852,8 @@
                </div>          
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.XmlDetails.ConfigurableProperties"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.17.4 - Configurable 
Properties</h4>
-               <div class='topic'>
-               </div>          
-
-               <!-- 
=======================================================================================================
 -->
                <a id="juneau-marshall.XmlDetails.BeanTypeNameAnnotation"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.17.5 - 
@Bean(typeName) Annotation</h4>
+               <h4 class='topic' onclick='toggle(this)'>2.17.4 - 
@Bean(typeName) Annotation</h4>
                <div class='topic'>
                        <p>
                                The {@link 
org.apache.juneau.annotation.Bean#typeName() @Bean.typeName()} annotation can 
be used to 
@@ -5596,7 +5336,7 @@
                
                <!-- 
=======================================================================================================
 -->
                <a id="juneau-marshall.XmlDetails.XmlChildNameAnnotation"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.17.6 - 
@Xml(childName) Annotation</h4>
+               <h4 class='topic' onclick='toggle(this)'>2.17.5 - 
@Xml(childName) Annotation</h4>
                <div class='topic'>
                        <p>
                                The {@link 
org.apache.juneau.xml.annotation.Xml#childName() @Xml.childName()} annotation 
can be used to 
@@ -5685,7 +5425,7 @@
 
                <!-- 
=======================================================================================================
 -->
                <a id="juneau-marshall.XmlDetails.XmlFormatAnnotation"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.17.7 - @Xml(format) 
Annotation</h4>
+               <h4 class='topic' onclick='toggle(this)'>2.17.6 - @Xml(format) 
Annotation</h4>
                <div class='topic'>
                        <p>
                                The {@link 
org.apache.juneau.xml.annotation.Xml#format() @Xml.format()} annotation can be 
used to tweak 
@@ -6398,7 +6138,7 @@
 
                <!-- 
=======================================================================================================
 -->
                <a id="juneau-marshall.XmlDetails.Namespaces"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.17.8- Namespaces</h4>
+               <h4 class='topic' onclick='toggle(this)'>2.17.7- Namespaces</h4>
                <div class='topic'>
                        <p>
                                Let's go back to the example of our original 
<code>Person</code> bean class:
@@ -6560,6 +6300,12 @@
                </div>
 
                <!-- 
=======================================================================================================
 -->
+               <a id="juneau-marshall.XmlDetails.UriProperties"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.17.8- URI 
Properties</h4>
+               <div class='topic'>
+               </div>
+               
+               <!-- 
=======================================================================================================
 -->
                <a id="juneau-marshall.XmlDetails.XmlSchema"></a>
                <h4 class='topic' onclick='toggle(this)'>2.17.9 - XML-Schema 
Support</h4>
                <div class='topic'>
@@ -6903,7 +6649,7 @@
        <div class='topic'>
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.HtmlDetails.Methodology"></a>
+               <a id="juneau-marshall.HtmlDetails.HtmlMethodology"></a>
                <h4 class='topic' onclick='toggle(this)'>2.18.1 - HTML 
Methodology</h4>
                <div class='topic'>
 
@@ -7422,32 +7168,26 @@
                </div>
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.HtmlDetails.Serializers"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.18.2 - 
Serializers</h4>
+               <a id="juneau-marshall.HtmlDetails.HtmlSerializers"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.18.2 - HTML 
Serializers</h4>
                <div class='topic'>
                </div>          
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.HtmlDetails.Parsers"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.18.3 - Parsers</h4>
+               <a id="juneau-marshall.HtmlDetails.HtmlParsers"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.18.3 - HTML 
Parsers</h4>
                <div class='topic'>
                </div>          
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.HtmlDetails.ConfigurableProperties"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.18.4 - Configurable 
Properties</h4>
-               <div class='topic'>
-               </div>          
-
-               <!-- 
=======================================================================================================
 -->
                <a id="juneau-marshall.HtmlDetails.HtmlAnnotation"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.18.5 - @Html 
Annotation</h4>
+               <h4 class='topic' onclick='toggle(this)'>2.18.4 - @Html 
Annotation</h4>
                <div class='topic'>
                </div>
 
                <!-- 
=======================================================================================================
 -->
                <a id="juneau-marshall.HtmlDetails.HtmlSchema"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.18.6 - HTML-Schema 
Support</h4>
+               <h4 class='topic' onclick='toggle(this)'>2.18.5 - HTML-Schema 
Support</h4>
                <div class='topic'>
                </div>          
        </div>
@@ -7651,14 +7391,14 @@
                </p>
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.UonDetails.Methodology"></a>
+               <a id="juneau-marshall.UonDetails.UonMethodology"></a>
                <h4 class='topic' onclick='toggle(this)'>2.19.1 - UON 
Methodology</h4>
                <div class='topic'>
                </div>
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.UonDetails.Serializers"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.19.2 - 
Serializers</h4>
+               <a id="juneau-marshall.UonDetails.UonSerializers"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.19.2 - UON 
Serializers</h4>
                <div class='topic'>
                        <p>
                                {@link 
org.apache.juneau.urlencoding.UrlEncodingSerializer} and {@link 
org.apache.juneau.uon.UonSerializer} 
@@ -7771,8 +7511,8 @@
                </div>          
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.UonDetails.Parsers"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.19.3 - Parsers</h4>
+               <a id="juneau-marshall.UonDetails.UonParsers"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.19.3 - UON 
Parsers</h4>
                <div class='topic'>
                        <p>
                                {@link 
org.apache.juneau.urlencoding.UrlEncodingParser} and {@link 
org.apache.juneau.uon.UonParser} classes are 
@@ -7893,12 +7633,6 @@
        }       
                        </p>
                </div>          
-               
-               <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.UonDetails.ConfigurableProperties"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.19.4 - Configurable 
Properties</h4>
-               <div class='topic'>
-               </div>          
        </div>
        
        <!-- 
=======================================================================================================
 -->
@@ -8099,14 +7833,14 @@
                </p>
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.UrlEncodingDetails.Methodology"></a>
+               <a 
id="juneau-marshall.UrlEncodingDetails.UrlEncodingMethodology"></a>
                <h4 class='topic' onclick='toggle(this)'>2.20.1 - URL-Encoding 
Methodology</h4>
                <div class='topic'>
                </div>
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.UrlEncodingDetails.Serializers"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.20.2 - 
Serializers</h4>
+               <a 
id="juneau-marshall.UrlEncodingDetails.UrlEncodingSerializers"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.20.2 - URL-Encoding 
Serializers</h4>
                <div class='topic'>
                        <p>
                                {@link 
org.apache.juneau.urlencoding.UrlEncodingSerializer} and {@link 
org.apache.juneau.uon.UonSerializer} 
@@ -8220,8 +7954,8 @@
                </div>          
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall.UrlEncodingDetails.Parsers"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.20.3 - Parsers</h4>
+               <a 
id="juneau-marshall.UrlEncodingDetails.UrlEncodingParsers"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.20.3 - URL-Encoding 
Parsers</h4>
                <div class='topic'>
                        <p>
                                {@link 
org.apache.juneau.urlencoding.UrlEncodingParser} and {@link 
org.apache.juneau.uon.UonParser} classes 
@@ -8344,17 +8078,55 @@
                </div>          
                
                <!-- 
=======================================================================================================
 -->
-               <a 
id="juneau-marshall.UrlEncodingDetails.ConfigurableProperties"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.20.4 - Configurable 
Properties</h4>
+               <a 
id="juneau-marshall.UrlEncodingDetails.UrlEncodingAnnotation"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.20.4 - @UrlEncoding 
Annotation</h4>
+               <div class='topic'>
+               </div>
+       </div>
+
+       <!-- 
=======================================================================================================
 -->
+       <a id="juneau-marshall.MsgPackDetails"></a>
+       <h3 class='topic' onclick='toggle(this)'>2.21 - MessagePack Details</h3>
+       <div class='topic'>
+       
+               <!-- 
=======================================================================================================
 -->
+               <a id="juneau-marshall.MsgPackDetails.MsgPackMethodology"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.21.1 - MessagePack 
Methodology</h4>
+               <div class='topic'>
+               </div>
+       
+               <!-- 
=======================================================================================================
 -->
+               <a id="juneau-marshall.MsgPackDetails.MsgPackSerializers"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.21.2 - MessagePack 
Serializers</h4>
                <div class='topic'>
                </div>
 
                <!-- 
=======================================================================================================
 -->
-               <a 
id="juneau-marshall.UrlEncodingDetails.UrlEncodingAnnotation"></a>
-               <h4 class='topic' onclick='toggle(this)'>2.20.5 - @UrlEncoding 
Annotation</h4>
+               <a id="juneau-marshall.MsgPackDetails.MsgPackParsers"></a>
+               <h4 class='topic' onclick='toggle(this)'>2.21.3 - MessagePack 
Parsers</h4>
                <div class='topic'>
                </div>
+               
        </div>
+
+       <!-- 
=======================================================================================================
 -->
+       <a id="juneau-marshall.SoapDetails"></a>
+       <h3 class='topic' onclick='toggle(this)'>2.22 - SOAP Details</h3>
+       <div class='topic'>
+       </div>
+
+       <!-- 
=======================================================================================================
 -->
+       <a id="juneau-marshall.SoapDetails"></a>
+       <h3 class='topic' onclick='toggle(this)'>2.23 - CSV Details</h3>
+       <div class='topic'>
+       </div>
+
+       <!-- 
=======================================================================================================
 -->
+       <a id="juneau-marshall.SoapDetails"></a>
+       <h3 class='topic' onclick='toggle(this)'>2.24 - Java Serialized Object 
Details</h3>
+       <div class='topic'>
+       </div>
+       
 </div>
 
 <!-- 
===========================================================================================================
 -->
@@ -8480,14 +8252,14 @@
                <img class='bordered' src="doc-files/Example_N3.png">
 
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall-rdf.RdfDetails.Methodology"></a>
+               <a id="juneau-marshall-rdf.RdfDetails.RdfMethodology"></a>
                <h4 class='topic' onclick='toggle(this)'>3.1.1 - RDF 
Methodology</h4>
                <div class='topic'>
                </div>
 
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall-rdf.RdfDetails.Serializers"></a>
-               <h4 class='topic' onclick='toggle(this)'>3.1.2 - 
Serializers</h4>
+               <a id="juneau-marshall-rdf.RdfDetails.RdfSerializers"></a>
+               <h4 class='topic' onclick='toggle(this)'>3.1.2 - RDF 
Serializers</h4>
                <div class='topic'>
                        <p>
                                The {@link 
org.apache.juneau.jena.RdfSerializer} class is the top-level class for all 
Jena-based serializers.
@@ -8581,8 +8353,8 @@
                </div>          
                
                <!-- 
=======================================================================================================
 -->
-               <a id="juneau-marshall-rdf.RdfDetails.Parsers"></a>
-               <h4 class='topic' onclick='toggle(this)'>3.1.3 - Parsers</h4>
+               <a id="juneau-marshall-rdf.RdfDetails.RdfParsers"></a>
+               <h4 class='topic' onclick='toggle(this)'>3.1.3 - Rdf 
Parsers</h4>
                <div class='topic'>
                        <p>
                                The {@link org.apache.juneau.jena.RdfParser} 
class is the top-level class for all Jena-based parsers.
@@ -8669,20 +8441,14 @@
                </div>          
                
                <!-- 
=======================================================================================================
 -->
-               <a 
id="juneau-marshall-rdf.RdfDetails.ConfigurableProperties"></a>
-               <h4 class='topic' onclick='toggle(this)'>3.1.4 - Configurable 
Properties</h4>
-               <div class='topic'>
-               </div>
-               
-               <!-- 
=======================================================================================================
 -->
                <a id="juneau-marshall-rdf.RdfDetails.RdfAnnotation"></a>
-               <h4 class='topic' onclick='toggle(this)'>3.1.5 - @Rdf 
Annotation</h4>
+               <h4 class='topic' onclick='toggle(this)'>3.1.4 - @Rdf 
Annotation</h4>
                <div class='topic'>
                </div>
 
                <!-- 
=======================================================================================================
 -->
                <a id="juneau-marshall-rdf.RdfDetails.Namespaces"></a>
-               <h4 class='topic' onclick='toggle(this)'>3.1.6 - Namespaces</h4>
+               <h4 class='topic' onclick='toggle(this)'>3.1.5 - Namespaces</h4>
                <div class='topic'>
                        <p>
                                You'll notice in the previous example that 
Juneau namespaces are used to represent bean property names.
@@ -8767,7 +8533,7 @@
 
                <!-- 
=======================================================================================================
 -->
                <a id="juneau-marshall-rdf.RdfDetails.UriProperties"></a>
-               <h4 class='topic' onclick='toggle(this)'>3.1.7 - URI 
Properties</h4>
+               <h4 class='topic' onclick='toggle(this)'>3.1.6 - URI 
Properties</h4>
                <div class='topic'>
                        <p>
                                Bean properties of type 
<code>java.net.URI</code> or <code>java.net.URL</code> have special meaning to 
the 
@@ -8874,7 +8640,7 @@
 
                <!-- 
=======================================================================================================
 -->
                <a id="juneau-marshall-rdf.RdfDetails.RootProperty"></a>
-               <h4 class='topic' onclick='toggle(this)'>3.1.8 - Root 
Property</h4>
+               <h4 class='topic' onclick='toggle(this)'>3.1.7 - Root 
Property</h4>
                <div class='topic'>
                        <p>
                                For all RDF languages, the POJO objects get 
broken down into simple triplets.
@@ -8945,7 +8711,7 @@
 
                <!-- 
=======================================================================================================
 -->
                <a id="juneau-marshall-rdf.RdfDetails.TypedLiterals"></a>
-               <h4 class='topic' onclick='toggle(this)'>3.1.9 - Typed 
Literals</h4>
+               <h4 class='topic' onclick='toggle(this)'>3.1.8 - Typed 
Literals</h4>
                <div class='topic'>
                        <p>
                                XML-Schema data-types can be added to 
non-<code>String</code> literals through the 

-- 
To stop receiving notification emails like this one, please contact
jamesbog...@apache.org.

Reply via email to