juneau-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jamesbog...@apache.org
Subject [juneau] branch master updated: Update Javadocs.
Date Tue, 06 Mar 2018 02:44:59 GMT
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 <jamesbognar@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
jamesbognar@apache.org.

Mime
View raw message