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 7146515  Javadocs
7146515 is described below

commit 714651501f2f2221d1b21ee80a091e23f40e278e
Author: JamesBognar <[email protected]>
AuthorDate: Sun Oct 17 09:56:46 2021 -0400

    Javadocs
---
 .../apache/juneau/http/entity/package-info.java    |  18 +
 .../org/apache/juneau/http/part/package-info.java  |  18 +
 .../apache/juneau/http/resource/package-info.java  |  18 +
 juneau-doc/docs/Topics/01.Introduction.html        | 131 ----
 .../docs/Topics/01.Introduction/01.Features.html   |  45 --
 .../02.Components.html => 01.Overview.html}        | 175 +++--
 .../docs/Topics/01.Overview/01.juneau-core.html    | 325 +++++++++
 .../docs/Topics/01.Overview/02.juneau-rest.html    |  19 +
 .../Topics/01.Overview/03.juneau-examples.html     |  19 +
 .../02.juneau-marshall/07.HttpPartSerializers.html |   8 +-
 juneau-doc/src/main/javadoc/overview.html          | 739 ++++++++++++++-------
 juneau-doc/src/main/javadoc/resources/docs.txt     |   7 +-
 .../src/main/javadoc/resources/fragments/toc.html  |   7 +-
 .../juneau/rest/client/assertion/package-info.java |  18 +
 .../org/apache/juneau/rest/args/package-info.java  |  18 +
 .../juneau/rest/assertions/package-info.java       |  18 +
 .../apache/juneau/rest/logging/package-info.java   |  18 +
 launches/juneau-build-javadoc.sh                   |   1 +
 18 files changed, 1082 insertions(+), 520 deletions(-)

diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/entity/package-info.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/entity/package-info.java
new file mode 100644
index 0000000..0ceb1df
--- /dev/null
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/entity/package-info.java
@@ -0,0 +1,18 @@
+/***************************************************************************************************************************
+ * 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.
+ *
+ 
***************************************************************************************************************************/
+
+/**
+ * HTTP Entity Beans
+ */
+package org.apache.juneau.http.entity;
\ No newline at end of file
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/package-info.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/package-info.java
new file mode 100644
index 0000000..b949829
--- /dev/null
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/package-info.java
@@ -0,0 +1,18 @@
+/***************************************************************************************************************************
+ * 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.
+ *
+ 
***************************************************************************************************************************/
+
+/**
+ * HTTP Part Beans
+ */
+package org.apache.juneau.http.part;
\ No newline at end of file
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/package-info.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/package-info.java
new file mode 100644
index 0000000..7f83285
--- /dev/null
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/package-info.java
@@ -0,0 +1,18 @@
+/***************************************************************************************************************************
+ * 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.
+ *
+ 
***************************************************************************************************************************/
+
+/**
+ * HTTP Resource Beans
+ */
+package org.apache.juneau.http.resource;
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/01.Introduction.html 
b/juneau-doc/docs/Topics/01.Introduction.html
deleted file mode 100644
index b5847d4..0000000
--- a/juneau-doc/docs/Topics/01.Introduction.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *  
- *  http://www.apache.org/licenses/LICENSE-2.0
- *  
- * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
or implied.  See the License for the
- * specific language governing permissions and limitations under the License.
- 
***************************************************************************************************************************/
- -->
-
-{title:'Introduction'}
-
-<p>
-       Apache Juneau&trade; is a single cohesive Java ecosystem consisting of 
the following parts:
-</p>
-<table class='styled w800'>
-       <tr>
-               <th>Group</th><th>Component</th><th>Description</th>
-       </tr>
-       
-       <tr class='dark bb'>
-               <td rowspan="4" 
style='text-align:center;font-weight:bold;padding:20px;'>Juneau Core</td>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-marshall'>juneau-marshall</a></td>
-               <td>
-                       A universal toolkit for marshalling POJOs to a wide 
variety of content types using a common framework with no external library 
dependencies.
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-marshall-rdf'>juneau-marshall-rdf</a></td>
-               <td>
-                       Extended marshalling support for RDF languages.         
                
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-dto'>juneau-dto</a></td>
-               <td>
-                       A variety of predefined DTOs for serializing and 
parsing languages such as HTML5, Swagger and ATOM.
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-config'>juneau-config</a></td>
-               <td>
-                       A sophisticated configuration file API.
-               </td>
-       </tr>
-       
-       <tr class='light bb'>
-               <td rowspan="5" 
style='text-align:center;font-weight:bold;padding:20px;'>Juneau REST</td>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-server'>juneau-rest-server</a></td>
-               <td>
-                       A universal REST server API for creating Swagger-based 
self-documenting REST interfaces using POJOs, simply deployed as 
-                       one or more top-level servlets in any Servlet 3.1.0+ 
container.
-               </td>
-       </tr>
-       <tr class='light bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-server-springboot'>juneau-rest-server-springboot</a></td>
-               <td>
-                       Spring boot integration support.
-               </td>
-       </tr>
-       <tr class='light bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-server-jaxrs'>juneau-rest-server-jaxrs</a></td>
-               <td>
-                       JAX/RS integration support.
-               </td>
-       </tr>
-       <tr class='light bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-client'>juneau-rest-client</a></td>
-               <td>
-                       A universal REST client API for interacting with Juneau 
or 3rd-party REST interfaces using POJOs and proxy interfaces.
-               </td>
-       </tr>
-       <tr class='light bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-mock'>juneau-rest-mock</a></td>
-               <td>
-                       Mocking APIs for server-less end-to-end testing of REST 
server and client APIs.
-               </td>
-       </tr>
-
-       <tr class='dark bb'>
-               <td rowspan="4" 
style='text-align:center;font-weight:bold;padding:20px;'>Examples</td>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-examples-core'>juneau-examples-core</a></td>
-               <td>
-                       Juneau Core API examples.
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-examples-rest'>juneau-examples-rest</a></td>
-               <td>
-                       Juneau REST API examples.
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-examples-rest-jetty'>juneau-examples-rest-jetty</a></td>
-               <td>
-                       Juneau REST API examples using Jetty deployment.
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-examples-rest-springboot'>juneau-examples-rest-springboot</a></td>
-               <td>
-                       Juneau REST API examples using Spring Boot deployment.
-               </td>
-       </tr>
-
-</table>
-<p>
-       Questions via email to <a class='doclink' 
href='mailto:[email protected]?Subject=Apache%20Juneau%20question'>[email protected]</a>
 are always welcome.
-</p>
-<p>
-       Juneau is packed with features that may not be obvious at first.  
-       Users are encouraged to ask for code reviews by providing links to 
specific source files such as through GitHub.
-       Not only can we help you with feedback, but it helps us understand 
usage patterns to further improve the product.
-</p>
-
-<h5 class='topic'>History</h5>
-<p>
-       Juneau started off as a popular internal IBM toolkit called Juno.
-       Originally used for serializing POJOs to and from JSON (at a time when 
the concept was new), it later expanded in 
-       scope to include a variety of content types, and then later REST 
servlet, client, and microservice APIs.
-       It's use grew to more than 50 projects and was one of the most popular 
community source projects within IBM.
-</p>
-<p>
-       In June of 2016, the code was donated to the Apache Foundation under 
the project <l>Apache Juneau</l> where it 
-       has continued to evolve to where it is today.
-</p>   
diff --git a/juneau-doc/docs/Topics/01.Introduction/01.Features.html 
b/juneau-doc/docs/Topics/01.Introduction/01.Features.html
deleted file mode 100644
index d756983..0000000
--- a/juneau-doc/docs/Topics/01.Introduction/01.Features.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *  
- *  http://www.apache.org/licenses/LICENSE-2.0
- *  
- * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
or implied.  See the License for the
- * specific language governing permissions and limitations under the License.
- 
***************************************************************************************************************************/
- -->
-
-{title:'Features', updated:'8.1.0'} 
-
-<ul class='spaced-list'>
-       <li>
-               Fast memory-efficient serialization.
-       <li>
-               Fast, safe, memory-efficient parsing.  Parsers are not 
susceptible to deserialization attacks.
-       <li>
-               KISS is our mantra!  No auto-wiring.  No code generation.  No 
dependency injection requirements.  Just add it to your classpath and use it.  
Extremely simple unit testing!
-       <li>
-               Enjoyable to use
-       <li>
-               Tiny - ~1MB
-       <li>
-               Exhaustively tested
-       <li>
-               Lots of up-to-date documentation and examples
-       <li>
-               Minimal library dependencies: 
-               <ul>
-                       <li><b>juneau-marshall</b>, <b>juneau-dto</b>, 
<b>juneau-config</b> - No external dependencies.  Entirely self-contained.
-                       <li><b>juneau-marshall-rdf</b> - Optional RDF support.  
Requires Apache Jena 2.7.1+.
-                       <li><b>juneau-rest-server</b> - Any Servlet 3.1.0+ 
container.
-                       <li><b>juneau-rest-client</b> - Apache HttpClient 4.5+.
-                       <li><b>juneau-microservice</b> - Eclipse Jetty.
-               </ul>
-       <li>
-               Built on top of Servlet and Apache HttpClient APIs that allow 
you to use the newest HTTP/2 features
-               such as request/response multiplexing and server push.
-</ul>
diff --git a/juneau-doc/docs/Topics/01.Introduction/02.Components.html 
b/juneau-doc/docs/Topics/01.Overview.html
similarity index 66%
rename from juneau-doc/docs/Topics/01.Introduction/02.Components.html
rename to juneau-doc/docs/Topics/01.Overview.html
index b6cb8cf..038a918 100644
--- a/juneau-doc/docs/Topics/01.Introduction/02.Components.html
+++ b/juneau-doc/docs/Topics/01.Overview.html
@@ -13,13 +13,19 @@
  
***************************************************************************************************************************/
  -->
 
-{title:'Components'} 
+{title:'Overview'}
 
+<!-- 
===========================================================================================================
 -->
+<!-- === ABOUT 
=================================================================================================
 -->
+<!-- 
===========================================================================================================
 -->
+
+<h5 class='toc'>About</h5>
 <p>
-       We've strived to keep prerequisites to an absolute minimum in order to 
make adoption as easy as possible.
+       Apache Juneau™ is a single cohesive Java ecosystem for marshalling Java 
objects to a wide variety of 
+       language types and creating annotation-based REST server and client 
APIs.
 </p>
 <p>
-       The library consists of the following artifacts found in the Maven 
group <c>"org.apache.juneau"</c>:
+       The Juneau ecosystem consists of the following parts:
 </p>
 <table class='styled w800'>
        <tr>
@@ -28,40 +34,26 @@
        <tr class='dark bb'>
                <td rowspan="4" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-core</td>
                <td class='code'><a class='doclink' 
