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

commit 1568cb47bfdccc781c25c9cccaa81ee6f990eb4d
Author: JamesBognar <[email protected]>
AuthorDate: Sun Jan 2 18:43:16 2022 -0500

    Javadocs
---
 .../02.jm.SerializersAndParsers.html               |   2 +
 .../02.jrs.JavaMethodParameters.html               |   2 +-
 .../06.juneau-rest-server/05.jrs.Marshalling.html  |   4 +
 .../22.jrs.CustomSerializersAndParsers.html        | 133 -------------
 ...singWithOsgi.html => 22.jrs.UsingWithOsgi.html} |   2 +-
 ...24.jrs.Injection.html => 23.jrs.Injection.html} |   0
 ....jrs.OtherNotes.html => 24.jrs.OtherNotes.html} |   0
 ...rs.RestContext.html => 25.jrs.RestContext.html} |   0
 .../{27.jrs.RestRpc.html => 26.jrs.RestRpc.html}   |   0
 ...l => 27.jrs.CustomRestContextsAndBuilders.html} |   0
 ...rocessors.html => 28.jrs.FluentAssertions.html} |   0
 ....jrs.UtilityBeans.html => 29.jrs.Overview.html} |   0
 ...ertions.html => 30.jrs.ResponseProcessors.html} |   0
 ....jrs.Overview.html => 31.jrs.UtilityBeans.html} |   0
 ...lizingUris.html => 32.jrs.SerializingUris.html} |   0
 juneau-doc/src/main/javadoc/overview.html          | 217 +++++----------------
 juneau-doc/src/main/javadoc/resources/docs.txt     |   1 -
 .../src/main/javadoc/resources/fragments/toc.html  |   7 +-
 .../apache/juneau/examples/parser/ImageParser.java |   5 +
 .../examples/serializer/ImageSerializer.java       |   5 +
 .../juneau/examples/rest/PhotosResource.java       |   7 +
 21 files changed, 78 insertions(+), 307 deletions(-)

diff --git 
a/juneau-doc/docs/Topics/02.juneau-marshall/02.jm.SerializersAndParsers.html 
b/juneau-doc/docs/Topics/02.juneau-marshall/02.jm.SerializersAndParsers.html
index 100dc5b..9d5de4d 100644
--- a/juneau-doc/docs/Topics/02.juneau-marshall/02.jm.SerializersAndParsers.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/02.jm.SerializersAndParsers.html
@@ -176,5 +176,7 @@
        
        <ul class='seealso'>
                <li class='doclink'>{@doc g.LanguageSupport Language Support} - 
Glossary of all supported languages.
+               <li class='jc'>{@link oaj.examples.serializer.ImageSerializer} 
- Example of a custom serializer.
+               <li class='jc'>{@link oaj.examples.parser.ImageParser} - 
Example of a custom parser.
        </ul>
 </div>
\ No newline at end of file
diff --git 
a/juneau-doc/docs/Topics/06.juneau-rest-server/03.jrs.RestOpAnnotatedMethods/02.jrs.JavaMethodParameters.html
 
b/juneau-doc/docs/Topics/06.juneau-rest-server/03.jrs.RestOpAnnotatedMethods/02.jrs.JavaMethodParameters.html
index f66165c..d3cb595 100644
--- 
a/juneau-doc/docs/Topics/06.juneau-rest-server/03.jrs.RestOpAnnotatedMethods/02.jrs.JavaMethodParameters.html
+++ 
b/juneau-doc/docs/Topics/06.juneau-rest-server/03.jrs.RestOpAnnotatedMethods/02.jrs.JavaMethodParameters.html
@@ -123,7 +123,7 @@
                                                <li class='jic'>{@link 
oaj.cp.FileFinder}
                                                <li class='jc'>{@link 
oaj.jsonschema.JsonSchemaGenerator}
                                                <li class='jc'>{@link 
java.util.Logger}
-                                               <li class='jc'>{@link 
oaj.stats.MethodExecStore}
+                                               <li class='jc'>{@link 
oajr.stats.MethodExecStore}
                                                <li class='jc'>{@link 
oaj.parser.ParserSet}
                                                <li class='jc'>{@link 
oajr.RestChildren}
                                                <li class='jc'>{@link 
oajr.RestContext}
diff --git 
a/juneau-doc/docs/Topics/06.juneau-rest-server/05.jrs.Marshalling.html 
b/juneau-doc/docs/Topics/06.juneau-rest-server/05.jrs.Marshalling.html
index 1197a2e..2e534dd 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/05.jrs.Marshalling.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/05.jrs.Marshalling.html
@@ -168,4 +168,8 @@
                <li class='ja'>{@link 
oaj.urlencoding.annotation.UrlEncodingConfig UrlEncodingConfig}
                <li class='ja'>{@link oaj.xml.annotation.XmlConfig XmlConfig}
        </ul>
+       
+       <ul class='seealso'>
+               <li class='jc'>{@link oajr.examples.PhotoResource} - An example 
of a REST resource that uses a custom serializer and parser.
+       </ul>
 </div>
\ No newline at end of file
diff --git 
a/juneau-doc/docs/Topics/06.juneau-rest-server/22.jrs.CustomSerializersAndParsers.html
 