href='#juneau-marshall'>juneau-marshall</a></td>
-               <td>Serializers and parsers for:
-                       <ul style='margin:0px 10px;'>
-                               <li>JSON
-                               <li>XML
-                               <li>HTML
-                               <li>UON
-                               <li>URL-Encoding
-                               <li>MessagePack
-                               <li>OpenAPI
-                               <li>SOAP/XML
-                               <li>CSV
-                               <li>BSON (coming soon)
-                               <li>YAML (coming soon)
-                               <li>Protobuf (coming soon)
-                               <li>Amazon Ion (coming soon)
+               <td>
+                       <ul>
+                               <li>Serializers and parsers for various 
languages.
+                               <li>Marshalling support for HTTP 
headers/parts/requests/responses.
+                               <li>Marshall-based assertions for simplified 
unit testing.
                        </ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
                                <li>Java 8
+                               <li>Apache HttpCore 4.4.13
                        </ul>
                </td>
        </tr>
        <tr class='dark bb'>
                <td class='code'><a class='doclink' 
href='#juneau-marshall-rdf'>juneau-marshall-rdf</a></td>
                <td>
-                       Serializers and parsers for:
-                       <ul style='margin:0px 10px;'>
-                               <li>RDF/XML
-                               <li>RDF/XML-Abbrev 
-                               <li>N-Triple
-                               <li>Turtle
-                               <li>N3
-                       </ul>                           
+                       <ul>
+                               <li>Serializers and parsers for various RDF 
languages.
+                       <ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
@@ -73,29 +65,28 @@
        <tr class='dark bb'>
                <td class='code'><a class='doclink' 
href='#juneau-dto'>juneau-dto</a></td>
                <td>
-                       Data Transfer Objects for:
-                       <ul style='margin:0px 10px;'>
-                               <li>HTML5
-                               <li>Atom
-                               <li>Cognos
-                               <li>JSON-Schema
-                               <li>Swagger 2.0
-                       </ul>                           
+                       <ul>
+                               <li>Data Transfer Objects for HTML5, Atom, 
Cognos, JSON-Schema, and Swagger
+                       </ul>
                </td>
                <td><ul style='margin:0px 10px;'><li>Java 8+</li></ul></td>
        </tr>
        <tr class='dark bb'>
                <td class='code'><a class='doclink' 
href='#juneau-config'>juneau-config</a></td>
                <td>
-                       Configuration file API
+                       <ul>
+                               <li>Configuration File API
+                       </ul>
                </td>
                <td><ul style='margin:0px 10px;'><li>Java 8+</li></ul></td>
        </tr>
        <tr class='light bb'>
-               <td rowspan="4" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-rest</td>
+               <td rowspan="6" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-rest</td>
                <td class='code'><a class='doclink' 
href='#juneau-rest-server'>juneau-rest-server</a></td>
                <td>
-                       REST Servlet API
+                       <ul>
+                               <li>REST Servlet API
+                       <ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
@@ -107,7 +98,9 @@
        <tr class='light bb'>
                <td class='code'><a class='doclink' 
href='#juneau-rest-server-springboot'>juneau-rest-server-springboot</a></td>
                <td>
-                       Spring Boot integration support
+                       <ul>
+                               <li>REST Spring Boot integration
+                       <ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
@@ -119,7 +112,9 @@
        <tr class='light bb'>
                <td class='code'><a class='doclink' 
href='#juneau-rest-server-jaxrs'>juneau-rest-server-jaxrs</a></td>
                <td>
-                       JAX-RS support
+                       <ul>
+                               <li>REST JAX-RS integration
+                       <ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
@@ -131,7 +126,9 @@
        <tr class='light bb'>
                <td class='code'><a class='doclink' 
href='#juneau-rest-client'>juneau-rest-client</a></td>
                <td>
-                       REST Client API
+                       <ul>
+                               <li>REST Client API
+                       <ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
@@ -140,46 +137,26 @@
                        </ul>
                </td>
        </tr>
-       <tr class='dark bb'>
-               <td rowspan="4" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-microservice</td>
-               <td class='code'><a class='doclink' 
href='#juneau-microservice-core'>juneau-microservice-core</a></td>
-               <td>
-                       Microservice API
-               </td>
-               <td>
-                       <ul style='margin:0px 10px;'>
-                               <li>Java 8+
-                       </ul>
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='#juneau-microservice-jetty'>juneau-microservice-jetty</a></td>
-               <td>
-                       Jetty Microservice API
-               </td>
-               <td>
-                       <ul style='margin:0px 10px;'>
-                               <li>Java 8+
-                               <li>Eclipse Jetty 9.4+
-                       </ul>
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='#my-jetty-microservice'>my-jetty-microservice</a></td>
+       <tr class='light bb'>
+               <td class='code'><a class='doclink' 
href='#juneau-rest-client'>juneau-rest-mock</a></td>
                <td>
-                       Developer template project for Jetty-based 
microservices.
+                       <ul>
+                               <li>REST Testing API
+                       <ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
                                <li>Java 8+
-                               <li>Eclipse Jetty 9.4+
+                               <li>Apache HttpClient 4.5+
                        </ul>
                </td>
        </tr>
-       <tr class='dark bb'>
+       <tr class='light bb'>
                <td class='code'><a class='doclink' 
href='#my-springboot-microservice'>my-springboot-microservice</a></td>
                <td>
-                       Developer template project for Spring-Boot-based 
microservices.
+                       <ul>
+                               <li>Spring Boot developer template
+                       <ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
@@ -188,36 +165,26 @@
                        </ul>
                </td>
        </tr>
-       <tr class='light bb'>
-               <td rowspan="4" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-examples</td>
+       <tr class='dark bb'>
+               <td rowspan="2" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-examples</td>
                <td class='code'><a class='doclink' 
href='#juneau-examples-core'>juneau-examples-core</a></td>
                <td>
-                       Core code examples
+                       <ul>
+                               <li>Core code examples
+                       <ul>
                </td>
                <td></td>
        </tr>
-       <tr class='light bb'>
+       <tr class='dark bb'>
                <td class='code'><a class='doclink' 
href='#juneau-examples-rest'>juneau-examples-rest</a></td>
                <td>
-                       REST code examples
+                       <ul>
+                               <li>REST code examples
+                       <ul>
                </td>
                <td></td>
        </tr>
        <tr class='light bb'>
-               <td class='code'><a class='doclink' 
href='#juneau-examples-rest-jetty'>juneau-examples-rest-jetty</a></td>
-               <td>
-                       REST code examples deployed using Jetty
-               </td>
-               <td></td>
-       </tr>
-       <tr class='light bb'>
-               <td class='code'><a class='doclink' 
href='#juneau-examples-rest-springboot'>juneau-examples-rest-springboot</a></td>
-               <td>
-                       REST code examples deployed using Spring Boot
-               </td>
-               <td></td>
-       </tr>
-       <tr class='dark bb'>
                <td rowspan="1" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-all</td>
                <td class='code'><c>juneau-all</c></td>
                <td>
@@ -234,6 +201,7 @@
                        <ul style='margin:0px 10px;'>
                                <li>Java 8+
                                <li>Servlet 3.1+
+                               <li>Apache HttpCore 4.4.13
                                <li>Apache HttpClient 4.5+
                        </ul>
                </td>
@@ -270,3 +238,32 @@
 <p>
        Each of the components are also packaged as stand-alone OSGi modules.
 </p>
+
+<!-- 
===========================================================================================================
 -->
+<!-- === FEATURES 
==============================================================================================
 -->
+<!-- 
===========================================================================================================
 -->