b/juneau-doc/docs/Topics/06.juneau-rest-server/22.jrs.CustomSerializersAndParsers.html
deleted file mode 100644
index 08b40cd..0000000
--- 
a/juneau-doc/docs/Topics/06.juneau-rest-server/22.jrs.CustomSerializersAndParsers.html
+++ /dev/null
@@ -1,133 +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:'Custom Serializers and Parsers', flags:'todo'}
-
-<div class='topic'>
-       <p>
-               A very easy-to-use API is provided for defining your own 
serializers and parsers at both the servlet and 
-               method levels.
-       </p>
-       <p>
-               The following examples show a custom serializer and parser 
defined at the method level.
-               It's the <l>PhotosResource</l> class pulled from the Samples 
project.
-               It shows an example of defining a serializer and parser to 
handle images.
-       </p>
-       <p class='bcode w800'>
-               |       <jd>/**
-               |        * Sample resource that allows images to be uploaded 
and retrieved.
-               |        */</jd>
-               |       <ja>@Rest</ja>(
-               |               path=<js>"/photos"</js>,
-               |               messages=<js>"nls/PhotosResource"</js>,
-               |               title=<js>"Photo REST service"</js>,
-               |               description=<js>"Use a tool like Poster to 
upload and retrieve jpeg and png images."</js>,
-               |               htmldoc=<ja>@HtmlDoc</ja>(
-               |                       navlinks={
-               |                               <js>"options: 
?method=OPTIONS"</js>
-               |                       }
-               |               )
-               |       )
-               |       <jk>public class</jk> PhotosResource <jk>extends</jk> 
BasicRestServlet {
-               |       
-               |               <jc>// Our cache of photos</jc>
-               |               <jk>private</jk> Map&lt;Integer,Photo&gt; 
<jf>photos</jf> = <jk>new</jk> TreeMap&lt;Integer,Photo&gt;();
-               |               
-               |               <jd>/** Bean class for storing photos */</jd>
-               |               <jk>public static class</jk> Photo {
-               |                       <jk>private int</jk> <jf>id</jf>;
-               |                       BufferedImage <jf>image</jf>;
-               |                       
-               |                       Photo(<jk>int</jk> <jv>id</jv>, 
BufferedImage <jv>image</jv>) {
-               |                               <jk>this</jk>.<jf>id</jf> = 
<jv>id</jv>;
-               |                               <jk>this</jk>.<jf>image</jf> = 
<jv>image</jv>;
-               |                       }
-               |                       
-               |                       <jk>public</jk> URI getURI() 
<jk>throws</jk> URISyntaxException {
-               |                               <jk>return new</jk> 
URI(<js>"photos/"</js>+<jf>id</jf>);
-               |                       }
-               |                       
-               |                       <jk>public int</jk> getID() {
-               |                               <jk>return</jk> <jf>id</jf>;
-               |                       }
-               |               }
-               |               
-               |               <jd>/** GET request handler for list of all 
photos */</jd>
-               |               <ja>@RestGet</ja>(<js>"/"</js>)
-               |               <jk>public</jk> Collection&lt;Photo&gt; 
getAllPhotos(RestRequest <jv>req</jv>, RestResponse <jv>res</jv>) 
<jk>throws</jk> Exception {
-               |                       <jv>res</jv>.setPageTitle(<js>"Photo 
REST service"</js>);
-               |                       <jv>res</jv>.setPageText(<js>"Use a 
tool like Poster to upload and retrieve jpeg and png images."</js>);
-               |                       <jk>return</jk> 
<jf>photos</jf>.values();
-               |               }
-               |               
-               |               <jd>/** GET request handler for single photo 
*/</jd>
-               |               <ja>@RestGet</ja>(path=<js>"/{id}"</js>, 
serializers=ImageSerializer.<jk>class</jk>)
-               |               <jk>public</jk> BufferedImage 
getPhoto(RestRequest <jv>req</jv>, <ja>@Path</ja>(<js>"id"</js>) <jk>int</jk> 
<jv>id</jv>) <jk>throws</jk> Exception {
-               |                       Photo <jv>p</jv> = 
<jf>photos</jf>.get(<jv>id</jv>);
-               |                       <jk>if</jk> (<jv>p</jv> == 
<jk>null</jk>)
-               |                               <jk>throw new</jk> 
RestException(<jsf>SC_NOT_FOUND</jsf>, <js>"Photo not found"</js>);
-               |                       <jk>return</jk> 
<jv>p</jv>.<jf>image</jf>;
-               |               }
-               |               
-               |               <jd>/** PUT request handler */</jd>
-               |               <ja>@RestPut</ja>(path=<js>"/{id}"</js>, 
parsers=ImageParser.<jk>class</jk>)
-               |               <jk>public</jk> String addPhoto(RestRequest 
<jv>req</jv>, <ja>@Path</ja>(<js>"id"</js>) <jk>int</jk> <jv>id</jv>, 
<ja>@Body</ja> BufferedImage <jv>image</jv>) <jk>throws</jk> Exception {
-               |                       <jf>photos</jf>.put(<jv>id</jv>, 
<jk>new</jk> Photo(<jv>id</jv>, <jv>image</jv>));
-               |                       <jk>return</jk> <js>"OK"</js>;
-               |               }
-               |               
-               |               <jd>/** POST request handler */</jd>
-               |               <ja>@RestPost</ja>(path=<js>"/"</js>, 
parsers=ImageParser.<jk>class</jk>)
-               |               <jk>public</jk> Photo setPhoto(RestRequest 
<jv>req</jv>, <ja>@Body</ja> BufferedImage <jv>image</jv>) <jk>throws</jk> 
Exception {
-               |                       <jk>int</jk> <jv>id</jv> = 
<jf>photos</jf>.size();
-               |                       Photo <jv>p</jv> = <jk>new</jk> 
Photo(<jv>id</jv>, <jv>image</jv>);
-               |                       <jf>photos</jf>.put(<jv>id</jv>, 
<jv>p</jv>);
-               |                       <jk>return</jk> <jv>p</jv>;
-               |               }
-               |               
-               |               <jd>/** DELETE request handler */</jd>
-               |               <ja>@RestDelete</ja>(<js>"/{id}"</js>)
-               |               <jk>public</jk> String deletePhoto(RestRequest 
<jv>req</jv>, <ja>@Path</ja>(<js>"id"</js>) <jk>int</jk> <jv>id</jv>) 
<jk>throws</jk> Exception {
-               |                       Photo <jv>p</jv> = 
<jf>photos</jf>.remove(<jv>id</jv>);
-               |                       <jk>if</jk> (<jv>p</jv> == 
<jk>null</jk>)
-               |                               <jk>throw new</jk> 
RestException(<jsf>SC_NOT_FOUND</jsf>, <js>"Photo not found"</js>);
-               |                       <jk>return</jk> <js>"OK"</js>;
-               |               }
-               |       
-               |               <jd>/** Serializer for converting images to 
byte streams */</jd>
-               |               
<ja>@Produces</ja>(<js>"image/png,image/jpeg"</js>)
-               |               <jk>public static class</jk> ImageSerializer 
<jk>extends</jk> OutputStreamSerializer {
-               |               
-               |                       <ja>@Override</ja> <jc>/* Serializer 
*/</jc>
-               |                       <jk>public void</jk> serialize(Object 
<jv>o</jv>, OutputStream <jv>out</jv>, SerializerSession <jv>session</jv>) 
<jk>throws</jk> IOException, SerializeException {
-               |                               RenderedImage <jv>image</jv> = 
(RenderedImage)<jv>o</jv>;
-               |                               String <jv>mediaType</jv> = 
<jv>session</jv>.getMediaType();
-               |                               
ImageIO.<jsm>write</jsm>(<jv>image</jv>, 
<jv>mediaType</jv>.substring(<jv>mediaType</jv>.indexOf(<js>'/'</js>)+1), 
<jv>out</jv>);
-               |                       }       
-               |               }
-               |               
-               |               <jd>/** Parser for converting byte streams to 
images */</jd>
-               |               
<ja>@Consumes</ja>(<js>"image/png,image/jpeg"</js>)
-               |               <jk>public static class</jk> ImageParser 
<jk>extends</jk> InputStreamParser {
-               |               
-               |                       <ja>@Override</ja> <jc>/* Parser */</jc>
-               |                       <jk>public</jk> &lt;T&gt; T 
parse(InputStream <jv>in</jv>, ClassMeta&lt;T&gt; <jv>type</jv>, ParserSession 
<jv>session</jv>) <jk>throws</jk> ParseException, IOException {
-               |                               BufferedImage <jv>image</jv> = 
ImageIO.<jsm>read</jsm>(<jv>in</jv>);
-               |                               <jk>return</jk> 
(T)<jv>image</jv>;
-               |                       }
-               |               }
-               |       }
-       </p>
-</div>
\ No newline at end of file
diff --git 
a/juneau-doc/docs/Topics/06.juneau-rest-server/23.jrs.UsingWithOsgi.html 
b/juneau-doc/docs/Topics/06.juneau-rest-server/22.jrs.UsingWithOsgi.html
similarity index 98%
rename from 
juneau-doc/docs/Topics/06.juneau-rest-server/23.jrs.UsingWithOsgi.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/22.jrs.UsingWithOsgi.html
index cb9b5c3..a5222aa 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/23.jrs.UsingWithOsgi.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/22.jrs.UsingWithOsgi.html
@@ -13,7 +13,7 @@
  
***************************************************************************************************************************/
  -->
 
-{title:'Using with OSGi', flags:'todo'}
+{title:'Using with OSGi'}
 
 <div class='topic'>
        <p>
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/24.jrs.Injection.html 
b/juneau-doc/docs/Topics/06.juneau-rest-server/23.jrs.Injection.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-rest-server/24.jrs.Injection.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/23.jrs.Injection.html
diff --git 
a/juneau-doc/docs/Topics/06.juneau-rest-server/25.jrs.OtherNotes.html 
b/juneau-doc/docs/Topics/06.juneau-rest-server/24.jrs.OtherNotes.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-rest-server/25.jrs.OtherNotes.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/24.jrs.OtherNotes.html
diff --git 
a/juneau-doc/docs/Topics/06.juneau-rest-server/26.jrs.RestContext.html 
b/juneau-doc/docs/Topics/06.juneau-rest-server/25.jrs.RestContext.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-rest-server/26.jrs.RestContext.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/25.jrs.RestContext.html
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/27.jrs.RestRpc.html 
b/juneau-doc/docs/Topics/06.juneau-rest-server/26.jrs.RestRpc.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-rest-server/27.jrs.RestRpc.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/26.jrs.RestRpc.html
diff --git 
a/juneau-doc/docs/Topics/06.juneau-rest-server/28.jrs.CustomRestContextsAndBuilders.html
 
b/juneau-doc/docs/Topics/06.juneau-rest-server/27.jrs.CustomRestContextsAndBuilders.html
similarity index 100%
rename from 
juneau-doc/docs/Topics/06.juneau-rest-server/28.jrs.CustomRestContextsAndBuilders.html
rename to 
juneau-doc/docs/Topics/06.juneau-rest-server/27.jrs.CustomRestContextsAndBuilders.html
diff --git 
a/juneau-doc/docs/Topics/06.juneau-rest-server/31.jrs.ResponseProcessors.html 
b/juneau-doc/docs/Topics/06.juneau-rest-server/28.jrs.FluentAssertions.html
similarity index 100%
rename from 
juneau-doc/docs/Topics/06.juneau-rest-server/31.jrs.ResponseProcessors.html
rename to 
juneau-doc/docs/Topics/06.juneau-rest-server/28.jrs.FluentAssertions.html
diff --git 
a/juneau-doc/docs/Topics/06.juneau-rest-server/32.jrs.UtilityBeans.html 
b/juneau-doc/docs/Topics/06.juneau-rest-server/29.jrs.Overview.html
similarity index 100%
rename from 
juneau-doc/docs/Topics/06.juneau-rest-server/32.jrs.UtilityBeans.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.jrs.Overview.html
diff --git 
a/juneau-doc/docs/Topics/06.juneau-rest-server/29.jrs.FluentAssertions.html 
b/juneau-doc/docs/Topics/06.juneau-rest-server/30.jrs.ResponseProcessors.html
similarity index 100%
rename from 
juneau-doc/docs/Topics/06.juneau-rest-server/29.jrs.FluentAssertions.html
rename to 
juneau-doc/docs/Topics/06.juneau-rest-server/30.jrs.ResponseProcessors.html
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/30.jrs.Overview.html 
b/juneau-doc/docs/Topics/06.juneau-rest-server/31.jrs.UtilityBeans.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-rest-server/30.jrs.Overview.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/31.jrs.UtilityBeans.html
diff --git 
a/juneau-doc/docs/Topics/06.juneau-rest-server/33.jrs.SerializingUris.html 
b/juneau-doc/docs/Topics/06.juneau-rest-server/32.jrs.SerializingUris.html
similarity index 100%
rename from 
juneau-doc/docs/Topics/06.juneau-rest-server/33.jrs.SerializingUris.html
rename to 
juneau-doc/docs/Topics/06.juneau-rest-server/32.jrs.SerializingUris.html
diff --git a/juneau-doc/src/main/javadoc/overview.html 
b/juneau-doc/src/main/javadoc/overview.html
index 5d0a75f..b22a1ed 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -402,10 +402,9 @@
                        <li><p><a class='doclink' 
href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlStylesheets'>Stylesheets</a><span
 class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
                </ol>
                <li><p><a class='doclink' 
href='#juneau-rest-server.jrs.LoggingAndDebugging'>Logging / Debugging</a><span 
class='update'>created: <b>9.0.0</b></span></p>
-               <li><p><a class='doclink' 
href='#juneau-rest-server.jrs.HttpStatusCodes'>HTTP Status Codes</a><span 
class='update'><b><red>todo</red></b></span></p>
-               <li><p><a class='doclink' 
href='#juneau-rest-server.jrs.OverloadingHttpMethods'>Overloading HTTP 
Methods</a><span class='update'><b><red>todo</red></b></span></p>
-               <li><p><a class='doclink' 
href='#juneau-rest-server.jrs.BuiltInParameters'>Built-in Parameters</a><span 
class='update'><b><red>todo</red></b></span></p>
-               <li><p><a class='doclink' 
href='#juneau-rest-server.jrs.CustomSerializersAndParsers'>Custom Serializers 
and Parsers</a><span class='update'><b><red>todo</red></b></span></p>
+               <li><p><a class='doclink' 
href='#juneau-rest-server.jrs.HttpStatusCodes'>HTTP Status Codes</a><span 
class='update'>updated: <b>9.0.0</b></span></p>
+               <li><p><a class='doclink' 
href='#juneau-rest-server.jrs.OverloadingHttpMethods'>Overloading HTTP 
Methods</a></p>
+               <li><p><a class='doclink' 
href='#juneau-rest-server.jrs.BuiltInParameters'>Built-in Parameters</a><span 
class='update'>updated: <b>9.0.0</b></span></p>
                <li><p><a class='doclink' 
href='#juneau-rest-server.jrs.UsingWithOsgi'>Using with OSGi</a><span 
class='update'><b><red>todo</red></b></span></p>
                <li><p><a class='doclink' 
href='#juneau-rest-server.jrs.Injection'>Using with Spring and Injection 
frameworks</a><span class='update'><b><red>todo</red></b></span></p>
                <li><p><a class='doclink' 
href='#juneau-rest-server.jrs.OtherNotes'>Other Notes</a><span 
class='update'><b><red>todo</red></b></span></p>
@@ -2313,6 +2312,8 @@
        
        <ul class='seealso'>
                <li class='doclink'>{@doc g.LanguageSupport Language Support} - 
Glossary of all supported languages.
+               <li class='jc'>{@link 
org.apache.juneau.examples.serializer.ImageSerializer} - Example of a custom 
serializer.
+               <li class='jc'>{@link 
org.apache.juneau.examples.parser.ImageParser} - Example of a custom parser.
        </ul>
 </div>
 </div><!-- END: 2.2 - juneau-marshall.jm.SerializersAndParsers -->
@@ -15722,7 +15723,7 @@
                                                <li class='jic'>{@link 
org.apache.juneau.cp.FileFinder}
                                                <li class='jc'>{@link 
org.apache.juneau.jsonschema.JsonSchemaGenerator}
                                                <li class='jc'>{@link 
java.util.Logger}
-                                               <li class='jc'>{@link 
org.apache.juneau.stats.MethodExecStore}
+                                               <li class='jc'>{@link 
org.apache.juneau.rest.stats.MethodExecStore}
                                                <li class='jc'>{@link 
org.apache.juneau.parser.ParserSet}
                                                <li class='jc'>{@link 
org.apache.juneau.rest.RestChildren}
                                                <li class='jc'>{@link 
org.apache.juneau.rest.RestContext}
@@ -17286,6 +17287,10 @@
                <li class='ja'>{@link 
org.apache.juneau.urlencoding.annotation.UrlEncodingConfig UrlEncodingConfig}
                <li class='ja'>{@link 
org.apache.juneau.xml.annotation.XmlConfig XmlConfig}
        </ul>
+       
+       <ul class='seealso'>
+               <li class='jc'>{@link 
org.apache.juneau.rest.examples.PhotoResource} - An example of a REST resource 
that uses a custom serializer and parser.
+       </ul>
 </div>
 </div><!-- END: 6.5 - juneau-rest-server.jrs.Marshalling -->
 
@@ -20039,7 +20044,7 @@
 
 <!-- 
====================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.HttpStatusCodes' 
id='juneau-rest-server.jrs.HttpStatusCodes'>6.19 - HTTP Status Codes</a><span 
class='update'><b><red>todo</red></b></span></h3>
+<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.HttpStatusCodes' 
id='juneau-rest-server.jrs.HttpStatusCodes'>6.19 - HTTP Status Codes</a><span 
class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.19 - juneau-rest-server.jrs.HttpStatusCodes 
-->
 <div class='topic'>
        <p>
@@ -20047,7 +20052,7 @@
                successfully.
        </p>
        <p>
-               Other status codes can be generated by throwing a {@del 
org.apache.juneau.rest.RestException} with a 
+               Other status codes can be generated by throwing a {@del 
org.apache.juneau.http.response.BasicHttpException} with a 
                specific HTTP status code, or calling {@link 
javax.servlet.http.HttpServletResponse#setStatus(int)}.
        </p>
        <p>
@@ -20101,7 +20106,7 @@
                <tr>
                        <td><l>500</l></td>
                        <td>Internal Server Error</td>
-                       <td>The Java method threw an exception other than {@del 
org.apache.juneau.rest.RestException}</td>
+                       <td>The Java method threw an exception other than 
{@link org.apache.juneau.http.response.BasicHttpException}</td>
                </tr>
        </table>
 </div>
@@ -20109,7 +20114,7 @@
 
 <!-- 
====================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.OverloadingHttpMethods' 
id='juneau-rest-server.jrs.OverloadingHttpMethods'>6.20 - Overloading HTTP 
Methods</a><span class='update'><b><red>todo</red></b></span></h3>
+<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.OverloadingHttpMethods' 
id='juneau-rest-server.jrs.OverloadingHttpMethods'>6.20 - Overloading HTTP 
Methods</a></h3>
 <div class='topic'><!-- START: 6.20 - 
juneau-rest-server.jrs.OverloadingHttpMethods -->
 <div class='topic'>
        <p>
@@ -20140,7 +20145,7 @@
 
 <!-- 
====================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.BuiltInParameters' 
id='juneau-rest-server.jrs.BuiltInParameters'>6.21 - Built-in 
Parameters</a><span class='update'><b><red>todo</red></b></span></h3>
+<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.BuiltInParameters' 
id='juneau-rest-server.jrs.BuiltInParameters'>6.21 - Built-in 
Parameters</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.21 - juneau-rest-server.jrs.BuiltInParameters 
-->
 <div class='topic'>
        <p>
@@ -20155,14 +20160,14 @@
                        <td class='code'>&amp;plainText=true</td>
                        <td>
                                Response will always be <l>Content-Type: 
text/plain</l> and the returned text will be human-readable
-                               ({@del 
org.apache.juneau.serializer.WriterSerializer#WSERIALIZER_useWhitespace 
WSERIALIZER_useWhitespace} enabled).
+                               ({@link 
org.apache.juneau.serializer.WriterSerializer.Builder#useWhitespace()} enabled).
                                <br>Useful for debugging.
                        </td>
                </tr>
                <tr>
                        <td class='code'>&amp;debug=true</td>
                        <td>
-                               Request body content will be dumped to log file.
+                               Enable debug mode for request.
                        </td>
                </tr>
                <tr>
@@ -20207,130 +20212,8 @@
 
 <!-- 
====================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.CustomSerializersAndParsers' 
id='juneau-rest-server.jrs.CustomSerializersAndParsers'>6.22 - Custom 
Serializers and Parsers</a><span 
class='update'><b><red>todo</red></b></span></h3>
-<div class='topic'><!-- START: 6.22 - 
juneau-rest-server.jrs.CustomSerializersAndParsers -->
-<div class='topic'>
-       <p>
-               A very easy-to-use API is provided for defining your own 
serializers and parsers at both the servlet and 
-               method levels.
-       </p>
-       <p>
-               The following examples show a custom serializer and parser 
defined at the method level.
-               It's the <l>PhotosResource</l> class pulled from the Samples 
project.
-               It shows an example of defining a serializer and parser to 
handle images.
-       </p>
-       <p class='bcode w800'>
-       <jd>/**
-        * Sample resource that allows images to be uploaded and retrieved.
-        */</jd>
-       <ja>@Rest</ja>(
-               path=<js>"/photos"</js>,
-               messages=<js>"nls/PhotosResource"</js>,
-               title=<js>"Photo REST service"</js>,
-               description=<js>"Use a tool like Poster to upload and retrieve 
jpeg and png images."</js>,
-               htmldoc=<ja>@HtmlDoc</ja>(
-                       navlinks={
-                               <js>"options: ?method=OPTIONS"</js>
-                       }
-               )
-       )
-       <jk>public class</jk> PhotosResource <jk>extends</jk> BasicRestServlet {
-       
-               <jc>// Our cache of photos</jc>
-               <jk>private</jk> Map&lt;Integer,Photo&gt; <jf>photos</jf> = 
<jk>new</jk> TreeMap&lt;Integer,Photo&gt;();
-               
-               <jd>/** Bean class for storing photos */</jd>
-               <jk>public static class</jk> Photo {
-                       <jk>private int</jk> <jf>id</jf>;
-                       BufferedImage <jf>image</jf>;
-                       
-                       Photo(<jk>int</jk> <jv>id</jv>, BufferedImage 
<jv>image</jv>) {
-                               <jk>this</jk>.<jf>id</jf> = <jv>id</jv>;
-                               <jk>this</jk>.<jf>image</jf> = <jv>image</jv>;
-                       }
-                       
-                       <jk>public</jk> URI getURI() <jk>throws</jk> 
URISyntaxException {
-                               <jk>return new</jk> 
URI(<js>"photos/"</js>+<jf>id</jf>);
-                       }
-                       
-                       <jk>public int</jk> getID() {
-                               <jk>return</jk> <jf>id</jf>;
-                       }
-               }
-               
-               <jd>/** GET request handler for list of all photos */</jd>
-               <ja>@RestGet</ja>(<js>"/"</js>)
-               <jk>public</jk> Collection&lt;Photo&gt; 
getAllPhotos(RestRequest <jv>req</jv>, RestResponse <jv>res</jv>) 
<jk>throws</jk> Exception {
-                       <jv>res</jv>.setPageTitle(<js>"Photo REST 
service"</js>);
-                       <jv>res</jv>.setPageText(<js>"Use a tool like Poster to 
upload and retrieve jpeg and png images."</js>);
-                       <jk>return</jk> <jf>photos</jf>.values();
-               }
-               
-               <jd>/** GET request handler for single photo */</jd>
-               <ja>@RestGet</ja>(path=<js>"/{id}"</js>, 
serializers=ImageSerializer.<jk>class</jk>)
-               <jk>public</jk> BufferedImage getPhoto(RestRequest 
<jv>req</jv>, <ja>@Path</ja>(<js>"id"</js>) <jk>int</jk> <jv>id</jv>) 
<jk>throws</jk> Exception {
-                       Photo <jv>p</jv> = <jf>photos</jf>.get(<jv>id</jv>);
-                       <jk>if</jk> (<jv>p</jv> == <jk>null</jk>)
-                               <jk>throw new</jk> 
RestException(<jsf>SC_NOT_FOUND</jsf>, <js>"Photo not found"</js>);
-                       <jk>return</jk> <jv>p</jv>.<jf>image</jf>;
-               }
-               
-               <jd>/** PUT request handler */</jd>
-               <ja>@RestPut</ja>(path=<js>"/{id}"</js>, 
parsers=ImageParser.<jk>class</jk>)
-               <jk>public</jk> String addPhoto(RestRequest <jv>req</jv>, 
<ja>@Path</ja>(<js>"id"</js>) <jk>int</jk> <jv>id</jv>, <ja>@Body</ja> 
BufferedImage <jv>image</jv>) <jk>throws</jk> Exception {
-                       <jf>photos</jf>.put(<jv>id</jv>, <jk>new</jk> 
Photo(<jv>id</jv>, <jv>image</jv>));
-                       <jk>return</jk> <js>"OK"</js>;
-               }
-               
-               <jd>/** POST request handler */</jd>
-               <ja>@RestPost</ja>(path=<js>"/"</js>, 
parsers=ImageParser.<jk>class</jk>)
-               <jk>public</jk> Photo setPhoto(RestRequest <jv>req</jv>, 
<ja>@Body</ja> BufferedImage <jv>image</jv>) <jk>throws</jk> Exception {
-                       <jk>int</jk> <jv>id</jv> = <jf>photos</jf>.size();
-                       Photo <jv>p</jv> = <jk>new</jk> Photo(<jv>id</jv>, 
<jv>image</jv>);
-                       <jf>photos</jf>.put(<jv>id</jv>, <jv>p</jv>);
-                       <jk>return</jk> <jv>p</jv>;
-               }
-               
-               <jd>/** DELETE request handler */</jd>
-               <ja>@RestDelete</ja>(<js>"/{id}"</js>)
-               <jk>public</jk> String deletePhoto(RestRequest <jv>req</jv>, 
<ja>@Path</ja>(<js>"id"</js>) <jk>int</jk> <jv>id</jv>) <jk>throws</jk> 
Exception {
-                       Photo <jv>p</jv> = <jf>photos</jf>.remove(<jv>id</jv>);
-                       <jk>if</jk> (<jv>p</jv> == <jk>null</jk>)
-                               <jk>throw new</jk> 
RestException(<jsf>SC_NOT_FOUND</jsf>, <js>"Photo not found"</js>);
-                       <jk>return</jk> <js>"OK"</js>;
-               }
-       
-               <jd>/** Serializer for converting images to byte streams */</jd>
-               <ja>@Produces</ja>(<js>"image/png,image/jpeg"</js>)
-               <jk>public static class</jk> ImageSerializer <jk>extends</jk> 
OutputStreamSerializer {
-               
-                       <ja>@Override</ja> <jc>/* Serializer */</jc>
-                       <jk>public void</jk> serialize(Object <jv>o</jv>, 
OutputStream <jv>out</jv>, SerializerSession <jv>session</jv>) <jk>throws</jk> 
IOException, SerializeException {
-                               RenderedImage <jv>image</jv> = 
(RenderedImage)<jv>o</jv>;
-                               String <jv>mediaType</jv> = 
<jv>session</jv>.getMediaType();
-                               ImageIO.<jsm>write</jsm>(<jv>image</jv>, 
<jv>mediaType</jv>.substring(<jv>mediaType</jv>.indexOf(<js>'/'</js>)+1), 
<jv>out</jv>);
-                       }       
-               }
-               
-               <jd>/** Parser for converting byte streams to images */</jd>
-               <ja>@Consumes</ja>(<js>"image/png,image/jpeg"</js>)
-               <jk>public static class</jk> ImageParser <jk>extends</jk> 
InputStreamParser {
-               
-                       <ja>@Override</ja> <jc>/* Parser */</jc>
-                       <jk>public</jk> &lt;T&gt; T parse(InputStream 
<jv>in</jv>, ClassMeta&lt;T&gt; <jv>type</jv>, ParserSession <jv>session</jv>) 
<jk>throws</jk> ParseException, IOException {
-                               BufferedImage <jv>image</jv> = 
ImageIO.<jsm>read</jsm>(<jv>in</jv>);
-                               <jk>return</jk> (T)<jv>image</jv>;
-                       }
-               }
-       }
-       </p>
-</div>
-</div><!-- END: 6.22 - juneau-rest-server.jrs.CustomSerializersAndParsers -->
-
-<!-- 
====================================================================================================
 -->
-
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.UsingWithOsgi' 
id='juneau-rest-server.jrs.UsingWithOsgi'>6.23 - Using with OSGi</a><span 
class='update'><b><red>todo</red></b></span></h3>
-<div class='topic'><!-- START: 6.23 - juneau-rest-server.jrs.UsingWithOsgi -->
+<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.UsingWithOsgi' 
id='juneau-rest-server.jrs.UsingWithOsgi'>6.22 - Using with OSGi</a><span 
class='update'><b><red>todo</red></b></span></h3>
+<div class='topic'><!-- START: 6.22 - juneau-rest-server.jrs.UsingWithOsgi -->
 <div class='topic'>
        <p>
                Since REST servlets are basically just <l>HttpServlets</l>, 
incorporating them into an OSGi environment
@@ -20394,12 +20277,12 @@
        }
        </p>
 </div>
-</div><!-- END: 6.23 - juneau-rest-server.jrs.UsingWithOsgi -->
+</div><!-- END: 6.22 - juneau-rest-server.jrs.UsingWithOsgi -->
 
 <!-- 
====================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.Injection' 
id='juneau-rest-server.jrs.Injection'>6.24 - Using with Spring and Injection 
frameworks</a><span class='update'><b><red>todo</red></b></span></h3>
-<div class='topic'><!-- START: 6.24 - juneau-rest-server.jrs.Injection -->
+<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.Injection' 
id='juneau-rest-server.jrs.Injection'>6.23 - Using with Spring and Injection 
frameworks</a><span class='update'><b><red>todo</red></b></span></h3>
+<div class='topic'><!-- START: 6.23 - juneau-rest-server.jrs.Injection -->
 <div class='topic'>
        <p>
                The Juneau REST server API is compatible with dependency 
injection frameworks such as Spring.
@@ -20503,12 +20386,12 @@
                }
        </p>
 </div>
-</div><!-- END: 6.24 - juneau-rest-server.jrs.Injection -->
+</div><!-- END: 6.23 - juneau-rest-server.jrs.Injection -->
 
 <!-- 
====================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.OtherNotes' 
id='juneau-rest-server.jrs.OtherNotes'>6.25 - Other Notes</a><span 
class='update'><b><red>todo</red></b></span></h3>
-<div class='topic'><!-- START: 6.25 - juneau-rest-server.jrs.OtherNotes -->
+<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.OtherNotes' 
id='juneau-rest-server.jrs.OtherNotes'>6.24 - Other Notes</a><span 
class='update'><b><red>todo</red></b></span></h3>
+<div class='topic'><!-- START: 6.24 - juneau-rest-server.jrs.OtherNotes -->
 <div class='topic'>
        <ul class='spaced-list'>
                <li>
@@ -20521,12 +20404,12 @@
                        parameter can be specified:  
<l>"/sample?X-Response-Headers={Refresh=1}"</l>
        </ul>
 </div>
-</div><!-- END: 6.25 - juneau-rest-server.jrs.OtherNotes -->
+</div><!-- END: 6.24 - juneau-rest-server.jrs.OtherNotes -->
 
 <!-- 
====================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.RestContext' 
id='juneau-rest-server.jrs.RestContext'>6.26 - RestContext</a><span 
class='update'><b><red>todo</red></b></span></h3>
-<div class='topic'><!-- START: 6.26 - juneau-rest-server.jrs.RestContext -->
+<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.RestContext' 
id='juneau-rest-server.jrs.RestContext'>6.25 - RestContext</a><span 
class='update'><b><red>todo</red></b></span></h3>
+<div class='topic'><!-- START: 6.25 - juneau-rest-server.jrs.RestContext -->
 <div class='topic'>
        <p>
                The {@link org.apache.juneau.rest.RestContext} object is the 
workhorse class for all of the configuration
@@ -20576,12 +20459,12 @@
                        resource finders, info providers, etc...
        </p>
 </div>
-</div><!-- END: 6.26 - juneau-rest-server.jrs.RestContext -->
+</div><!-- END: 6.25 - juneau-rest-server.jrs.RestContext -->
 
 <!-- 
====================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.RestRpc' id='juneau-rest-server.jrs.RestRpc'>6.27 
- REST/RPC</a><span class='update'>updated: 8.0.0, 
<b><red>todo</red></b></span></h3>
-<div class='topic'><!-- START: 6.27 - juneau-rest-server.jrs.RestRpc -->
+<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.RestRpc' id='juneau-rest-server.jrs.RestRpc'>6.26 
- REST/RPC</a><span class='update'>updated: 8.0.0, 
<b><red>todo</red></b></span></h3>
+<div class='topic'><!-- START: 6.26 - juneau-rest-server.jrs.RestRpc -->
 <div class='topic'>
        <p>
                The REST/RPC (RPC over REST) API allows the creation of 
client-side remote proxy interfaces for calling methods on server-side POJOs 
using entirely REST.
@@ -20903,12 +20786,12 @@
        <h5 class='figure'>Sample form entry page results</h5>
        <img class='bordered w800' src='doc-files/jrs.restRPC.9.png'>
 </div>
-</div><!-- END: 6.27 - juneau-rest-server.jrs.RestRpc -->
+</div><!-- END: 6.26 - juneau-rest-server.jrs.RestRpc -->
 
 <!-- 
====================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.CustomRestContextsAndBuilders' 
id='juneau-rest-server.jrs.CustomRestContextsAndBuilders'>6.28 - Custom REST 
Context and Builders</a><span class='update'>created: <b>9.0.0</b>, 
<b><red>todo</red></b></span></h3>
-<div class='topic'><!-- START: 6.28 - 
juneau-rest-server.jrs.CustomRestContextsAndBuilders -->
+<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.CustomRestContextsAndBuilders' 
id='juneau-rest-server.jrs.CustomRestContextsAndBuilders'>6.27 - Custom REST 
Context and Builders</a><span class='update'>created: <b>9.0.0</b>, 
<b><red>todo</red></b></span></h3>
+<div class='topic'><!-- START: 6.27 - 
juneau-rest-server.jrs.CustomRestContextsAndBuilders -->
 <div class='topic'>
        <p>
                They can also be defined programmatically:
@@ -20942,56 +20825,56 @@
        }
        </p>
 </div>
-</div><!-- END: 6.28 - juneau-rest-server.jrs.CustomRestContextsAndBuilders -->
+</div><!-- END: 6.27 - juneau-rest-server.jrs.CustomRestContextsAndBuilders -->
 
 <!-- 
====================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.FluentAssertions' 
id='juneau-rest-server.jrs.FluentAssertions'>6.29 - Fluent Assertions</a><span 
class='update'>created: <b>9.0.0</b>, <b><red>TODO</red></b></span></h3>
-<div class='topic'><!-- START: 6.29 - juneau-rest-server.jrs.FluentAssertions 
-->
+<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.FluentAssertions' 
id='juneau-rest-server.jrs.FluentAssertions'>6.28 - Fluent Assertions</a><span 
class='update'>created: <b>9.0.0</b>, <b><red>TODO</red></b></span></h3>
+<div class='topic'><!-- START: 6.28 - juneau-rest-server.jrs.FluentAssertions 
-->
 <div class='topic'>
        <p>
                TODO
        </p>
 </div>
-</div><!-- END: 6.29 - juneau-rest-server.jrs.FluentAssertions -->
+</div><!-- END: 6.28 - juneau-rest-server.jrs.FluentAssertions -->
 
 <!-- 
====================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.Overview' 
id='juneau-rest-server.jrs.Overview'>6.30 - Utility Beans</a><span 
class='update'>created: <b>9.0.0</b>, <b><red>TODO</red></b></span></h3>
-<div class='topic'><!-- START: 6.30 - juneau-rest-server.jrs.Overview -->
+<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.Overview' 
id='juneau-rest-server.jrs.Overview'>6.29 - Utility Beans</a><span 
class='update'>created: <b>9.0.0</b>, <b><red>TODO</red></b></span></h3>
+<div class='topic'><!-- START: 6.29 - juneau-rest-server.jrs.Overview -->
 <div class='topic'>
        <p>
                TODO
        </p>
 </div>
-</div><!-- END: 6.30 - juneau-rest-server.jrs.Overview -->
+</div><!-- END: 6.29 - juneau-rest-server.jrs.Overview -->
 
 <!-- 
====================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.ResponseProcessors' 
id='juneau-rest-server.jrs.ResponseProcessors'>6.31 - Fluent 
Assertions</a><span class='update'>created: <b>9.0.0</b>, 
<b><red>TODO</red></b></span></h3>
-<div class='topic'><!-- START: 6.31 - 
juneau-rest-server.jrs.ResponseProcessors -->
+<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.ResponseProcessors' 
id='juneau-rest-server.jrs.ResponseProcessors'>6.30 - Fluent 
Assertions</a><span class='update'>created: <b>9.0.0</b>, 
<b><red>TODO</red></b></span></h3>
+<div class='topic'><!-- START: 6.30 - 
juneau-rest-server.jrs.ResponseProcessors -->
 <div class='topic'>
        <p>
                TODO
        </p>
 </div>
-</div><!-- END: 6.31 - juneau-rest-server.jrs.ResponseProcessors -->
+</div><!-- END: 6.30 - juneau-rest-server.jrs.ResponseProcessors -->
 
 <!-- 
====================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.UtilityBeans' 
id='juneau-rest-server.jrs.UtilityBeans'>6.32 - Utility Beans</a><span 
class='update'>created: <b>9.0.0</b>, <b><red>TODO</red></b></span></h3>
-<div class='topic'><!-- START: 6.32 - juneau-rest-server.jrs.UtilityBeans -->
+<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.UtilityBeans' 
id='juneau-rest-server.jrs.UtilityBeans'>6.31 - Utility Beans</a><span 
class='update'>created: <b>9.0.0</b>, <b><red>TODO</red></b></span></h3>
+<div class='topic'><!-- START: 6.31 - juneau-rest-server.jrs.UtilityBeans -->
 <div class='topic'>
        <p>
                TODO
        </p>
 </div>
-</div><!-- END: 6.32 - juneau-rest-server.jrs.UtilityBeans -->
+</div><!-- END: 6.31 - juneau-rest-server.jrs.UtilityBeans -->
 
 <!-- 
====================================================================================================
 -->
 
-<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.SerializingUris' 
id='juneau-rest-server.jrs.SerializingUris'>6.33 - URIs</a><span 
class='update'><b><red>todo</red></b></span></h3>
-<div class='topic'><!-- START: 6.33 - juneau-rest-server.jrs.SerializingUris 
-->
+<h3 class='topic' onclick='toggle(this)'><a 
href='#juneau-rest-server.jrs.SerializingUris' 
id='juneau-rest-server.jrs.SerializingUris'>6.32 - URIs</a><span 
class='update'><b><red>todo</red></b></span></h3>
+<div class='topic'><!-- START: 6.32 - juneau-rest-server.jrs.SerializingUris 
-->
 <div class='topic'>
        <p>
                As mention earlier {@doc jm.MarshallingUris here}, Juneau 
serializers have sophisticated support for transforming relative URIs to 
absolute form.
@@ -21074,7 +20957,7 @@
                URIs are resolved by both regular and part serializers.
        </p>
 </div>
-</div><!-- END: 6.33 - juneau-rest-server.jrs.SerializingUris -->
+</div><!-- END: 6.32 - juneau-rest-server.jrs.SerializingUris -->
 </div><!-- END: 6 - juneau-rest-server -->
 
 <!-- 
====================================================================================================
 -->
diff --git a/juneau-doc/src/main/javadoc/resources/docs.txt 
b/juneau-doc/src/main/javadoc/resources/docs.txt
index 9f25063..cb5affa 100644
--- a/juneau-doc/src/main/javadoc/resources/docs.txt
+++ b/juneau-doc/src/main/javadoc/resources/docs.txt
@@ -258,7 +258,6 @@ jrs.ClientVersioning = 
#juneau-rest-server.jrs.ClientVersioning, Overview > june
 jrs.ConfigurationFiles = #juneau-rest-server.jrs.ConfigurationFiles, Overview 
> juneau-rest-server > Configuration Files
 jrs.Converters = #juneau-rest-server.jrs.Converters, Overview > 
juneau-rest-server > Converters
 jrs.CustomRestContextsAndBuilders = 
#juneau-rest-server.jrs.CustomRestContextsAndBuilders, Overview > 
juneau-rest-server > Custom REST Context and Builders
-jrs.CustomSerializersAndParsers = 
#juneau-rest-server.jrs.CustomSerializersAndParsers, Overview > 
juneau-rest-server > Custom Serializers and Parsers
 jrs.DefaultHeaders = #juneau-rest-server.jrs.HttpParts.jrs.DefaultHeaders, 
Overview > juneau-rest-server > HTTP Parts > Default Parts
 jrs.Encoders = #juneau-rest-server.jrs.Encoders, Overview > juneau-rest-server 
> Encoders
 jrs.ExecutionStatistics = #juneau-rest-server.jrs.ExecutionStatistics, 
Overview > juneau-rest-server > REST method execution statistics
diff --git a/juneau-doc/src/main/javadoc/resources/fragments/toc.html 
b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
index 31c3012..9cd7971 100644
--- a/juneau-doc/src/main/javadoc/resources/fragments/toc.html
+++ b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
@@ -256,10 +256,9 @@
                        <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlStylesheets'>Stylesheets</a><span
 class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
                </ol>
                <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-rest-server.jrs.LoggingAndDebugging'>Logging / 
Debugging</a><span class='update'>created: <b>9.0.0</b></span></p>
-               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpStatusCodes'>HTTP Status 
Codes</a><span class='update'><b><red>todo</red></b></span></p>
-               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-rest-server.jrs.OverloadingHttpMethods'>Overloading 
HTTP Methods</a><span class='update'><b><red>todo</red></b></span></p>
-               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-rest-server.jrs.BuiltInParameters'>Built-in 
Parameters</a><span class='update'><b><red>todo</red></b></span></p>
-               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-rest-server.jrs.CustomSerializersAndParsers'>Custom 
Serializers and Parsers</a><span 
class='update'><b><red>todo</red></b></span></p>
+               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpStatusCodes'>HTTP Status 
Codes</a><span class='update'>updated: <b>9.0.0</b></span></p>
+               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-rest-server.jrs.OverloadingHttpMethods'>Overloading 
HTTP Methods</a></p>
+               <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-rest-server.jrs.BuiltInParameters'>Built-in 
Parameters</a><span class='update'>updated: <b>9.0.0</b></span></p>
                <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-rest-server.jrs.UsingWithOsgi'>Using with 
OSGi</a><span class='update'><b><red>todo</red></b></span></p>
                <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-rest-server.jrs.Injection'>Using with Spring and 
Injection frameworks</a><span class='update'><b><red>todo</red></b></span></p>
                <li><p><a class='doclink' 
href='{OVERVIEW_URL}#juneau-rest-server.jrs.OtherNotes'>Other Notes</a><span 
class='update'><b><red>todo</red></b></span></p>
diff --git 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/parser/ImageParser.java
 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/parser/ImageParser.java
index bb6f98d..a253d4a 100644
--- 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/parser/ImageParser.java
+++ 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/parser/ImageParser.java
@@ -22,6 +22,11 @@ import org.apache.juneau.parser.*;
 
 /**
  * Example parser that converts byte streams to {@link BufferedImage} objects.
+ *
+ * <ul class='seealso'>
+ *     <li class='link'>{@doc jrs.Marshalling REST Marshalling}
+ *     <li class='extlink'>{@source}
+ * </ul>
  */
 @SuppressWarnings("javadoc")
 public class ImageParser extends InputStreamParser {
diff --git 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/serializer/ImageSerializer.java
 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/serializer/ImageSerializer.java
index 260799e..b484835 100644
--- 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/serializer/ImageSerializer.java
+++ 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/serializer/ImageSerializer.java
@@ -22,6 +22,11 @@ import org.apache.juneau.serializer.*;
 
 /**
  * Example serializer that converts {@link BufferedImage} objects to byte 
streams.
+ *
+ * <ul class='seealso'>
+ *     <li class='link'>{@doc jrs.Marshalling REST Marshalling}
+ *     <li class='extlink'>{@source}
+ * </ul>
  */
 @SuppressWarnings("javadoc")
 public class ImageSerializer extends OutputStreamSerializer {
diff --git 
a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PhotosResource.java
 
b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PhotosResource.java
index 67daa81..8c099de 100644
--- 
a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PhotosResource.java
+++ 
b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/PhotosResource.java
@@ -27,6 +27,13 @@ import java.net.*;
 
 /**
  * Sample resource that allows images to be uploaded and retrieved.
+ *
+ * <ul class='seealso'>
+ *     <li class='link'>{@doc jrs.Marshalling REST Marshalling}
+ *     <li class='jc'>{@link ImageSerializer}
+ *     <li class='jc'>{@link ImageParser}
+ *     <li class='extlink'>{@source}
+ * </ul>
  */
 @Rest(
        path="/photos",

Reply via email to