+
+<h5 class='toc'>Features</h5>
+<div class='topic'>
+       <ul class='spaced-list'>
+               <li>
+                       Fast memory-efficient serialization.
+               <li>
+                       Fast, safe, memory-efficient parsing.  Parsers are not 
susceptible to deserialization attacks.
+               <li>
+                       KISS is our mantra!  No auto-wiring.  No code 
generation.  No dependency injection.  Just add it to your classpath and use 
it.  Extremely simple unit testing!
+               <li>
+                       Enjoyable to use
+               <li>
+                       Tiny - ~1MB
+               <li>
+                       Exhaustively tested
+               <li>
+                       Lots of up-to-date documentation and examples
+               <li>
+                       Minimal library dependencies.
+               <li>
+                       Built on top of Servlet and Apache HttpClient APIs that 
allow you to use the newest HTTP/2 features
+                       such as request/response multiplexing and server push.
+       </ul>
+</div>
diff --git a/juneau-doc/docs/Topics/01.Overview/01.juneau-core.html 
b/juneau-doc/docs/Topics/01.Overview/01.juneau-core.html
new file mode 100644
index 0000000..ec70277
--- /dev/null
+++ b/juneau-doc/docs/Topics/01.Overview/01.juneau-core.html
@@ -0,0 +1,325 @@
+<!--
+/***************************************************************************************************************************
+ * 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.
+ 
***************************************************************************************************************************/
+ -->
+
+{title:'juneau-core Overview', created:'9.0.0'} 
+
+<h5 class='toc'>Marshalling APIs</h5>
+<div class='topic'>
+       <p>
+               The <c>juneau-marshall</c> library includes easy-to-use and 
highly customizable serializers and parsers based around
+               a common API.  It allows you to marshall Java POJOs directly to 
and from a wide variety of language types
+               without the need for intermediate Document Object Models making 
them extremely efficient.
+       </p>
+       <p>
+               Supported languages include:
+               <ul>
+                       <li>JSON
+                       <li>XML
+                       <li>HTML
+                       <li>UON
+                       <li>URL-Encoding
+                       <li>MessagePack
+                       <li>OpenAPI
+                       <li>SOAP/XML
+                       <li>CSV
+                       <li>YAML (coming soon)
+                       <li>RDF/XML
+                       <li>RDF/XML-Abbrev 
+                       <li>N-Triple
+                       <li>Turtle
+                       <li>N3
+               </ul>
+       </p>
+       <p>
+               The default serializers can often be used to serialize POJOs in 
a single line of code:
+       </p>
+       <p class='bcode w800'>
+       <jc>// A simple bean</jc>
+       <jk>public class</jk> Person {
+               <jk>public</jk> String <jf>name</jf> = <js>"John Smith"</js>;
+               <jk>public int</jk> <jf>age</jf> = 21;
+       }
+       
+       <jc>// Produces:
+       // "{"name":"John Smith","age":21}"</jc>
+       String <jv>json</jv> = 
JsonSerializer.<jsf>DEFAULT</jsf>.serialize(<jk>new</jk> Person());
+       </p>
+       <p>
+               Parsing back into POJOs is equally simple for any of the 
supported languages 
+               Language fragments are also supported.
+       </p>
+       <p class='bcode w800'>
+       <jc>// Parse a JSON object as a bean.</jc>
+       String <jv>json</jv> = <js>"{\"name\":\"John Smith\","\age\":21}"</js>;
+       Person <jv>person</jv> = <jv>parser</jv>.parse(<jv>json</jv>, 
Person.<jk>class</jk>);
+       </p>
+       <p>
+               Marshalls are pairings of serializers and parsers in a single 
class for even simpler code:
+       </p>
+       <p class='bcode w800'>
+       <jc>// Serialize</jc>
+       String <jv>json</jv> = Json.<jsf>DEFAULT</jsf>.write(<jv>person</jv>);
+
+       <jc>// Parse</jc>
+       Person <jv>person</jv> = Json.<jsf>DEFAULT</jsf>.read(<jv>json</jv>, 
Person.<jk>class</jk>);
+       </p>
+       <p>
+               Marshalling support is provided for a wide variety of POJO types
+               including:
+       </p>
+       <ul>
+               <li>Java primitives and primitive objects
+               <li>Java beans
+               <li>Java Collections Framework objects (e.g. Collections, Maps)
+               <li>Java arrays
+               <li>Java POJOs
+       </ul>
+       <p>
+               See {@doc PojoCategories} for an exhaustive list of categories 
supported out-of-the-box.
+       </p>
+       <p>
+               Serializers and parsers are builder-based using fluent methods 
allowing you to quickly create, clone, and modify them
+               in single lines of code.
+       </p>
+       <p class='bcode w800'>
+       <jc>// Create a serializer from scratch programmatically using a 
builder.</jc>
+       JsonSerializer <jv>serializer</jv> = JsonSerializer
+               .<jsm>create</jsm>()
+               .simple()                           <jc>// Simple mode</jc>
+               .sq()                               <jc>// Use single 
quotes</jc>
+               .timeZone(TimeZone.<jsf>GMT</jsf>)           <jc>// For 
timezone-specific serialization</jc>
+               .locale(Locale.<jsf>JAPAN</jsf>)             <jc>// For 
locale-specific serialization</jc>
+               .sortCollections()
+               .sortProperties()
+               .keepNullProperties()
+               .trimStrings()
+               .beanMethodVisibility(<jsf>PROTECTED</jsf>)    <jc>// Control 
which fields/methods are serialized</jc>
+               .beanDictionary(                    <jc>// Adds type variables 
for resolution during parsing</jc>
+                       MyBeanA.<jk>class</jk>, 
+                       MyBeanB.<jk>class</jk>
+               )
+               .debug()                            <jc>// Debug mode</jc>
+               .build();
+       </p>
+       <p>
+               Many POJOs such as primitives, beans, collections, arrays, and 
classes with various known constructors and methods are serializable 
out-of-the-box.
+               For other objects, "transforms" allow you to perform various 
mutations on them before serialization and after parsing.
+       </p>
+       <p> 
+               {@doc PojoSwaps POJO swaps} allow you to replace 
non-serializable POJOs with serializable equivalents.
+               The {@link oaj.transforms} package contains a variety of 
predefined swaps.
+       </p>
+       <p class='bcode w800'>
+       <jc>// Create a serializer from scratch programmatically using a 
builder.</jc>
+       JsonSerializer <jv>serializer</jv> = JsonSerializer
+               .<jsm>create</jsm>()
+               .swaps(                             <jc>// Swap unserializable 
classes with surrogate POJOs</jc>
+                       IteratorSwap.<jk>class</jk>,              <jc>// 
Iterators swapped with lists</jc>
+                       ByteArrayBase64Swap.<jk>class</jk>,       <jc>// byte[] 
swapped with base-64 encoded strings</jc>
+                       CalendarSwap.ISO8601DT.<jk>class</jk>     <jc>// 
Calendars swapped with ISO8601-compliant strings</jc>
+               )
+               .build();
+       </p>
+       <p>
+               Beans and POJO classes can also be annotated with a variety of 
annotations to customize how they are marshalled:
+       </p>
+       <p class='bcode w800'>
+       <jc>// Sort bean properties by name.</jc>
+       <jc>// Exclude city/state from marshalling.</jc>
+       <ja>@Bean</ja>(sort=<jk>true</jk>, 
excludeProperties=<js>"city,state"</js>})
+       <jk>public class</jk> Address { ... }
+       </p>
+       <p>
+               Any POJO that doesn't fit into the category of a 
bean/collection/array/primitive and doesn't have a swap
+               associated with it is converted to simple strings.
+               By default, various instance and static methods and 
constructors on POJO classes are automatically detected and supported
+               for marshalling a POJO to and from a string:
+               <br><code>valueOf(String)</code>, <code>parse(String)</code>, 
<code>parseString(String)</code>, <code>forName(String)</code>, 
<code>forString(String)</code>, 
+               <code>fromString(String)</code>, <code>T(String)</code>, 
<code>Object swap(BeanSession)</code>, <code>T unswap(BeanSession, 
T.class)</code>
+       </p>            
+       <p>
+               Serializers and parsers can also be configured using 
annotations.
+       </p>
+       <p class='bcode w800'>
+       <ja>@BeanConfig</ja>(sort=<jk>true</jk>)
+       <ja>@SerializerConfig</ja>(quoteChar=<js>"'"</js>)
+       <ja>@RdfConfig</ja>(rdfxml_tab=<js>"5"</js>, 
addRootProperty=<js>"true"</js>)
+       <jk>public class</jk> MyAnnotatedClass {...}
+       
+       <jc>// Create a serializer configured using annotations.</jc>
+       JsonSerializer <jv>serializer</jv> = JsonSerializer
+               .<jsm>create</jsm>()
+               .applyAnnotations(MyAnnotatedClass.<jk>class</jk>)
+               .build();
+       </p>
+       <p>
+               Config annotations are extensively used in the REST Servlet 
APIs to configure how POJOs are marshalled through REST interfaces.
+       </p>
+</div>
+<h5 class='toc'>UON Marshalling</h5>
+<div class='topic'>
+       <p>
+               The Marshalling API also supports UON (URL-Encoded Object 
Notation).
+               It allows JSON-like data structures (OBJECT, ARRAY, NUMBER, 
BOOLEAN, STRING, NULL) in HTTP constructs (query parameters, form parameters,
+               headers, URL parts) without violating RFC2396.
+               This allows POJOs to be converted directly into these HTTP 
constructs which is not possible in other languages such as JSON.
+       </p>
+       <p class='bcode w800'>
+       (
+               id=1, 
+               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=<js>1</js>, 
+                               street=<js>'100+Main+Street'</js>, 
+                               city=<js>Anywhereville</js>, 
+                               state=<js>NY</js>, 
+                               zip=<js>12345</js>, 
+                               isCurrent=<jk>true</jk>
+                       )
+               )
+       )
+       </p>
+       <p>
+               See {@doc UonDetails} for more information.
+       </p>
+</div>
+<h5 class='toc'>OpenAPI Marshalling</h5>
+<div class='topic'>
+       <p>
+               The Marshalling API also supports schema-based OpenAPI 
serialization.
+               It allows HTTP parts to be marshalled to-and-from POJOs based 
on OpenAPI schema definitions.
+       </p>
+       <p class='bpcode w800'>
+       <jk>import static</jk> org.apache.juneau.httpart.HttpPartSchema.*;
+       
+       <jc>// Schema - Pipe-delimited list of comma-delimited longs.</jc>
+       HttpPartSchema <jv>schema</jv> = <jsm>tArrayPipes</jsm>().items(
+               <jsm>tArrayCsv</jsm>().items(
+                       <jsm>tInt64</jsm>()
+               )
+       ).build();
+
+       <jc>// Our value to serialize</jc>
+       Object <jv>value</jv> = <jk>new long</jk>[][]{{1,2,3},{4,5,6},{7,8,9}};
+
+       <jc>// Produces "1,2,3|4,5,6|7,8,9"</jc>
+       String <jv>output</jv> = 
OpenApiSerializer.<jsf>DEFAULT</jsf>.serialize(HttpPartType.<jsf>HEADER</jsf>, 
<jv>schema</jv>, <jv>value</jv>);
+       </p>
+       <p>
+               Schema-based serialization is used heavily in both the server 
and client REST APIs.
+       </p>
+       <p class='bcode w800'>
+       <jc>// REST server method with HTTP parts using schema validation.</jc>
+       <ja>@RestGet</ja>
+       <jk>public void</jk> doGet(
+               <ja>@Query</ja>(name=<js>"myParam"</js>, min=1, max=32) 
<jk>int</jk> <jv>myParam</jv>,
+               <ja>@Header</ja>(<js>"MyHeader"</js>, pattern=<js>"foo.*"</js>) 
String <jv>p2</jv>
+       ) {...}
+       </p>
+</div>
+<h5 class='toc'>Convenience APIs</h5>
+<div class='topic'>
+       <p>
+       <p>
+               Lots of shortcuts are provided throughout the API to simplify 
tasks, and the APIs are often useful for debugging and logging purposes as well:
+       </p>
+       <p class='bcode w800'>
+       <jc>// Create JSON strings from scratch using fluent-style code.</jc>
+       String <jv>jsonObject</jv> = <jk>new</jk> 
OMap().append(<js>"foo"</js>,<js>"bar"</js>).toString(); 
+       String <jv>jsonArray</jv> = <jk>new</jk> 
OList().append(<js>"foo"</js>).append(123).append(<jk>null</jk>).toString(); 
+       
+       <jc>// Create maps and beans directly from JSON.</jc>
+       Map&lt;String,Object&gt; <jv>myMap</jv> = <jk>new</jk> 
OMap(<js>"{foo:'bar'}"</js>); 
+       List&lt;Object&gt; <jv>myList</jv> = <jk>new</jk> 
OList(<js>"['foo',123,null]"</js>); 
+
+       <jc>// Load a POJO from a JSON file.</jc>
+       MyPojo <jv>myPojo</jv> = 
JsonParser.<jsf>DEFAULT</jsf>.parse(<jk>new</jk> File(<js>"myPojo.json"</js>));
+
+       <jc>// Serialize POJOs and ignore exceptions (great for logging)</jc>
+       String <jv>json</jv> = 
SimpleJson.<jsf>DEFAULT</jsf>.toString(<jv>myPojo</jv>);
+       
+       <jc>// Dump a POJO to the console.</jc>
+       SimpleJson.<jsf>DEFAULT</jsf>.println(<jv>myPojo</jv>);
+       
+       String <jv>message</jv> = <jk>new</jk> StringMessage(<js>"My POJO in 
{0}: {1}"</js>, <js>"JSON"</js>, <jk>new</jk> 
StringObject(<jv>myPojo</jv>)).toString();
+       
+       <jc>// Create a 'REST-like' wrapper around a POJO.</jc>
+       <jc>// Allows you to manipulate POJO trees using URIs and 
GET/PUT/POST/DELETE commands.</jc>
+       PojoRest <jv>pojoRest</jv> = <jk>new</jk> PojoRest(<jv>myPojo</jv>);
+       <jv>pojoRest</jv>.get(String.<jk>class</jk>, 
<js>"addressBook/0/name"</js>);
+       <jv>pojoRest</jv>.put(<js>"addressBook/0/name"</js>, <js>"John 
Smith"</js>);
+       </p>
+</div>
+<h5 class='toc'>Serializer and Parser Groups</h5>
+<div class='topic'>
+       <p>
+               <code>SerializerGroup</code> and <code>ParserGroup</code> 
classes allow serializers and parsers 
+               to be retrieved by W3C-compliant HTTP <code>Accept</code> and 
<code>Content-Type</code> values:
+       </p>
+       <p class='bcode w800'>
+       <jc>// Construct a new serializer group with configuration parameters 
that get applied to all serializers.</jc>
+       SerializerGroup <jv>serializerGroup</jv> = SerializerGroup
+               .<jsm>create</jsm>()
+               .add(JsonSerializer.<jk>class</jk>, 
UrlEncodingSerializer.<jk>class</jk>);
+               .forEach(<jv>x</jv> -> 
<jv>x</jv>.swaps(CalendarSwap.ISO8601DT.<jk>class</jk>))
+               .forEachWS(<jv>x</jv> -&gt; <jv>x</jv>.useWhitespace())
+               .build();
+
+       <jc>// Find the appropriate serializer by Accept type and serialize our 
POJO to the specified writer.</jc>
+       <jc>// Fully RFC2616 compliant.</jc>
+       <jv>serializerGroup</jv>
+               .getSerializer(<js>"text/invalid, text/json;q=0.8, 
text/*;q:0.6, *\/*;q=0.0"</js>)
+               .serialize(<jv>person</jv>, <jv>myWriter</jv>);
+               
+       <jc>// Construct a new parser group with configuration parameters that 
get applied to all parsers.</jc>
+       ParserGroup <jv>parserGroup</jv> = ParserGroup
+               .<jsm>create</jsm>()
+               .add(JsonParser.<jk>class</jk>, 
UrlEncodingParser.<jk>class</jk>);
+               .forEach(<jv>x</jv> -&gt; 
<jv>x</jv>.swaps(CalendarSwap.ISO8601DT.<jk>class</jk>))
+               .build();
+
+       Person <jv>person</jv> = <jv>parserGroup</jv>
+               .getParser(<js>"text/json"</js>)
+               .parse(<jv>myReader</jv>, Person.<jk>class</jk>);
+       </p>
+</div>
+<h5 class='toc'>SVL Variables</h5>
+<div class='topic'>
+       <p>
+               The <code>org.apache.juneau.svl</code> package defines an API 
for a language called "Simple Variable Language".
+               In a nutshell, Simple Variable Language (or SVL) is text that 
contains variables of the form
+               <js>"$varName{varKey}"</js>.
+       </p>
+       <p>
+               Variables can be recursively nested within the varKey (e.g. 
<js>"$FOO{$BAR{xxx},$BAZ{xxx}}"</js>).
+               Variables can also return values that themselves contain more 
variables.
+       </p>
+       <p class='bcode w800'>
+       <jc>// Use the default variable resolver to resolve a string that 
contains $S (system property) variables</jc>
+       String <jv>myProperty</jv> = 
VarResolver.<jsf>DEFAULT</jsf>.resolve(<js>"The Java home directory is 
$S{java.home}"</js>);
+       </p>
+       <p>
+               The SVL variables are used widely throughout various 
annotations defined in Juneau allowing many features to be configured
+               via external sources such as configuration files or environment 
variables/system properties.  The SVL APIs are 
+               extensible allowing for the addition of new types of variables.
+       </p>
+</div>
+
diff --git a/juneau-doc/docs/Topics/01.Overview/02.juneau-rest.html 
b/juneau-doc/docs/Topics/01.Overview/02.juneau-rest.html
new file mode 100644
index 0000000..df71f60
--- /dev/null
+++ b/juneau-doc/docs/Topics/01.Overview/02.juneau-rest.html
@@ -0,0 +1,19 @@
+<!--
+/***************************************************************************************************************************
+ * 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.
+ 
***************************************************************************************************************************/
+ -->
+
+{title:'juneau-rest Overview', created:'9.0.0'} 
+
+<div>
+</div>
\ No newline at end of file
diff --git a/juneau-doc/docs/Topics/01.Overview/03.juneau-examples.html 
b/juneau-doc/docs/Topics/01.Overview/03.juneau-examples.html
new file mode 100644
index 0000000..510e5a7
--- /dev/null
+++ b/juneau-doc/docs/Topics/01.Overview/03.juneau-examples.html
@@ -0,0 +1,19 @@
+<!--
+/***************************************************************************************************************************
+ * 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.
+ 
***************************************************************************************************************************/
+ -->
+
+{title:'juneau-examples', created:'9.0.0'} 
+
+<div>
+</div>
\ No newline at end of file
diff --git 
a/juneau-doc/docs/Topics/02.juneau-marshall/07.HttpPartSerializers.html 
b/juneau-doc/docs/Topics/02.juneau-marshall/07.HttpPartSerializers.html
index 0ad0378..2bfe699 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/07.HttpPartSerializers.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/07.HttpPartSerializers.html
@@ -22,14 +22,12 @@
 <p class='bpcode w800'>
        <jc>// Schema information about our part.</jc>
        HttpPartSchema <jv>schema</jv> = HttpPartSchema
-               .<jsm>create</jsm>(<js>"array"</js>)
-               .collectionFormat(<js>"pipes"</js>)
+               .<jsm>tArrayPipes</jsm>()
                .items(
                        HttpPartSchema
-                               .<jsm>create</jsm>(<js>"array"</js>)
-                               .collectionFormat(<js>"csv"</js>)
+                               .<jsm>tArrayCsv</jsm>()
                                .items(
-                                       
HttpPartSchema.<jsm>create</jsm>(<js>"integer"</js>,<js>"int64"</js>)
+                                       
HttpPartSchema.<jsm>tInt64</jsm>(<js>"integer"</js>,<js>"int64"</js>)
                                )
                )
                .build();
diff --git a/juneau-doc/src/main/javadoc/overview.html 
b/juneau-doc/src/main/javadoc/overview.html
index 9ef07ba..2ddd7cd 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -159,10 +159,11 @@
 
 <a href='#TOC' id='TOC'></a><h5 class='toc'>Table of Contents</h5>
 <ol class='toc'>
-       <li><p class='toc2'><a class='doclink' 
href='#Introduction'>Introduction</a></p>
+       <li><p class='toc2'><a class='doclink' href='#Overview'>Overview</a></p>
        <ol>
-               <li><p><a class='doclink' 
href='#Introduction.Features'>Features</a><span class='update'>updated: 
8.1.0</span></p>
-               <li><p><a class='doclink' 
href='#Introduction.Components'>Components</a></p>
+               <li><p><a class='doclink' 
href='#Overview.juneau-core'>juneau-core</a><span class='update'>created: 
<b>9.0.0</b></span></p>
+               <li><p><a class='doclink' 
href='#Overview.juneau-rest'>juneau-rest</a><span class='update'>created: 
<b>9.0.0</b></span></p>
+               <li><p><a class='doclink' 
href='#Overview.juneau-examples'>juneau-examples</a><span 
class='update'>created: <b>9.0.0</b></span></p>
        </ol>
        <li><p class='toc2'><a class='doclink' 
href='#juneau-marshall'>juneau-marshall</a></p>
        <ol>
@@ -580,166 +581,19 @@
 
 <!-- 
====================================================================================================
 -->
 
-<h2 class='topic' onclick='toggle(this)'><a href='#Introduction' 
id='Introduction'>1 - Introduction</a></h2>
-<div class='topic'><!-- START: 1 - Introduction -->
-<p>
-       Apache Juneau&trade; is a single cohesive Java ecosystem consisting of 
the following parts:
-</p>
-<table class='styled w800'>
-       <tr>
-               <th>Group</th><th>Component</th><th>Description</th>
-       </tr>
-       
-       <tr class='dark bb'>
-               <td rowspan="4" 
style='text-align:center;font-weight:bold;padding:20px;'>Juneau Core</td>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-marshall'>juneau-marshall</a></td>
-               <td>
-                       A universal toolkit for marshalling POJOs to a wide 
variety of content types using a common framework with no external library 
dependencies.
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-marshall-rdf'>juneau-marshall-rdf</a></td>
-               <td>
-                       Extended marshalling support for RDF languages.         
                
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-dto'>juneau-dto</a></td>
-               <td>
-                       A variety of predefined DTOs for serializing and 
parsing languages such as HTML5, Swagger and ATOM.
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-config'>juneau-config</a></td>
-               <td>
-                       A sophisticated configuration file API.
-               </td>
-       </tr>
-       
-       <tr class='light bb'>
-               <td rowspan="5" 
style='text-align:center;font-weight:bold;padding:20px;'>Juneau REST</td>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-server'>juneau-rest-server</a></td>
-               <td>
-                       A universal REST server API for creating Swagger-based 
self-documenting REST interfaces using POJOs, simply deployed as 
-                       one or more top-level servlets in any Servlet 3.1.0+ 
container.
-               </td>
-       </tr>
-       <tr class='light bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-server-springboot'>juneau-rest-server-springboot</a></td>
-               <td>
-                       Spring boot integration support.
-               </td>
-       </tr>
-       <tr class='light bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-server-jaxrs'>juneau-rest-server-jaxrs</a></td>
-               <td>
-                       JAX/RS integration support.
-               </td>
-       </tr>
-       <tr class='light bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-client'>juneau-rest-client</a></td>
-               <td>
-                       A universal REST client API for interacting with Juneau 
or 3rd-party REST interfaces using POJOs and proxy interfaces.
-               </td>
-       </tr>
-       <tr class='light bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-rest-mock'>juneau-rest-mock</a></td>
-               <td>
-                       Mocking APIs for server-less end-to-end testing of REST 
server and client APIs.
-               </td>
-       </tr>
-
-       <tr class='dark bb'>
-               <td rowspan="4" 
style='text-align:center;font-weight:bold;padding:20px;'>Examples</td>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-examples-core'>juneau-examples-core</a></td>
-               <td>
-                       Juneau Core API examples.
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-examples-rest'>juneau-examples-rest</a></td>
-               <td>
-                       Juneau REST API examples.
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-examples-rest-jetty'>juneau-examples-rest-jetty</a></td>
-               <td>
-                       Juneau REST API examples using Jetty deployment.
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-{@property 
juneauVersion}/overview-summary.html#juneau-examples-rest-springboot'>juneau-examples-rest-springboot</a></td>
-               <td>
-                       Juneau REST API examples using Spring Boot deployment.
-               </td>
-       </tr>
-
-</table>
-<p>
-       Questions via email to <a class='doclink' 
href='mailto:[email protected]?Subject=Apache%20Juneau%20question'>[email protected]</a>
 are always welcome.
-</p>
-<p>
-       Juneau is packed with features that may not be obvious at first.  
-       Users are encouraged to ask for code reviews by providing links to 
specific source files such as through GitHub.
-       Not only can we help you with feedback, but it helps us understand 
usage patterns to further improve the product.
-</p>
-
-<h5 class='topic'>History</h5>
-<p>
-       Juneau started off as a popular internal IBM toolkit called Juno.
-       Originally used for serializing POJOs to and from JSON (at a time when 
the concept was new), it later expanded in 
-       scope to include a variety of content types, and then later REST 
servlet, client, and microservice APIs.
-       It's use grew to more than 50 projects and was one of the most popular 
community source projects within IBM.
-</p>
-<p>
-       In June of 2016, the code was donated to the Apache Foundation under 
the project <l>Apache Juneau</l> where it 
-       has continued to evolve to where it is today.
-</p>
-
-<!-- 
====================================================================================================
 -->
-
-<h3 class='topic' onclick='toggle(this)'><a href='#Introduction.Features' 
id='Introduction.Features'>1.1 - Features</a><span class='update'>updated: 
8.1.0</span></h3>
-<div class='topic'><!-- START: 1.1 - Introduction.Features -->
-<ul class='spaced-list'>
-       <li>
-               Fast memory-efficient serialization.
-       <li>
-               Fast, safe, memory-efficient parsing.  Parsers are not 
susceptible to deserialization attacks.
-       <li>
-               KISS is our mantra!  No auto-wiring.  No code generation.  No 
dependency injection requirements.  Just add it to your classpath and use it.  
Extremely simple unit testing!
-       <li>
-               Enjoyable to use
-       <li>
-               Tiny - ~1MB
-       <li>
-               Exhaustively tested
-       <li>
-               Lots of up-to-date documentation and examples
-       <li>
-               Minimal library dependencies: 
-               <ul>
-                       <li><b>juneau-marshall</b>, <b>juneau-dto</b>, 
<b>juneau-config</b> - No external dependencies.  Entirely self-contained.
-                       <li><b>juneau-marshall-rdf</b> - Optional RDF support.  
Requires Apache Jena 2.7.1+.
-                       <li><b>juneau-rest-server</b> - Any Servlet 3.1.0+ 
container.
-                       <li><b>juneau-rest-client</b> - Apache HttpClient 4.5+.
-                       <li><b>juneau-microservice</b> - Eclipse Jetty.
-               </ul>
-       <li>
-               Built on top of Servlet and Apache HttpClient APIs that allow 
you to use the newest HTTP/2 features
-               such as request/response multiplexing and server push.
-</ul>
-</div><!-- END: 1.1 - Introduction.Features -->
-
-<!-- 
====================================================================================================
 -->
+<h2 class='topic' onclick='toggle(this)'><a href='#Overview' id='Overview'>1 - 
Overview</a></h2>
+<div class='topic'><!-- START: 1 - Overview -->
+<!-- 
===========================================================================================================
 -->
+<!-- === ABOUT 
=================================================================================================
 -->
+<!-- 
===========================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#Introduction.Components' 
id='Introduction.Components'>1.2 - Components</a></h3>
-<div class='topic'><!-- START: 1.2 - Introduction.Components -->
+<h5 class='toc'>About</h5>
 <p>
-       We've strived to keep prerequisites to an absolute minimum in order to 
make adoption as easy as possible.
+       Apache Juneau™ is a single cohesive Java ecosystem for marshalling Java 
objects to a wide variety of 
+       language types and creating annotation-based REST server and client 
APIs.
 </p>
 <p>
-       The library consists of the following artifacts found in the Maven 
group <c>"org.apache.juneau"</c>:
+       The Juneau ecosystem consists of the following parts:
 </p>
 <table class='styled w800'>
        <tr>
@@ -748,40 +602,26 @@
        <tr class='dark bb'>
                <td rowspan="4" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-core</td>
                <td class='code'><a class='doclink' 
href='#juneau-marshall'>juneau-marshall</a></td>
-               <td>Serializers and parsers for:
-                       <ul style='margin:0px 10px;'>
-                               <li>JSON
-                               <li>XML
-                               <li>HTML
-                               <li>UON
-                               <li>URL-Encoding
-                               <li>MessagePack
-                               <li>OpenAPI
-                               <li>SOAP/XML
-                               <li>CSV
-                               <li>BSON (coming soon)
-                               <li>YAML (coming soon)
-                               <li>Protobuf (coming soon)
-                               <li>Amazon Ion (coming soon)
+               <td>
+                       <ul>
+                               <li>Serializers and parsers for various 
languages.
+                               <li>Marshalling support for HTTP 
headers/parts/requests/responses.
+                               <li>Marshall-based assertions for simplified 
unit testing.
                        </ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
                                <li>Java 8
+                               <li>Apache HttpCore 4.4.13
                        </ul>
                </td>
        </tr>
        <tr class='dark bb'>
                <td class='code'><a class='doclink' 
href='#juneau-marshall-rdf'>juneau-marshall-rdf</a></td>
                <td>
-                       Serializers and parsers for:
-                       <ul style='margin:0px 10px;'>
-                               <li>RDF/XML
-                               <li>RDF/XML-Abbrev 
-                               <li>N-Triple
-                               <li>Turtle
-                               <li>N3
-                       </ul>                           
+                       <ul>
+                               <li>Serializers and parsers for various RDF 
languages.
+                       <ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
@@ -793,29 +633,28 @@
        <tr class='dark bb'>
                <td class='code'><a class='doclink' 
href='#juneau-dto'>juneau-dto</a></td>
                <td>
-                       Data Transfer Objects for:
-                       <ul style='margin:0px 10px;'>
-                               <li>HTML5
-                               <li>Atom
-                               <li>Cognos
-                               <li>JSON-Schema
-                               <li>Swagger 2.0
-                       </ul>                           
+                       <ul>
+                               <li>Data Transfer Objects for HTML5, Atom, 
Cognos, JSON-Schema, and Swagger
+                       </ul>
                </td>
                <td><ul style='margin:0px 10px;'><li>Java 8+</li></ul></td>
        </tr>
        <tr class='dark bb'>
                <td class='code'><a class='doclink' 
href='#juneau-config'>juneau-config</a></td>
                <td>
-                       Configuration file API
+                       <ul>
+                               <li>Configuration File API
+                       </ul>
                </td>
                <td><ul style='margin:0px 10px;'><li>Java 8+</li></ul></td>
        </tr>
        <tr class='light bb'>
-               <td rowspan="4" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-rest</td>
+               <td rowspan="6" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-rest</td>
                <td class='code'><a class='doclink' 
href='#juneau-rest-server'>juneau-rest-server</a></td>
                <td>
-                       REST Servlet API
+                       <ul>
+                               <li>REST Servlet API
+                       <ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
@@ -827,7 +666,9 @@
        <tr class='light bb'>
                <td class='code'><a class='doclink' 
href='#juneau-rest-server-springboot'>juneau-rest-server-springboot</a></td>
                <td>
-                       Spring Boot integration support
+                       <ul>
+                               <li>REST Spring Boot integration
+                       <ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
@@ -839,7 +680,9 @@
        <tr class='light bb'>
                <td class='code'><a class='doclink' 
href='#juneau-rest-server-jaxrs'>juneau-rest-server-jaxrs</a></td>
                <td>
-                       JAX-RS support
+                       <ul>
+                               <li>REST JAX-RS integration
+                       <ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
@@ -851,7 +694,9 @@
        <tr class='light bb'>
                <td class='code'><a class='doclink' 
href='#juneau-rest-client'>juneau-rest-client</a></td>
                <td>
-                       REST Client API
+                       <ul>
+                               <li>REST Client API
+                       <ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
@@ -860,46 +705,26 @@
                        </ul>
                </td>
        </tr>
-       <tr class='dark bb'>
-               <td rowspan="4" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-microservice</td>
-               <td class='code'><a class='doclink' 
href='#juneau-microservice-core'>juneau-microservice-core</a></td>
-               <td>
-                       Microservice API
-               </td>
-               <td>
-                       <ul style='margin:0px 10px;'>
-                               <li>Java 8+
-                       </ul>
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='#juneau-microservice-jetty'>juneau-microservice-jetty</a></td>
-               <td>
-                       Jetty Microservice API
-               </td>
-               <td>
-                       <ul style='margin:0px 10px;'>
-                               <li>Java 8+
-                               <li>Eclipse Jetty 9.4+
-                       </ul>
-               </td>
-       </tr>
-       <tr class='dark bb'>
-               <td class='code'><a class='doclink' 
href='#my-jetty-microservice'>my-jetty-microservice</a></td>
+       <tr class='light bb'>
+               <td class='code'><a class='doclink' 
href='#juneau-rest-client'>juneau-rest-mock</a></td>
                <td>
-                       Developer template project for Jetty-based 
microservices.
+                       <ul>
+                               <li>REST Testing API
+                       <ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
                                <li>Java 8+
-                               <li>Eclipse Jetty 9.4+
+                               <li>Apache HttpClient 4.5+
                        </ul>
                </td>
        </tr>
        <tr class='dark bb'>
                <td class='code'><a class='doclink' 
href='#my-springboot-microservice'>my-springboot-microservice</a></td>
                <td>
-                       Developer template project for Spring-Boot-based 
microservices.
+                       <ul>
+                               <li>Spring Boot developer template
+                       <ul>
                </td>
                <td>
                        <ul style='margin:0px 10px;'>
@@ -909,31 +734,21 @@
                </td>
        </tr>
        <tr class='light bb'>
-               <td rowspan="4" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-examples</td>
+               <td rowspan="2" 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-examples</td>
                <td class='code'><a class='doclink' 
href='#juneau-examples-core'>juneau-examples-core</a></td>
                <td>
-                       Core code examples
+                       <ul>
+                               <li>Core code examples
+                       <ul>
                </td>
                <td></td>
        </tr>
        <tr class='light bb'>
                <td class='code'><a class='doclink' 
href='#juneau-examples-rest'>juneau-examples-rest</a></td>
                <td>
-                       REST code examples
-               </td>
-               <td></td>
-       </tr>
-       <tr class='light bb'>
-               <td class='code'><a class='doclink' 
href='#juneau-examples-rest-jetty'>juneau-examples-rest-jetty</a></td>
-               <td>
-                       REST code examples deployed using Jetty
-               </td>
-               <td></td>
-       </tr>
-       <tr class='light bb'>
-               <td class='code'><a class='doclink' 
href='#juneau-examples-rest-springboot'>juneau-examples-rest-springboot</a></td>
-               <td>
-                       REST code examples deployed using Spring Boot
+                       <ul>
+                               <li>REST code examples
+                       <ul>
                </td>
                <td></td>
        </tr>
@@ -954,6 +769,7 @@
                        <ul style='margin:0px 10px;'>
                                <li>Java 8+
                                <li>Servlet 3.1+
+                               <li>Apache HttpCore 4.4.13
                                <li>Apache HttpClient 4.5+
                        </ul>
                </td>
@@ -990,8 +806,443 @@
 <p>
        Each of the components are also packaged as stand-alone OSGi modules.
 </p>
-</div><!-- END: 1.2 - Introduction.Components -->
-</div><!-- END: 1 - Introduction -->
+
+<!-- 
===========================================================================================================
 -->
+<!-- === FEATURES 
==============================================================================================
 -->
+<!-- 
===========================================================================================================
 -->
+
+<h5 class='toc'>Features</h5>
+<div class='topic'>
+       <ul class='spaced-list'>
+               <li>
+                       Fast memory-efficient serialization.
+               <li>
+                       Fast, safe, memory-efficient parsing.  Parsers are not 
susceptible to deserialization attacks.
+               <li>
+                       KISS is our mantra!  No auto-wiring.  No code 
generation.  No dependency injection.  Just add it to your classpath and use 
it.  Extremely simple unit testing!
+               <li>
+                       Enjoyable to use
+               <li>
+                       Tiny - ~1MB
+               <li>
+                       Exhaustively tested
+               <li>
+                       Lots of up-to-date documentation and examples
+               <li>
+                       Minimal library dependencies.
+               <li>
+                       Built on top of Servlet and Apache HttpClient APIs that 
allow you to use the newest HTTP/2 features
+                       such as request/response multiplexing and server push.
+       </ul>
+</div>
+
+<!-- 
====================================================================================================
 -->
+
+<h3 class='topic' onclick='toggle(this)'><a href='#Overview.juneau-core' 
id='Overview.juneau-core'>1.1 - juneau-core</a><span class='update'>created: 
<b>9.0.0</b></span></h3>
+<div class='topic'><!-- START: 1.1 - Overview.juneau-core -->
+<h5 class='toc'>Marshalling APIs</h5>
+<div class='topic'>
+       <p>
+               The <c>juneau-marshall</c> library includes easy-to-use and 
highly customizable serializers and parsers based around
+               a common API.  It allows you to marshall Java POJOs directly to 
and from a wide variety of language types
+               without the need for intermediate Document Object Models making 
them extremely efficient.
+       </p>
+       <p>
+               Supported languages include:
+               <ul>
+                       <li>JSON
+                       <li>XML
+                       <li>HTML
+                       <li>UON
+                       <li>URL-Encoding
+                       <li>MessagePack
+                       <li>OpenAPI
+                       <li>SOAP/XML
+                       <li>CSV
+                       <li>YAML (coming soon)
+                       <li>RDF/XML
+                       <li>RDF/XML-Abbrev 
+                       <li>N-Triple
+                       <li>Turtle
+                       <li>N3
+               </ul>
+       </p>
+       <p>
+               The default serializers can often be used to serialize POJOs in 
a single line of code:
+       </p>
+       <p class='bcode w800'>
+       <jc>// A simple bean</jc>
+       <jk>public class</jk> Person {
+               <jk>public</jk> String <jf>name</jf> = <js>"John Smith"</js>;
+               <jk>public int</jk> <jf>age</jf> = 21;
+       }
+       
+       <jc>// Produces:
+       // "{"name":"John Smith","age":21}"</jc>
+       String <jv>json</jv> = 
JsonSerializer.<jsf>DEFAULT</jsf>.serialize(<jk>new</jk> Person());
+       </p>
+       <p>
+               Parsing back into POJOs is equally simple for any of the 
supported languages 
+               Language fragments are also supported.
+       </p>
+       <p class='bcode w800'>
+       <jc>// Parse a JSON object as a bean.</jc>
+       String <jv>json</jv> = <js>"{\"name\":\"John Smith\","\age\":21}"</js>;
+       Person <jv>person</jv> = <jv>parser</jv>.parse(<jv>json</jv>, 
Person.<jk>class</jk>);
+       </p>
+       <p>
+               Marshalls are pairings of serializers and parsers in a single 
class for even simpler code:
+       </p>
+       <p class='bcode w800'>
+       <jc>// Serialize</jc>
+       String <jv>json</jv> = Json.<jsf>DEFAULT</jsf>.write(<jv>person</jv>);
+
+       <jc>// Parse</jc>
+       Person <jv>person</jv> = Json.<jsf>DEFAULT</jsf>.read(<jv>json</jv>, 
Person.<jk>class</jk>);
+       </p>
+       <p>
+               Marshalling support is provided for a wide variety of POJO types
+               including:
+       </p>
+       <ul>
+               <li>Java primitives and primitive objects
+               <li>Java beans
+               <li>Java Collections Framework objects (e.g. Collections, Maps)
+               <li>Java arrays
+               <li>Java POJOs
+       </ul>
+       <p>
+               See {@doc PojoCategories} for an exhaustive list of categories 
supported out-of-the-box.
+       </p>
+       <p>
+               Serializers and parsers are builder-based using fluent methods 
allowing you to quickly create, clone, and modify them
+               in single lines of code.
+       </p>
+       <p class='bcode w800'>
+       <jc>// Create a serializer from scratch programmatically using a 
builder.</jc>
+       JsonSerializer <jv>serializer</jv> = JsonSerializer
+               .<jsm>create</jsm>()
+               .simple()                           <jc>// Simple mode</jc>
+               .sq()                               <jc>// Use single 
quotes</jc>
+               .timeZone(TimeZone.<jsf>GMT</jsf>)  <jc>// For 
timezone-specific serialization</jc>
+               .locale(Locale.<jsf>JAPAN</jsf>)    <jc>// For locale-specific 
serialization</jc>
+               .sortCollections()
+               .sortProperties()
+               .keepNullProperties()
+               .trimStrings()
+               .beanMethodVisibility(<jsf>PROTECTED</jsf>)     <jc>// Control 
which fields/methods are serialized</jc>
+               .beanDictionary(                    <jc>// Adds type variables 
for resolution during parsing</jc>
+                       MyBeanA.<jk>class</jk>, 
+                       MyBeanB.<jk>class</jk>
+               )
+               .debug()                             <jc>// Debug mode</jc>
+               .build();
+       </p>
+       <p>
+               Many POJOs such as primitives, beans, collections, arrays, and 
classes with various known constructors and methods are serializable 
out-of-the-box.
+               For other objects, "transforms" allow you to perform various 
mutations on them before serialization and after parsing.
+       </p>
+       <p> 
+               {@doc PojoSwaps POJO swaps} allow you to replace 
non-serializable POJOs with serializable equivalents.
+               The {@link org.apache.juneau.swaps} package contains a variety 
of predefined swaps.
+       </p>
+       <p class='bcode w800'>
+       <jc>// Create a serializer from scratch programmatically using a 
builder.</jc>
+       JsonSerializer <jv>serializer</jv> = JsonSerializer
+               .<jsm>create</jsm>()
+               .swaps(                             <jc>// Swap unserializable 
classes with surrogate POJOs</jc>
+                       IteratorSwap.<jk>class</jk>,           <jc>// Iterators 
swapped with lists</jc>
+                       ByteArrayBase64Swap.<jk>class</jk>,    <jc>// byte[] 
swapped with base-64 encoded strings</jc>
+                       CalendarSwap.ISO8601DT.<jk>class</jk>  <jc>// Calendars 
swapped with ISO8601-compliant strings</jc>
+               )
+               .build();
+       </p>
+       <p>
+               Beans and POJO classes can be annotated with a variety of 
annotations to customize how they are marshalled:
+       </p>
+       <p class='bcode w800'>
+       <jc>// Sort bean properties by name.</jc>
+       <jc>// Exclude city/state from marshalling.</jc>
+       <ja>@Bean</ja>(sort=<jk>true</jk>, xp=<js>"city,state"</js>})
+       <jk>public class</jk> Address { ... }
+       </p>
+       <p>
+               By default, various instance and static methods and 
constructors on POJO classes are automatically detected and supported:
+               <br><code>valueOf(String)</code>, <code>parse(String)</code>, 
<code>parseString(String)</code>, <code>forName(String)</code>, 
<code>forString(String)</code>, 
+               <code>fromString(String)</code>, <code>T(String)</code>, 
<code>Object swap(BeanSession)</code>, <code>T unswap(BeanSession, 
T.class)</code>
+       </p>            
+       <p>
+               Serializers and parsers can also be configured using 
annotations.
+               This is extensively used in the REST Servlet APIs to configure 
how POJOs are marshalled through REST interfaces.
+       </p>
+       <p class='bcode w800'>
+       <ja>@BeanConfig</ja>(sort=<jk>true</jk>)
+       <ja>@SerializerConfig</ja>(quoteChar=<js>"'"</js>)
+       <ja>@RdfConfig</ja>(rdfxml_tab=<js>"5"</js>, 
addRootProperty=<js>"true"</js>)
+       <jk>public class</jk> MyAnnotatedClass {...}
+       
+       <jc>// Create a serializer configured using annotations.</jc>
+       JsonSerializer <jv>serializer</jv> = JsonSerializer
+               .<jsm>create</jsm>()
+               .applyAnnotations(MyAnnotatedClass.<jk>class</jk>)
+               .build();
+       </p>
+       <p>
+               The Marshalling API also supports UON (URL-Encoded Object 
Notation).
+               It allows JSON-like data structures (OBJECT, ARRAY, NUMBER, 
BOOLEAN, STRING, NULL) in HTTP constructs (query parameters, form parameters,
+               headers, URL parts) without violating RFC2396.
+               This allows POJOs to be converted directly into these HTTP 
constructs which is not possible in other languages such as JSON.
+       </p>
+       <p class='bcode w800'>
+       (
+               id=1, 
+               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=<js>1</js>, 
+                               street=<js>'100+Main+Street'</js>, 
+                               city=<js>Anywhereville</js>, 
+                               state=<js>NY</js>, 
+                               zip=<js>12345</js>, 
+                               isCurrent=<jk>true</jk>
+                       )
+               )
+       )
+       </p>
+       <p>
+               See {@doc UonDetails} for more information.
+       </p>
+       <p>
+               The Marshalling API also supports schema-based OpenAPI 
serialization.
+               It allows HTTP parts to be marshalled to-and-from POJOs based 
on OpenAPI schema definitions.
+       </p>
+       <p class='bpcode w800'>
+       <jk>import static</jk> org.apache.juneau.httpart.HttpPartSchema.*;
+       
+       <jc>// Schema - Pipe-delimited list of comma-delimited longs.</jc>
+       HttpPartSchema <jv>schema</jv> = <jsm>tArrayPipes</jsm>().items(
+               <jsm>tArrayCsv</jsm>().items(
+                       <jsm>tInt64</jsm>()
+               )
+       ).build();
+
+       <jc>// Our value to serialize</jc>
+       Object <jv>value</jv> = <jk>new long</jk>[][]{{1,2,3},{4,5,6},{7,8,9}};
+
+       <jc>// Produces "1,2,3|4,5,6|7,8,9"</jc>
+       String <jv>output</jv> = 
OpenApiSerializer.<jsf>DEFAULT</jsf>.serialize(HttpPartType.<jsf>HEADER</jsf>, 
<jv>schema</jv>, <jv>value</jv>);
+       </p>
+       <p>
+               Schema-based serialization is used heavily in both the server 
and client REST APIs.
+       </p>
+       <p class='bcode w800'>
+       <jc>// REST server method with HTTP parts using schema 
validation.</jc>jc>
+       <ja>@RestGet</ja>
+       <jk>public void</jk> doGet(
+               <ja>@Query</ja>(name=<js>"myParam"</js>, min=1, max=32) 
<jk>int</jk> <jv>myParam</jv>,
+               <ja>@Header</ja>(<js>"MyHeader"</js>, pattern=<js>"foo.*"</js>) 
String <jv>p2</jv>
+       ) {...}
+       </p>
+       
+               
+       
+       
+       <p>
+               Lots of shortcuts are provided throughout the API to simplify 
tasks, and the APIs are often useful for debugging and logging purposes as well:
+       </p>
+       <p class='bcode w800'>
+       <jc>// Create JSON strings from scratch using fluent-style code.</jc>
+       String <jv>jsonObject</jv> = <jk>new</jk> 
OMap().append(<js>"foo"</js>,<js>"bar"</js>).toString(); 
+       String <jv>jsonArray</jv> = <jk>new</jk> 
OList().append(<js>"foo"</js>).append(123).append(<jk>null</jk>).toString(); 
+       
+       <jc>// Create maps and beans directly from JSON.</jc>
+       Map&lt;String,Object&gt; <jv>myMap</jv> = <jk>new</jk> 
OMap(<js>"{foo:'bar'}"</js>); 
+       List&lt;Object&gt; <jv>myList</jv> = <jk>new</jk> 
OList(<js>"['foo',123,null]"</js>); 
+
+       <jc>// Load a POJO from a JSON file.</jc>
+       MyPojo <jv>myPojo</jv> = 
JsonParser.<jsf>DEFAULT</jsf>.parse(<jk>new</jk> File(<js>"myPojo.json"</js>));
+
+       <jc>// Serialize POJOs and ignore exceptions (great for logging)</jc>
+       String <jv>json</jv> = 
SimpleJson.<jsf>DEFAULT</jsf>.toString(<jv>myPojo</jv>);
+       
+       <jc>// Dump a POJO to the console.</jc>
+       SimpleJson.<jsf>DEFAULT</jsf>.println(<jv>myPojo</jv>);
+       
+       String <jv>message</jv> = <jk>new</jk> StringMessage(<js>"My POJO in 
{0}: {1}"</js>, <js>"JSON"</js>, <jk>new</jk> 
StringObject(<jv>myPojo</jv>)).toString();
+       
+       <jc>// Create a 'REST-like' wrapper around a POJO.</jc>
+       <jc>// Allows you to manipulate POJO trees using URIs and 
GET/PUT/POST/DELETE commands.</jc>
+       PojoRest <jv>pojoRest</jv> = <jk>new</jk> PojoRest(<jv>myPojo</jv>);
+       <jv>pojoRest</jv>.get(String.<jk>class</jk>, 
<js>"addressBook/0/name"</js>);
+       <jv>pojoRest</jv>.put(<js>"addressBook/0/name"</js>, <js>"John 
Smith"</js>);
+       </p>
+</div>
+<h5 class='toc'>Serializer and Parser Groups</h5>
+<div class='topic'>
+       <p>
+               <code>SerializerGroup</code> and <code>ParserGroup</code> 
classes allow serializers and parsers 
+               to be retrieved by W3C-compliant HTTP <code>Accept</code> and 
<code>Content-Type</code> values:
+       </p>
+       <p class='bcode w800'>
+       <jc>// Construct a new serializer group with configuration parameters 
that get applied to all serializers.</jc>
+       SerializerGroup <jv>serializerGroup</jv> = SerializerGroup
+               .<jsm>create</jsm>()
+               .add(JsonSerializer.<jk>class</jk>, 
UrlEncodingSerializer.<jk>class</jk>);
+               .forEach(<jv>x</jv> -> 
<jv>x</jv>.swaps(CalendarSwap.ISO8601DT.<jk>class</jk>))
+               .forEachWS(<jv>x</jv> -&gt; <jv>x</jv>.useWhitespace())
+               .build();
+
+       <jc>// Find the appropriate serializer by Accept type and serialize our 
POJO to the specified writer.</jc>
+       <jc>// Fully RFC2616 compliant.</jc>
+       <jv>serializerGroup</jv>
+               .getSerializer(<js>"text/invalid, text/json;q=0.8, 
text/*;q:0.6, *\/*;q=0.0"</js>)
+               .serialize(<jv>person</jv>, <jv>myWriter</jv>);
+               
+       <jc>// Construct a new parser group with configuration parameters that 
get applied to all parsers.</jc>
+       ParserGroup <jv>parserGroup</jv> = ParserGroup
+               .<jsm>create</jsm>()
+               .add(JsonParser.<jk>class</jk>, 
UrlEncodingParser.<jk>class</jk>);
+               .forEach(<jv>x</jv> -&gt; 
<jv>x</jv>.swaps(CalendarSwap.ISO8601DT.<jk>class</jk>))
+               .build();
+
+       Person <jv>person</jv> = <jv>parserGroup</jv>
+               .getParser(<js>"text/json"</js>)
+               .parse(<jv>myReader</jv>, Person.<jk>class</jk>);
+       </p>
+</div>
+<h5 class='toc'>SVL Variables</h5>
+<div class='topic'>
+       <p>
+               The <code>org.apache.juneau.svl</code> package defines an API 
for a language called "Simple Variable Language".
+               In a nutshell, Simple Variable Language (or SVL) is text that 
contains variables of the form
+               <js>"$varName{varKey}"</js>.
+       </p>
+       <p>
+               Variables can be recursively nested within the varKey (e.g. 
<js>"$FOO{$BAR{xxx},$BAZ{xxx}}"</js>).
+               Variables can also return values that themselves contain more 
variables.
+       </p>
+       <p class='bcode w800'>
+       <jc>// Use the default variable resolver to resolve a string that 
contains $S (system property) variables</jc>
+       String <jv>myProperty</jv> = 
VarResolver.<jsf>DEFAULT</jsf>.resolve(<js>"The Java home directory is 
$S{java.home}"</js>);
+       </p>
+       <p>
+               The SVL variables are used widely throughout various 
annotations defined in Juneau allowing many features to be configured
+               via external sources such as configuration files or environment 
variables/system properties.  The SVL APIs are 
+               extensible allowing for the addition of new types of variables.
+       </p>
+               
+       </div>
+       
+       <!-- 
=======================================================================================================
 -->
+       <!-- === JUNEAU-MARSHALL-RDF 
=============================================================================== 
-->
+       <!-- 
=======================================================================================================
 -->
+       
+       <h5 class='toc' id='juneau-marshall-rdf'>juneau-marshall-rdf</h5>
+       <div class='topic'>
+               <h5 class='figure'>Maven Dependency</h5>
+               <p class='bcode w500'>
+       <xt>&lt;dependency&gt;</xt>
+               
<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
+               
<xt>&lt;artifactId&gt;</xt>juneau-marshall-rdf<xt>&lt;/artifactId&gt;</xt>
+               <xt>&lt;version&gt;</xt>8.2.0<xt>&lt;/version&gt;</xt>
+       <xt>&lt;/dependency&gt;</xt>
+               </p>    
+       
+               <h5 class='figure'>Java Library</h5>
+               <p class='bcode w500'>
+       juneau-marshall-rdf-8.2.0.jar 
+               </p>    
+       
+               <h5 class='figure'>OSGi Module</h5>
+               <p class='bcode w500'>
+       org.apache.juneau.marshall.rdf_8.2.0.jar 
+               </p>    
+
+               <p>
+                       The <code>juneau-marshall-rdf</code> library provides 
additional serializers and parsers for RDF.
+                       These rely on the Apache Jena library to provide 
support for the following languages:
+               </p>
+               <ul>
+                       <li>RDF/XML
+                       <li>RDF/XML-Abbrev      
+                       <li>N-Triple
+                       <li>Turtle
+                       <li>N3
+               </ul>                           
+               <p>
+                       The serializers and parsers work identically to those 
in <code>juneau-marshall</code>, but are
+                       packaged separately so that you don't need to pull in 
the Jena dependency unless you need it.
+               </p>
+       
+               <p class='bcode w800'>
+       <jc>// A simple bean</jc>
+       <jk>public class</jk> Person {
+               <jk>public</jk> String <jf>name</jf> = <js>"This is RDF 
format."</js>;
+               <jk>public</jk> String <jf>id</jf> = <js>"foo"</js>;
+       }
+       
+       <jc>// Serialize a bean to various RDF languages</jc>
+       Person <jv>person</jv> = <jk>new</jk> Person();
+
+       <jc>// Produces:
+       // &lt;rdf:RDF
+       //  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+       //  xmlns:jp="http://www.apache.org/juneaubp/";
+       //  xmlns:j="http://www.apache.org/juneau/"&gt;
+       //      &lt;rdf:Description&gt;
+       //              &lt;jp:name&gt;This is RDF format.&lt;/jp:name&gt;
+       //              &lt;jp:id&gt;foo&lt;/jp:id&gt;
+       //      &lt;/rdf:Description&gt;
+       // &lt;/rdf:RDF&gt;</jc>
+       String <jv>rdfXml</jv> = 
RdfXmlAbbrevSerializer.<jsf>DEFAULT</jsf>.serialize(<jv>person</jv>);
+       
+       <jc>// Produces:
+       // @prefix jp:      &lt;http://www.apache.org/juneaubp/&gt; .
+       // @prefix j:       &lt;http://www.apache.org/juneau/&gt; .
+       //      []    jp:id  "foo" ;
+       //            jp:name "This is RDF format." .</jc>
+       String <jv>rdfN3</jv> = 
N3Serializer.<jsf>DEFAULT</jsf>.serialize(<jv>person</jv>);
+
+       <jc>// Produces:
+       // _:A3bf53c85X3aX157cf407e2dX3aXX2dX7ffd 
&lt;http://www.apache.org/juneaubp/name&gt; "This is RDF format." .
+       // _:A3bf53c85X3aX157cf407e2dX3aXX2dX7ffd 
&lt;http://www.apache.org/juneaubp/age&gt; "rdf" .</jc>
+       String <jv>rdfNTriple</jv> = 
NTripleSerializer.<jsf>DEFAULT</jsf>.serialize(<jv>person</jv>);
+
+       <jc>// Produces:
+       // @prefix jp:      &lt;http://www.apache.org/juneaubp/&gt; .
+       // @prefix j:       &lt;http://www.apache.org/juneau/&gt; .
+       //      []    jp:id  "foo" ;
+       //            jp:name "This is RDF format." .</jc>
+       String <jv>rdfTurtle</jv> = 
TurtleSerializer.<jsf>DEFAULT</jsf>.serialize(<jv>person</jv>);
+               </p>
+               
+               <ul class='seealso'>
+                       <li><a class='doclink' 
href='http://juneau.apache.org/site/apidocs-8.2.0/overview-summary.html#juneau-marshall-rdf'>juneau-marshall-rdf</a>
+               </ul>           
+       </div>
+</div><!-- END: 1.1 - Overview.juneau-core -->
+
+<!-- 
====================================================================================================
 -->
+
+<h3 class='topic' onclick='toggle(this)'><a href='#Overview.juneau-rest' 
id='Overview.juneau-rest'>1.2 - juneau-rest</a><span class='update'>created: 
<b>9.0.0</b></span></h3>
+<div class='topic'><!-- START: 1.2 - Overview.juneau-rest -->
+<div>
+</div>
+</div><!-- END: 1.2 - Overview.juneau-rest -->
+
+<!-- 
====================================================================================================
 -->
+
+<h3 class='topic' onclick='toggle(this)'><a href='#Overview.juneau-examples' 
id='Overview.juneau-examples'>1.3 - juneau-examples</a><span 
class='update'>created: <b>9.0.0</b></span></h3>
+<div class='topic'><!-- START: 1.3 - Overview.juneau-examples -->
+<div>
+</div>
+</div><!-- END: 1.3 - Overview.juneau-examples -->
+</div><!-- END: 1 - Overview -->
 
 <!-- 
====================================================================================================
 -->
 
diff --git a/juneau-doc/src/main/javadoc/resources/docs.txt 
b/juneau-doc/src/main/javadoc/resources/docs.txt
index 5f0fd1e..33f405e 100644
--- a/juneau-doc/src/main/javadoc/resources/docs.txt
+++ b/juneau-doc/src/main/javadoc/resources/docs.txt
@@ -16,7 +16,6 @@ BeanpAnnotation = 
#juneau-marshall.JavaBeansSupport.BeanpAnnotation, Overview >
 BestPractices = #juneau-marshall.BestPractices, Overview > juneau-marshall > 
Best Practices
 BypassSerialization = #juneau-marshall.JavaBeansSupport.BypassSerialization, 
Overview > juneau-marshall > Java Beans Support > Bypass Serialization using 
Readers and InputStreams
 ClosingConfigs = #juneau-config.ClosingConfigs, Overview > juneau-config > 
Closing Configs
-Components = #Introduction.Components, Overview > Introduction > Components
 ConfigArrays = #juneau-config.ConfigEntryTypes.ConfigArrays, Overview > 
juneau-config > Entry Types > Arrays
 ConfigBinaryData = #juneau-config.ConfigEntryTypes.ConfigBinaryData, Overview 
> juneau-config > Entry Types > Binary Data
 ConfigBulkSettingValues = 
#juneau-config.ConfigSettingValues.ConfigBulkSettingValues, Overview > 
juneau-config > Setting Values > Setting Values in Bulk
@@ -98,7 +97,6 @@ ExtSwaggerResponsesObject = 
https://swagger.io/specification/v2#responsesObject,
 ExtSwaggerSchemaObject = https://swagger.io/specification/v2#schemaObject, 
Swagger Schema Object
 ExtSwaggerSecuritySchemeObject = 
https://swagger.io/specification/v2#securitySchemeObject, Swagger 
SecurityScheme Object
 ExtSwaggerTagObject = https://swagger.io/specification/v2#tagObject, Swagger 
Tag Object
-Features = #Introduction.Features, Overview > Introduction > Features
 FluentAssertions = #juneau-marshall.FluentAssertions, Overview > 
juneau-marshall > Fluent Assertions
 Generics = #juneau-marshall.Generics, Overview > juneau-marshall > Generics
 Glossaries = #Glossaries, Overview > Glossaries
@@ -118,7 +116,6 @@ HtmlSerializers = 
#juneau-marshall.HtmlDetails.HtmlSerializers, Overview > junea
 HttpPartParsers = #juneau-marshall.HttpPartParsers, Overview > juneau-marshall 
> HTTP Part Parsers
 HttpPartSerializers = #juneau-marshall.HttpPartSerializers, Overview > 
juneau-marshall > HTTP Part Serializers
 InterfaceFilters = #juneau-marshall.JavaBeansSupport.InterfaceFilters, 
Overview > juneau-marshall > Java Beans Support > Interface Filters
-Introduction = #Introduction, Overview > Introduction
 JacksonComparison = #juneau-marshall.JacksonComparison, Overview > 
juneau-marshall > Comparison with Jackson
 JavaBeansSupport = #juneau-marshall.JavaBeansSupport, Overview > 
juneau-marshall > Java Beans Support
 JaxrsBaseProvider = #juneau-rest-server-jaxrs.JaxrsBaseProvider, Overview > 
juneau-rest-server-jaxrs > Juneau JAX-RS Provider
@@ -166,6 +163,7 @@ OpenApiDetails = #juneau-marshall.OpenApiDetails, Overview 
> juneau-marshall > O
 OpenApiMethodology = #juneau-marshall.OpenApiDetails.OpenApiMethodology, 
Overview > juneau-marshall > OpenAPI Details > OpenAPI Methodology
 OpenApiParsers = #juneau-marshall.OpenApiDetails.OpenApiParsers, Overview > 
juneau-marshall > OpenAPI Details > OpenAPI Parsers
 OpenApiSerializers = #juneau-marshall.OpenApiDetails.OpenApiSerializers, 
Overview > juneau-marshall > OpenAPI Details > OpenAPI Serializers
+Overview = #Overview, Overview > Overview
 ParentPropertyAnnotation = 
#juneau-marshall.JavaBeansSupport.ParentPropertyAnnotation, Overview > 
juneau-marshall > Java Beans Support > @ParentProperty Annotation
 Parsers = #juneau-marshall.Parsers, Overview > juneau-marshall > Parsers
 ParsingIntoGenericModels = #juneau-marshall.ParsingIntoGenericModels, Overview 
> juneau-marshall > Parsing into Generic Models
@@ -358,7 +356,9 @@ XmlNamespaces = #juneau-marshall.XmlDetails.XmlNamespaces, 
Overview > juneau-mar
 XmlParsers = #juneau-marshall.XmlDetails.XmlParsers, Overview > 
juneau-marshall > XML Details > XML Parsers
 XmlSerializers = #juneau-marshall.XmlDetails.XmlSerializers, Overview > 
juneau-marshall > XML Details > XML Serializers
 juneau-config = #juneau-config, Overview > juneau-config
+juneau-core = #Overview.juneau-core, Overview > Overview > juneau-core
 juneau-dto = #juneau-dto, Overview > juneau-dto
+juneau-examples = #Overview.juneau-examples, Overview > Overview > 
juneau-examples
 juneau-examples-core = #juneau-examples-core, Overview > juneau-examples-core
 juneau-examples-rest = #juneau-examples-rest, Overview > juneau-examples-rest
 juneau-examples-rest-jetty = #juneau-examples-rest-jetty, Overview > 
juneau-examples-rest-jetty
@@ -368,6 +368,7 @@ juneau-marshall-rdf = #juneau-marshall-rdf, Overview > 
juneau-marshall-rdf
 juneau-microservice-core = #juneau-microservice-core, Overview > 
juneau-microservice-core
 juneau-microservice-jetty = #juneau-microservice-jetty, Overview > 
juneau-microservice-jetty
 juneau-petstore = #juneau-petstore, Overview > juneau-pestore
+juneau-rest = #Overview.juneau-rest, Overview > Overview > juneau-rest
 juneau-rest-client = #juneau-rest-client, Overview > juneau-rest-client
 juneau-rest-mock = #juneau-rest-mock, Overview > juneau-rest-mock
 juneau-rest-server = #juneau-rest-server, Overview > juneau-rest-server
diff --git a/juneau-doc/src/main/javadoc/resources/fragments/toc.html 
b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
index 580b2f1..ac24a55 100644
--- a/juneau-doc/src/main/javadoc/resources/fragments/toc.html
+++ b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
@@ -13,10 +13,11 @@
  
***************************************************************************************************************************/
 -->
 <ol class='toc'>
-       <li><p class='toc2'><a class='doclink' 
href='{OVERVIEW_URL}#Introduction'>Introduction</a></p>
+       <li><p class='toc2'><a class='doclink' 
href='{OVERVIEW_URL}#Overview'>Overview</a></p>
        <ol>
-               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#Introduction.Features'>Features</a><span 
class='update'>updated: 8.1.0</span></p>
-               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#Introduction.Components'>Components</a></p>
+               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#Overview.juneau-core'>juneau-core</a><span 
class='update'>created: <b>9.0.0</b></span></p>
+               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#Overview.juneau-rest'>juneau-rest</a><span 
class='update'>created: <b>9.0.0</b></span></p>
+               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#Overview.juneau-examples'>juneau-examples</a><span 
class='update'>created: <b>9.0.0</b></span></p>
        </ol>
        <li><p class='toc2'><a class='doclink' 
href='{OVERVIEW_URL}#juneau-marshall'>juneau-marshall</a></p>
        <ol>
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/package-info.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/package-info.java
new file mode 100644
index 0000000..d22e557
--- /dev/null
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/package-info.java
@@ -0,0 +1,18 @@
+/***************************************************************************************************************************
+ * 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.
+ *
+ 
***************************************************************************************************************************/
+
+/**
+ * REST Client Assertions
+ */
+package org.apache.juneau.rest.client.assertion;
\ No newline at end of file
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/args/package-info.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/args/package-info.java
new file mode 100644
index 0000000..c9664d1
--- /dev/null
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/args/package-info.java
@@ -0,0 +1,18 @@
+/***************************************************************************************************************************
+ * 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.
+ *
+ 
***************************************************************************************************************************/
+
+/**
+ * REST Method Argument Beans
+ */
+package org.apache.juneau.rest.args;
\ No newline at end of file
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/package-info.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/package-info.java
new file mode 100644
index 0000000..f08a80d
--- /dev/null
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/package-info.java
@@ -0,0 +1,18 @@
+/***************************************************************************************************************************
+ * 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.
+ *
+ 
***************************************************************************************************************************/
+
+/**
+ * REST Assertions
+ */
+package org.apache.juneau.rest.assertions;
\ No newline at end of file
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/package-info.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/package-info.java
new file mode 100644
index 0000000..9dd4296
--- /dev/null
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/package-info.java
@@ -0,0 +1,18 @@
+/***************************************************************************************************************************
+ * 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.
+ *
+ 
***************************************************************************************************************************/
+
+/**
+ * REST Logging API
+ */
+package org.apache.juneau.rest.logging;
\ No newline at end of file
diff --git a/launches/juneau-build-javadoc.sh b/launches/juneau-build-javadoc.sh
index c91462f..ff4c7ec 100755
--- a/launches/juneau-build-javadoc.sh
+++ b/launches/juneau-build-javadoc.sh
@@ -30,6 +30,7 @@ mkdir ../juneau-website/content/site/apidocs-$JUNEAU_VERSION
 cp -r ./target/site/apidocs/* 
../juneau-website/content/site/apidocs-$JUNEAU_VERSION
 find ../juneau-website/content/site/apidocs-$JUNEAU_VERSION -type f -name 
'*.html' -exec sed -i '' s/-SNAPSHOT// {} +
 
+tput bel
 echo 
'*******************************************************************************'
 echo '***** SUCCESS 
*****************************************************************'
 echo 
'*******************************************************************************'

Reply via email to