You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2018/01/14 16:02:32 UTC

[04/32] juneau git commit: Javadoc updates.

http://git-wip-us.apache.org/repos/asf/juneau/blob/5686b8d6/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
----------------------------------------------------------------------
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index b56e816..58098a9 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -50,7 +50,7 @@ import org.apache.juneau.utils.*;
 
 /**
  * Contains all the configuration on a REST resource and the entry points for handling REST calls.
- *
+ * 
  * <p>
  * See {@link PropertyStore} for more information about context properties.
  */
@@ -64,7 +64,7 @@ public final class RestContext extends BeanContext {
 	
 	/**
 	 * Configuration property:  Allow body URL parameter.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.allowBodyParam.b"</js>
@@ -80,7 +80,7 @@ public final class RestContext extends BeanContext {
 	 * 			<li>{@link RestContextBuilder#allowBodyParam(boolean)}
 	 * 		</ul>
 	 * </ul>
-	 *
+	 * 
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * When enabled, the HTTP body content on PUT and POST requests can be passed in as text using the <js>"body"</js>
@@ -98,7 +98,7 @@ public final class RestContext extends BeanContext {
 	
 	/**
 	 * Configuration property:  Allowed method parameters.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.allowedMethodParams.s"</js>
@@ -114,21 +114,21 @@ public final class RestContext extends BeanContext {
 	 * 			<li class='jm'>{@link RestContextBuilder#allowedMethodParams(String...)}
 	 * 		</ul>
 	 * </ul>
-	 *
+	 * 
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * When specified, the HTTP method can be overridden by passing in a <js>"method"</js> URL parameter on a regular
 	 * GET request.
 	 * <br>
 	 * For example:  <js>"?method=OPTIONS"</js>
-	 *
+	 * 
 	 * <h5 class='section'>Notes:</h5>
 	 * <ul class='spaced-list'>
 	 * 	<li>Format is a comma-delimited list of HTTP method names that can be passed in as a method parameter.
 	 * 	<li>Parameter name is case-insensitive.
 	 * 	<li>Use <js>"*"</js> to represent all methods.
 	 * </ul>
-	 *
+	 * 
 	 * <p>
 	 * Note that per the <a class="doclink"
 	 * href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html">HTTP specification</a>, special care should
@@ -138,7 +138,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Allow header URL parameters.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.allowHeaderParams.b"</js>
@@ -154,7 +154,7 @@ public final class RestContext extends BeanContext {
 	 * 			<li class='jm'>{@link RestContextBuilder#allowHeaderParams(boolean)}
 	 * 		</ul>
 	 * </ul>
-	 *
+	 * 
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * When enabled, headers such as <js>"Accept"</js> and <js>"Content-Type"</js> to be passed in as URL query
@@ -172,7 +172,7 @@ public final class RestContext extends BeanContext {
 	
 	/**
 	 * Configuration property:  REST call handler.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.callHandler.o"</js>
@@ -199,7 +199,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Children.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.children.lo"</js>
@@ -221,7 +221,7 @@ public final class RestContext extends BeanContext {
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * Defines children of this resource.
-	 *
+	 * 
 	 * <p>
 	 * A REST child resource is simply another servlet or object that is initialized as part of the parent resource and has a
 	 * servlet path directly under the parent servlet path.
@@ -229,14 +229,14 @@ public final class RestContext extends BeanContext {
 	 * <code>web.xml</code> file of the web application.
 	 * <br>This can cut down on the number of entries that show up in the <code>web.xml</code> file if you are defining
 	 * large numbers of servlets.
-	 *
+	 * 
 	 * <p>
 	 * Child resources must specify a value for {@link RestResource#path() @RestResource.path()} that identifies the subpath of the child resource
 	 * relative to the parent path.
-	 *
+	 * 
 	 * <p>
 	 * Child resources can be nested arbitrarily deep using this technique (i.e. children can also have children).
-	 *
+	 * 
 	 * <dl>
 	 * 	<dt>Servlet initialization:</dt>
 	 * 	<dd>
@@ -271,7 +271,7 @@ public final class RestContext extends BeanContext {
 	 * 			<li><code><jk>public</jk> T()</code>
 	 * 		</ul>
 	 * </ul>
-	 *
+	 * 
 	 * <h5 class='section'>Documentation:</h5>
 	 * <ul>
 	 * 	<li><a class="doclink" href="package-summary.html#RestResources.Children">org.apache.juneau.rest &gt; Children</a>
@@ -281,7 +281,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Classpath resource finder. 
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.classpathResourceFinder.o"</js>
@@ -317,7 +317,7 @@ public final class RestContext extends BeanContext {
 	
 	/**
 	 * Configuration property:  Client version header.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.clientVersionHeader.s"</js>
@@ -337,7 +337,7 @@ public final class RestContext extends BeanContext {
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * Specifies the name of the header used to denote the client version on HTTP requests.
-	 *
+	 * 
 	 * <p>
 	 * The client version is used to support backwards compatibility for breaking REST interface changes.
 	 * <br>Used in conjunction with {@link RestMethod#clientVersion() @RestMethod.clientVersion()} annotation.
@@ -346,7 +346,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Resource context path. 
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.contextPath.s"</js>
@@ -366,7 +366,7 @@ public final class RestContext extends BeanContext {
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * Overrides the context path value for this resource and any child resources.
-	 *
+	 * 
 	 * <p>
 	 * This setting is useful if you want to use <js>"context:/child/path"</js> URLs in child resource POJOs but
 	 * the context path is not actually specified on the servlet container.
@@ -377,7 +377,7 @@ public final class RestContext extends BeanContext {
 	
 	/**
 	 * Configuration property:  Class-level response converters.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.converters.lo"</js>
@@ -401,10 +401,10 @@ public final class RestContext extends BeanContext {
 	 * Associates one or more {@link RestConverter converters} with a resource class.
 	 * These converters get called immediately after execution of the REST method in the same order specified in the
 	 * annotation.
-	 *
+	 * 
 	 * <p>
 	 * Can be used for performing post-processing on the response object before serialization.
-	 *
+	 * 
 	 * <h5 class='section'>Documentation:</h5>
 	 * <ul>
 	 * 	<li><a class="doclink" href="package-summary.html#RestResources.Converters">org.apache.juneau.rest &gt; Converters</a>
@@ -414,7 +414,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Default character encoding.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.defaultCharset.s"</js>
@@ -431,7 +431,7 @@ public final class RestContext extends BeanContext {
 	 * 			<li class='jm'>{@link RestContextBuilder#defaultCharset(String)}
 	 * 		</ul>
 	 * </ul>
-	 *
+	 * 
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * The default character encoding for the request and response if not specified on the request.
@@ -440,7 +440,7 @@ public final class RestContext extends BeanContext {
 	
 	/**
 	 * Configuration property:  Default request headers.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.defaultRequestHeaders.smo"</js>
@@ -462,7 +462,7 @@ public final class RestContext extends BeanContext {
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * Specifies default values for request headers.
-	 *
+	 * 
 	 * <h5 class='section'>Notes:</h5>
 	 * <ul class='spaced-list'>
 	 * 	<li>Affects values returned by {@link RestRequest#getHeader(String)} when the header is not present on the request.
@@ -474,7 +474,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Default response headers.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.defaultResponseHeaders.omo"</js>
@@ -495,7 +495,7 @@ public final class RestContext extends BeanContext {
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * Specifies default values for response headers.
-	 *
+	 * 
 	 * <h5 class='section'>Notes:</h5>
 	 * <ul class='spaced-list'>
 	 * 	<li>This is equivalent to calling {@link RestResponse#setHeader(String, String)} programmatically in each of 
@@ -507,7 +507,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Compression encoders. 
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.encoders.o"</js>
@@ -529,7 +529,7 @@ public final class RestContext extends BeanContext {
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * These can be used to enable various kinds of compression (e.g. <js>"gzip"</js>) on requests and responses.
-	 *
+	 * 
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode'>
 	 * 	<jc>// Servlet with automated support for GZIP compression</jc>
@@ -550,7 +550,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Class-level guards.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.guards.lo"</js>
@@ -568,16 +568,16 @@ public final class RestContext extends BeanContext {
 	 * 			<li class='jm'>{@link RestContextBuilder#guards(RestGuard...)}
 	 * 		</ul>
 	 * </ul>
-	 *
+	 * 
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * Associates one or more {@link RestGuard RestGuards} with all REST methods defined in this class.
 	 * These guards get called immediately before execution of any REST method in this class.
-	 *
+	 * 
 	 * <p>
 	 * Typically, guards will be used for permissions checking on the user making the request, but it can also be used
 	 * for other purposes like pre-call validation of a request.
-	 *
+	 * 
 	 * <h5 class='section'>Notes:</h5>
 	 * <ul class='spaced-list'>
 	 * 	<li>{@link RestGuard} classes must have either a no-arg or {@link PropertyStore} argument constructors.
@@ -587,7 +587,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  REST info provider. 
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.infoProvider.o"</js>
@@ -608,7 +608,7 @@ public final class RestContext extends BeanContext {
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * Class used to retrieve title/description/swagger information about a resource.
-	 *
+	 * 
 	 * <p>
 	 * Subclasses can be used to customize the documentation on a resource.
 	 */
@@ -649,7 +649,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  The maximum allowed input size (in bytes) on HTTP requests.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.maxInput.s"</js>
@@ -666,7 +666,7 @@ public final class RestContext extends BeanContext {
 	 * 			<li class='jm'>{@link RestContextBuilder#maxInput(String)}
 	 * 		</ul>
 	 * </ul>
-	 *
+	 * 
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * Useful for alleviating DoS attacks by throwing an exception when too much input is received instead of resulting
@@ -684,7 +684,7 @@ public final class RestContext extends BeanContext {
 	
 	/**
 	 * Configuration property:  Messages. 
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.messages.lo"</js>
@@ -706,17 +706,17 @@ public final class RestContext extends BeanContext {
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * Identifies the location of the resource bundle for this class.
-	 *
+	 * 
 	 * <p>
 	 * This annotation is used to provide localized messages for the following methods:
 	 * <ul>
 	 * 	<li>{@link RestRequest#getMessage(String, Object...)}
 	 * 	<li>{@link RestContext#getMessages()}
 	 * </ul>
-	 *
+	 * 
 	 * <p>
 	 * Refer to the {@link MessageBundle} class for a description of the message key formats used in the properties file.
-	 *
+	 * 
 	 * <p>
 	 * The value can be a relative path like <js>"nls/Messages"</js>, indicating to look for the resource bundle
 	 * <js>"com.foo.sample.nls.Messages"</js> if the resource class is in <js>"com.foo.sample"</js>, or it can be an
@@ -731,7 +731,7 @@ public final class RestContext extends BeanContext {
 	
 	/**
 	 * Configuration property:  MIME types. 
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.mimeTypes.ss"</js>
@@ -774,7 +774,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Java method parameter resolvers.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.paramResolvers.lo"</js>
@@ -790,25 +790,25 @@ public final class RestContext extends BeanContext {
 	 * 			<li class='jm'>{@link RestContextBuilder#paramResolvers(RestParam...)}
 	 * 		</ul>
 	 * </ul>
-	 *
+	 * 
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * By default, the Juneau framework will automatically Java method parameters of various types (e.g.
 	 * <code>RestRequest</code>, <code>Accept</code>, <code>Reader</code>).
 	 * This setting allows you to provide your own resolvers for your own class types that you want resolved.
-	 *
+	 * 
 	 * <p>
 	 * For example, if you want to pass in instances of <code>MySpecialObject</code> to your Java method, define
 	 * the following resolver:
 	 * <p class='bcode'>
 	 * 	<jk>public class</jk> MyRestParam <jk>extends</jk> RestParam {
-	 *
+	 * 
 	 * 		<jc>// Must have no-arg constructor!</jc>
 	 * 		<jk>public</jk> MyRestParam() {
 	 * 			<jc>// First two parameters help with Swagger doc generation.</jc>
 	 * 			<jk>super</jk>(<jsf>QUERY</jsf>, <js>"myparam"</js>, MySpecialObject.<jk>class</jk>);
 	 * 		}
-	 *
+	 * 
 	 * 		<jc>// The method that creates our object.
 	 * 		// In this case, we're taking in a query parameter and converting it to our object.</jc>
 	 * 		<jk>public</jk> Object resolve(RestRequest req, RestResponse res) <jk>throws</jk> Exception {
@@ -816,7 +816,7 @@ public final class RestContext extends BeanContext {
 	 * 		}
 	 * 	}
 	 * </p>
-	 *
+	 * 
 	 * <h5 class='section'>Notes:</h5>
 	 * <ul class='spaced-list'>
 	 * 	<li>{@link RestParam} classes must have either a no-arg or {@link PropertyStore} argument constructors.
@@ -826,7 +826,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Parsers. 
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.parsers.lo"</js>
@@ -855,7 +855,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li>When defined as a class, properties/transforms defined on the resource/method are inherited.
 	 * 	<li>When defined as an instance, properties/transforms defined on the resource/method are NOT inherited.
 	 * </ul>
-	 *
+	 * 
 	 * <h5 class='section'>Documentation:</h5>
 	 * <ul>
 	 * 	<li><a class="doclink" href="package-summary.html#RestResources.Parsers">org.apache.juneau.rest &gt; Parsers</a>
@@ -865,7 +865,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  HTTP part parser. 
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.partParser.o"</js>
@@ -897,7 +897,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  HTTP part serializer. 
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.partSerializer.o"</js>
@@ -918,7 +918,7 @@ public final class RestContext extends BeanContext {
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * Specifies the {@link HttpPartSerializer} to use for serializing headers, query/form parameters, and URI parts.
-	 *
+	 * 
 	 * <h5 class='section'>Notes:</h5>
 	 * <ul class='spaced-list'>
 	 * 	<li>When defined as a class, properties/transforms defined on the resource/method are inherited.
@@ -929,7 +929,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Resource path.   
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.path.s"</js>
@@ -949,7 +949,7 @@ public final class RestContext extends BeanContext {
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * Identifies the URL subpath relative to the parent resource.
-	 *
+	 * 
 	 * <p>
 	 * <h5 class='section'>Notes:</h5>
 	 * <ul class='spaced-list'>
@@ -964,7 +964,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Render response stack traces in responses.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.renderResponseStackTraces.b"</js>
@@ -981,11 +981,11 @@ public final class RestContext extends BeanContext {
 	 * 			<li class='jm'>{@link RestContextBuilder#renderResponseStackTraces()}
 	 * 		</ul>
 	 * </ul>
-	 *
+	 * 
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * Render stack traces in HTTP response bodies when errors occur.
-	 *
+	 * 
 	 * <h5 class='section'>Notes:</h5>
 	 * <ul class='spaced-list'>
 	 * 	<li>Useful for debugging, although allowing stack traces to be rendered may cause security concerns so use
@@ -996,7 +996,7 @@ public final class RestContext extends BeanContext {
 	
 	/**
 	 * Configuration property:  REST resource resolver.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.resourceResolver.o"</js>
@@ -1020,7 +1020,7 @@ public final class RestContext extends BeanContext {
 	 * 
 	 * <p>
 	 * Can be used to provide customized resolution of REST resource class instances (e.g. resources retrieve from Spring).
-	 *
+	 * 
 	 * <p>
 	 * <h5 class='section'>Notes:</h5>
 	 * <ul class='spaced-list'>
@@ -1031,7 +1031,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Response handlers.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.responseHandlers.lo"</js>
@@ -1053,7 +1053,7 @@ public final class RestContext extends BeanContext {
 	 * <p>
 	 * Specifies a list of {@link ResponseHandler} classes that know how to convert POJOs returned by REST methods or
 	 * set via {@link RestResponse#setOutput(Object)} into appropriate HTTP responses.
-	 *
+	 * 
 	 * <p>
 	 * By default, the following response handlers are provided out-of-the-box:
 	 * <ul>
@@ -1075,7 +1075,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Serializers. 
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.serializers.lo"</js>
@@ -1104,7 +1104,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li>When defined as a class, properties/transforms defined on the resource/method are inherited.
 	 * 	<li>When defined as an instance, properties/transforms defined on the resource/method are NOT inherited.
 	 * </ul>
-	 *
+	 * 
 	 * <h5 class='section'>Documentation:</h5>
 	 * <ul>
 	 * 	<li><a class="doclink" href="package-summary.html#RestResources.Serializers">org.apache.juneau.rest &gt; Serializers</a>
@@ -1114,7 +1114,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Static file response headers. 
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.staticFileResponseHeaders.omo"</js>
@@ -1141,7 +1141,7 @@ public final class RestContext extends BeanContext {
 	
 	/**
 	 * Configuration property:  Static file mappings. 
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.staticFiles.lo"</js>
@@ -1206,7 +1206,7 @@ public final class RestContext extends BeanContext {
 	
 	/**
 	 * Configuration property:  Supported accept media types.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.supportedAcceptTypes.ls"</js>
@@ -1237,7 +1237,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Supported content media types.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.supportedContentTypes.ls"</js>
@@ -1259,7 +1259,7 @@ public final class RestContext extends BeanContext {
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * Overrides the media types inferred from the parsers that identify what media types can be consumed by the resource.
-	 *
+	 * 
 	 * <p>
 	 * This affects the values returned by {@link RestRequest#getSupportedContentTypes()} and the supported content
 	 * types shown in {@link RestInfoProvider#getSwagger(RestRequest)}.
@@ -1268,7 +1268,7 @@ public final class RestContext extends BeanContext {
 	
 	/**
 	 * Configuration property:  Use classpath resource caching. 
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.useClasspathResourceCaching.b"</js>
@@ -1294,7 +1294,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Configuration property:  Use stack trace hashes.
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.useStackTraceHashes.b"</js>
@@ -1310,7 +1310,7 @@ public final class RestContext extends BeanContext {
 	 * 			<li class='jm'>{@link RestContextBuilder#useStackTraceHashes(boolean)}
 	 * 		</ul>
 	 * </ul>
-	 *
+	 * 
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
 	 * When enabled, the number of times an exception has occurred will be determined based on stack trace hashsums,
@@ -1320,7 +1320,7 @@ public final class RestContext extends BeanContext {
 	
 	/**
 	 * Configuration property:  HTML Widgets. 
-	 *
+	 * 
 	 * <h5 class='section'>Property:</h5>
 	 * <ul>
 	 * 	<li><b>Name:</b>  <js>"RestContext.widgets.lo"</js>
@@ -1354,11 +1354,11 @@ public final class RestContext extends BeanContext {
 	 * 		<br>The styles contents are automatically inserted into the <xt>&lt;head/style&gt;</xt> section
 	 * 			 in the HTML page.
 	 * </ul>
-	 *
+	 * 
 	 * <p>
 	 * The following examples shows how to associate a widget with a REST method and then have it rendered in the links
 	 * and aside section of the page:
-	 *
+	 * 
 	 * <p class='bcode'>
 	 * 	<ja>@RestMethod</ja>(
 	 * 		widgets={
@@ -1469,7 +1469,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Constructor.
-	 *
+	 * 
 	 * @param builder The servlet configuration object.
 	 * @throws Exception If any initialization problems were encountered.
 	 */
@@ -1834,16 +1834,16 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the resource resolver associated with this context.
-	 *
+	 * 
 	 * <p>
 	 * The resource resolver is used for instantiating child resource classes.
-	 *
+	 * 
 	 * <p>
 	 * Unless overridden via the {@link RestResource#resourceResolver() @RestResource.resourceResolver()} annotation or the {@link RestContextBuilder#resourceResolver(Class)}
 	 * method, this value is always inherited from parent to child.
 	 * This allows a single resource resolver to be passed in to the top-level servlet to handle instantiation of all
 	 * child resources.
-	 *
+	 * 
 	 * @return The resource resolver associated with this context.
 	 */
 	protected RestResourceResolver getResourceResolver() {
@@ -1852,12 +1852,12 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the variable resolver for this servlet.
-	 *
+	 * 
 	 * <p>
 	 * Variable resolvers are used to replace variables in property values.
 	 * They can be nested arbitrarily deep.
 	 * They can also return values that themselves contain other variables.
-	 *
+	 * 
 	 * <h6 class='figure'>Example:</h6>
 	 * <p class='bcode'>
 	 * 	<ja>@RestResource</ja>(
@@ -1873,7 +1873,7 @@ public final class RestContext extends BeanContext {
 	 * 	)
 	 * 	<jk>public class</jk> MyRestResource <jk>extends</jk> RestServletDefault {
 	 * </p>
-	 *
+	 * 
 	 * <p>
 	 * A typical usage pattern involves using variables inside the {@link HtmlDoc @HtmlDoc} annotation:
 	 * <p class='bcode'>
@@ -1895,7 +1895,7 @@ public final class RestContext extends BeanContext {
 	 * 	)
 	 * 	<jk>public</jk> LoggerEntry getLogger(RestRequest req, <ja>@Path</ja> String name) <jk>throws</jk> Exception {
 	 * </p>
-	 *
+	 * 
 	 * <p>
 	 * The following is the default list of supported variables:
 	 * <ul>
@@ -1920,12 +1920,12 @@ public final class RestContext extends BeanContext {
 	 * 	<li><code>$UE{uriPart}</code> - URL-Encoder. See {@link UrlEncodeVar}.
 	 * 	<li><code>$W{widgetName}</code> - HTML widget variable. See {@link WidgetVar}.
 	 * </ul>
-	 *
+	 * 
 	 * <p>
 	 * The list of variables can be extended using the {@link RestContextBuilder#vars(Class...)} method.
 	 * For example, this is used to add support for the Args and Manifest-File variables in the microservice
 	 * <code>Resource</code> class.
-	 *
+	 * 
 	 * @return The var resolver in use by this resource.
 	 */
 	public VarResolver getVarResolver() {
@@ -1934,14 +1934,14 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the config file associated with this servlet.
-	 *
+	 * 
 	 * <p>
 	 * The config file is identified via one of the following:
 	 * <ul>
 	 * 	<li>{@link RestResource#config() @RestResource.config()} annotation.
 	 * 	<li>{@link RestContextBuilder#configFile(ConfigFile)} method.
 	 * </ul>
-	 *
+	 * 
 	 * @return The resolving config file associated with this servlet.  Never <jk>null</jk>.
 	 */
 	public ConfigFile getConfigFile() {
@@ -1950,14 +1950,14 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Resolve a static resource file.
-	 *
+	 * 
 	 * <p>
 	 * The location of static resources are defined via one of the following:
 	 * <ul>
 	 * 	<li>{@link RestResource#staticFiles() @RestResource.staticFiles()} annotation.
 	 * 	<li>{@link RestContextBuilder#staticFiles(Class, String)} method.
 	 * </ul>
-	 *
+	 * 
 	 * @param pathInfo The unencoded path info.
 	 * @return The resource, or <jk>null</jk> if the resource could not be resolved.
 	 * @throws IOException
@@ -1993,10 +1993,10 @@ public final class RestContext extends BeanContext {
 	/**
 	 * Same as {@link Class#getResourceAsStream(String)} except if it doesn't find the resource on this class, searches
 	 * up the parent hierarchy chain.
-	 *
+	 * 
 	 * <p>
 	 * If the resource cannot be found in the classpath, then an attempt is made to look in the JVM working directory.
-	 *
+	 * 
 	 * <p>
 	 * If the <code>locale</code> is specified, then we look for resources whose name matches that locale.
 	 * For example, if looking for the resource <js>"MyResource.txt"</js> for the Japanese locale, we will look for
@@ -2006,7 +2006,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li><js>"MyResource_ja.txt"</js>
 	 * 	<li><js>"MyResource.txt"</js>
 	 * </ol>
-	 *
+	 * 
 	 * @param name The resource name.
 	 * @param locale Optional locale.
 	 * @return An input stream of the resource, or <jk>null</jk> if the resource could not be found.
@@ -2019,7 +2019,7 @@ public final class RestContext extends BeanContext {
 	/**
 	 * Same as {@link #getClasspathResource(String, Locale)}, but allows you to override the class used for looking
 	 * up the classpath resource.
-	 *
+	 * 
 	 * @param baseClass 
 	 * 	Overrides the default class to use for retrieving the classpath resource. 
 	 * 	<br>If <jk>null<jk>, uses the REST resource class.
@@ -2034,7 +2034,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Reads the input stream from {@link #getClasspathResource(String, Locale)} into a String.
-	 *
+	 * 
 	 * @param name The resource name.
 	 * @param locale Optional locale.
 	 * @return The contents of the stream as a string, or <jk>null</jk> if the resource could not be found.
@@ -2047,7 +2047,7 @@ public final class RestContext extends BeanContext {
 	/**
 	 * Same as {@link #getClasspathResourceAsString(String, Locale)}, but allows you to override the class used for looking
 	 * up the classpath resource.
-	 *
+	 * 
 	 * @param baseClass 
 	 * 	Overrides the default class to use for retrieving the classpath resource. 
 	 * 	<br>If <jk>null<jk>, uses the REST resource class.
@@ -2063,10 +2063,10 @@ public final class RestContext extends BeanContext {
 	/**
 	 * Reads the input stream from {@link #getClasspathResource(String, Locale)} and parses it into a POJO using the parser
 	 * matched by the specified media type.
-	 *
+	 * 
 	 * <p>
 	 * Useful if you want to load predefined POJOs from JSON files in your classpath.
-	 *
+	 * 
 	 * @param c The class type of the POJO to create.
 	 * @param mediaType The media type of the data in the stream (e.g. <js>"text/json"</js>)
 	 * @param name The resource name (e.g. "htdocs/styles.css").
@@ -2118,13 +2118,13 @@ public final class RestContext extends BeanContext {
 	/**
 	 * Returns the path for this resource as defined by the {@link RestResource#path() @RestResource.path()} annotation or
 	 * {@link RestContextBuilder#path(String)} method concatenated with those on all parent classes.
-	 *
+	 * 
 	 * <p>
 	 * If path is not specified, returns <js>"/"</js>.
-	 *
+	 * 
 	 * <p>
 	 * Path always starts with <js>"/"</js>.
-	 *
+	 * 
 	 * @return The servlet path.
 	 */
 	public String getPath() {
@@ -2133,10 +2133,10 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * The widgets used for resolving <js>"$W{...}"<js> variables.
-	 *
+	 * 
 	 * <p>
 	 * Defined by the {@link HtmlDoc#widgets() @HtmlDoc.widgets()} annotation or {@link RestContextBuilder#widgets(Class...)} method.
-	 *
+	 * 
 	 * @return The var resolver widgets as a map with keys being the name returned by {@link Widget#getName()}.
 	 */
 	public Map<String,Widget> getWidgets() {
@@ -2145,14 +2145,14 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the logger to use for this resource.
-	 *
+	 * 
 	 * <p>
 	 * The logger for a resource is defined via one of the following:
 	 * <ul>
 	 * 	<li>{@link RestResource#logger() @RestResource.logger()} annotation.
 	 * 	<li>{@link RestContextBuilder#logger(Class)}/{@link RestContextBuilder#logger(RestLogger)} methods.
 	 * </ul>
-	 *
+	 * 
 	 * @return The logger to use for this resource.  Never <jk>null</jk>.
 	 */
 	public RestLogger getLogger() {
@@ -2161,13 +2161,13 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the resource bundle used by this resource.
-	 *
+	 * 
 	 * <p>
 	 * The resource bundle is defined via one of the following:
 	 * <ul>
 	 * 	<li>{@link RestResource#messages() @RestResource.messages()} annotation.
 	 * </ul>
-	 *
+	 * 
 	 * @return The resource bundle for this resource.  Never <jk>null</jk>.
 	 */
 	public MessageBundle getMessages() {
@@ -2176,14 +2176,14 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the REST information provider used by this resource.
-	 *
+	 * 
 	 * <p>
 	 * The information provider is defined via one of the following:
 	 * <ul>
 	 * 	<li>{@link RestResource#infoProvider() @RestResource.infoProvider()} annotation.
 	 * 	<li>{@link RestContextBuilder#infoProvider(Class)}/{@link RestContextBuilder#infoProvider(RestInfoProvider)} methods.
 	 * </ul>
-	 *
+	 * 
 	 * @return The information provider for this resource.  Never <jk>null</jk>.
 	 */
 	public RestInfoProvider getInfoProvider() {
@@ -2192,14 +2192,14 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the REST call handler used by this resource.
-	 *
+	 * 
 	 * <p>
 	 * The call handler is defined via one of the following:
 	 * <ul>
 	 * 	<li>{@link RestResource#callHandler() @RestResource.callHandler()} annotation.
 	 * 	<li>{@link RestContextBuilder#callHandler(Class)}/{@link RestContextBuilder#callHandler(RestCallHandler)} methods.
 	 * </ul>
-	 *
+	 * 
 	 * @return The call handler for this resource.  Never <jk>null</jk>.
 	 */
 	protected RestCallHandler getCallHandler() {
@@ -2208,7 +2208,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns a map of HTTP method names to call routers.
-	 *
+	 * 
 	 * @return A map with HTTP method names upper-cased as the keys, and call routers as the values.
 	 */
 	protected Map<String,RestCallRouter> getCallRouters() {
@@ -2217,11 +2217,11 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the resource object.
-	 *
+	 * 
 	 * <p>
 	 * This is the instance of the class annotated with the {@link RestResource @RestResource} annotation, usually
 	 * an instance of {@link RestServlet}.
-	 *
+	 * 
 	 * @return The resource object.  Never <jk>null</jk>.
 	 */
 	public Object getResource() {
@@ -2230,7 +2230,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the resource object as a {@link RestServlet}.
-	 *
+	 * 
 	 * @return
 	 * 	The resource object cast to {@link RestServlet}, or <jk>null</jk> if the resource doesn't subclass from
 	 * 	{@link RestServlet}
@@ -2241,7 +2241,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Throws a {@link RestException} if an exception occurred in the constructor of this object.
-	 *
+	 * 
 	 * @throws RestException The initialization exception wrapped in a {@link RestException}.
 	 */
 	protected void checkForInitException() throws RestException {
@@ -2251,11 +2251,11 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the parent resource context (if this resource was initialized from a parent).
-	 *
+	 * 
 	 * <p>
 	 * From this object, you can get access to the parent resource class itself using {@link #getResource()} or
 	 * {@link #getRestServlet()}
-	 *
+	 * 
 	 * @return The parent resource context, or <jk>null</jk> if there is no parent context.
 	 */
 	public RestContext getParentContext() {
@@ -2264,7 +2264,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the {@link BeanContext} object used for parsing path variables and header values.
-	 *
+	 * 
 	 * @return The bean context used for parsing path variables and header values.
 	 */
 	public BeanContext getBeanContext() {
@@ -2273,20 +2273,20 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the class-level properties associated with this servlet.
-	 *
+	 * 
 	 * <p>
 	 * Properties at the class level are defined via one of the following:
 	 * <ul>
 	 * 	<li>{@link RestResource#properties() @RestResource.properties()} annotation.
 	 * 	<li>{@link RestContextBuilder#setProperty(String, Object)}/{@link RestContextBuilder#setProperties(Map)} methods.
 	 * </ul>
-	 *
+	 * 
 	 * <h5 class='section'>Notes:</h5>
 	 * <ul>
 	 * 	<li>The returned {@code Map} is mutable.  Therefore, subclasses are free to override
 	 * 	or set additional initialization parameters in their {@code init()} method.
 	 * </ul>
-	 *
+	 * 
 	 * @return The resource properties as an {@link ObjectMap}.
 	 */
 	public ObjectMap getProperties() {
@@ -2295,14 +2295,14 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the serializers registered with this resource.
-	 *
+	 * 
 	 * <p>
 	 * Serializers at the class level are defined via one of the following:
 	 * <ul>
 	 * 	<li>{@link RestResource#serializers() @RestResource.serializers()} annotation.
 	 * 	<li>{@link RestContextBuilder#serializers(Class...)}/{@link RestContextBuilder#serializers(Object...)} methods.
 	 * </ul>
-	 *
+	 * 
 	 * @return The serializers registered with this resource.
 	 */
 	public SerializerGroup getSerializers() {
@@ -2311,14 +2311,14 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the parsers registered with this resource.
-	 *
+	 * 
 	 * <p>
 	 * Parsers at the class level are defined via one of the following:
 	 * <ul>
 	 * 	<li>{@link RestResource#parsers() @RestResource.parsers()} annotation.
 	 * 	<li>{@link RestContextBuilder#parsers(Class...)}/{@link RestContextBuilder#parsers(Object...)} methods.
 	 * </ul>
-	 *
+	 * 
 	 * @return The parsers registered with this resource.
 	 */
 	public ParserGroup getParsers() {
@@ -2327,7 +2327,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the servlet init parameter returned by {@link ServletConfig#getInitParameter(String)}.
-	 *
+	 * 
 	 * @param name The init parameter name.
 	 * @return The servlet init parameter, or <jk>null</jk> if not found.
 	 */
@@ -2337,7 +2337,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the child resources associated with this servlet.
-	 *
+	 * 
 	 * @return
 	 * 	An unmodifiable map of child resources.
 	 * 	Keys are the {@link RestResource#path() @RestResource.path()} annotation defined on the child resource.
@@ -2348,7 +2348,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the number of times this exception was thrown based on a hash of its stacktrace.
-	 *
+	 * 
 	 * @param e The exception to check.
 	 * @return
 	 * 	The number of times this exception was thrown, or <code>0</code> if <code>stackTraceHashes</code>
@@ -2364,7 +2364,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * TODO
-	 *
+	 * 
 	 * @return TODO
 	 */
 	protected boolean isRenderResponseStackTraces() {
@@ -2373,7 +2373,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * TODO
-	 *
+	 * 
 	 * @return TODO
 	 */
 	protected boolean isAllowHeaderParams() {
@@ -2382,7 +2382,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * TODO
-	 *
+	 * 
 	 * @return TODO
 	 */
 	protected boolean isAllowBodyParam() {
@@ -2391,7 +2391,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * TODO
-	 *
+	 * 
 	 * @return TODO
 	 */
 	protected String getDefaultCharset() {
@@ -2400,7 +2400,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * TODO
-	 *
+	 * 
 	 * @return TODO
 	 */
 	protected long getMaxInput() {
@@ -2409,16 +2409,16 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the name of the client version header name used by this resource.
-	 *
+	 * 
 	 * <p>
 	 * The client version header is the name of the HTTP header on requests that identify a client version.
-	 *
+	 * 
 	 * <p>
 	 * The client version header is defined via one of the following:
 	 * <ul>
 	 * 	<li>{@link RestResource#clientVersionHeader() @RestResource.clientVersion()} annotation.
 	 * </ul>
-	 *
+	 * 
 	 * @return The name of the client version header used by this resource.  Never <jk>null</jk>.
 	 */
 	protected String getClientVersionHeader() {
@@ -2428,7 +2428,7 @@ public final class RestContext extends BeanContext {
 	/**
 	 * Returns <jk>true</jk> if the specified <code>Method</code> GET parameter value can be used to override
 	 * the method name in the HTTP header.
-	 *
+	 * 
 	 * @param m The method name, upper-cased.
 	 * @return <jk>true</jk> if this resource allows the specified method to be overridden.
 	 */
@@ -2438,7 +2438,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Finds the {@link RestParam} instances to handle resolving objects on the calls to the specified Java method.
-	 *
+	 * 
 	 * @param method The Java method being called.
 	 * @param pathPattern The parsed URL path pattern.
 	 * @param isPreOrPost Whether this is a <ja>@RestMethodPre</ja> or <ja>@RestMethodPost</ja>.
@@ -2642,7 +2642,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the HTTP-part parser associated with this resource.
-	 *
+	 * 
 	 * @return The HTTP-part parser associated with this resource.  Never <jk>null</jk>.
 	 */
 	protected HttpPartParser getPartParser() {
@@ -2651,7 +2651,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the HTTP-part serializer associated with this resource.
-	 *
+	 * 
 	 * @return The HTTP-part serializer associated with this resource.  Never <jk>null</jk>.
 	 */
 	protected HttpPartSerializer getPartSerializer() {
@@ -2660,10 +2660,10 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the encoders associated with this resource.
-	 *
+	 * 
 	 * <p>
 	 * Encoders are used to provide various types of encoding such as <code>gzip</code> encoding.
-	 *
+	 * 
 	 * <p>
 	 * Encoders at the class level are defined via one of the following:
 	 * <ul>
@@ -2671,7 +2671,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li>{@link RestContextBuilder#encoders(Class...)}/{@link RestContextBuilder#encoders(org.apache.juneau.encoders.Encoder...)}
 	 * 		methods.
 	 * </ul>
-	 *
+	 * 
 	 * @return The encoders associated with this resource.  Never <jk>null</jk>.
 	 */
 	protected EncoderGroup getEncoders() {
@@ -2680,12 +2680,12 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the explicit list of supported accept types for this resource.
-	 *
+	 * 
 	 * <p>
 	 * By default, this is simply the list of accept types supported by the registered parsers, but
 	 * can be overridden via the {@link RestContextBuilder#supportedAcceptTypes(boolean,MediaType...)}/{@link RestContextBuilder#supportedAcceptTypes(boolean,String...)}
 	 * methods.
-	 *
+	 * 
 	 * @return The supported <code>Accept</code> header values for this resource.  Never <jk>null</jk>.
 	 */
 	protected List<MediaType> getSupportedAcceptTypes() {
@@ -2694,12 +2694,12 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the explicit list of supported content types for this resource.
-	 *
+	 * 
 	 * <p>
 	 * By default, this is simply the list of content types supported by the registered serializers, but can be
 	 * overridden via the {@link RestContextBuilder#supportedContentTypes(boolean,MediaType...)}/{@link RestContextBuilder#supportedContentTypes(boolean,String...)}
 	 * methods.
-	 *
+	 * 
 	 * @return The supported <code>Content-Type</code> header values for this resource.  Never <jk>null</jk>.
 	 */
 	protected List<MediaType> getSupportedContentTypes() {
@@ -2708,17 +2708,17 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the default request headers for this resource.
-	 *
+	 * 
 	 * <p>
 	 * These are headers automatically added to requests if not present.
-	 *
+	 * 
 	 * <p>
 	 * Default request headers are defined via one of the following:
 	 * <ul>
 	 * 	<li>{@link RestResource#defaultRequestHeaders() @RestResource.defaultRequestHeaders()} annotation.
 	 * 	<li>{@link RestContextBuilder#defaultRequestHeader(String, Object)}/{@link RestContextBuilder#defaultRequestHeaders(String...)} methods.
 	 * </ul>
-	 *
+	 * 
 	 * @return The default request headers for this resource.  Never <jk>null</jk>.
 	 */
 	protected Map<String,Object> getDefaultRequestHeaders() {
@@ -2727,10 +2727,10 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the default response headers for this resource.
-	 *
+	 * 
 	 * <p>
 	 * These are headers automatically added to responses if not otherwise specified during the request.
-	 *
+	 * 
 	 * <p>
 	 * Default response headers are defined via one of the following:
 	 * <ul>
@@ -2738,7 +2738,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li>{@link RestContextBuilder#defaultResponseHeader(String, Object)}/{@link RestContextBuilder#defaultResponseHeaders(String...)}
 	 * 		methods.
 	 * </ul>
-	 *
+	 * 
 	 * @return The default response headers for this resource.  Never <jk>null</jk>.
 	 */
 	public Map<String,Object> getDefaultResponseHeaders() {
@@ -2747,17 +2747,17 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the converters associated with this resource at the class level.
-	 *
+	 * 
 	 * <p>
 	 * Converters are used to 'convert' POJOs from one form to another before being passed of to the response handlers.
-	 *
+	 * 
 	 * <p>
 	 * Converters at the class level are defined via one of the following:
 	 * <ul>
 	 * 	<li>{@link RestResource#converters() @RestResource.converters()} annotation.
 	 * 	<li>{@link RestContextBuilder#converters(Class...)}/{@link RestContextBuilder#converters(RestConverter...)} methods.
 	 * </ul>
-	 *
+	 * 
 	 * @return The converters associated with this resource.  Never <jk>null</jk>.
 	 */
 	protected RestConverter[] getConverters() {
@@ -2766,17 +2766,17 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the guards associated with this resource at the class level.
-	 *
+	 * 
 	 * <p>
 	 * Guards are used to restrict access to resources.
-	 *
+	 * 
 	 * <p>
 	 * Guards at the class level are defined via one of the following:
 	 * <ul>
 	 * 	<li>{@link RestResource#guards() @RestResource.guards()} annotation.
 	 * 	<li>{@link RestContextBuilder#guards(Class...)}/{@link RestContextBuilder#guards(RestGuard...)} methods.
 	 * </ul>
-	 *
+	 * 
 	 * @return The guards associated with this resource.  Never <jk>null</jk>.
 	 */
 	protected RestGuard[] getGuards() {
@@ -2785,10 +2785,10 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the response handlers associated with this resource.
-	 *
+	 * 
 	 * <p>
 	 * Response handlers are used to convert POJOs returned by REST Java methods into actual HTTP responses.
-	 *
+	 * 
 	 * <p>
 	 * Response handlers are defined via one of the following:
 	 * <ul>
@@ -2796,7 +2796,7 @@ public final class RestContext extends BeanContext {
 	 * 	<li>{@link RestContextBuilder#responseHandlers(Class...)}/{@link RestContextBuilder#responseHandlers(ResponseHandler...)}
 	 * 		methods.
 	 * </ul>
-	 *
+	 * 
 	 * @return The response handlers associated with this resource.  Never <jk>null</jk>.
 	 */
 	protected ResponseHandler[] getResponseHandlers() {
@@ -2805,11 +2805,11 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the media type for the specified file name.
-	 *
+	 * 
 	 * <p>
 	 * The list of MIME-type mappings can be augmented through the {@link RestContextBuilder#mimeTypes(String...)} method.
 	 * See that method for a description of predefined MIME-type mappings.
-	 *
+	 * 
 	 * @param name The file name.
 	 * @return The MIME-type, or <jk>null</jk> if it could not be determined.
 	 */
@@ -2819,17 +2819,17 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns <jk>true</jk> if the specified path refers to a static file.
-	 *
+	 * 
 	 * <p>
 	 * Static files are files pulled from the classpath and served up directly to the browser.
-	 *
+	 * 
 	 * <p>
 	 * Static files are defined via one of the following:
 	 * <ul>
 	 * 	<li>{@link RestResource#staticFiles() @RestResource.staticFiles()} annotation.
 	 * 	<li>{@link RestContextBuilder#staticFiles(Class, String)} method.
 	 * </ul>
-	 *
+	 * 
 	 * @param p The URL path remainder after the servlet match.
 	 * @return <jk>true</jk> if the specified path refers to a static file.
 	 */
@@ -2839,10 +2839,10 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the REST Java methods defined in this resource.
-	 *
+	 * 
 	 * <p>
 	 * These are the methods annotated with the {@link RestMethod @RestMethod} annotation.
-	 *
+	 * 
 	 * @return A map of Java method names to call method objects.
 	 */
 	protected Map<String,RestJavaMethod> getCallMethods() {
@@ -2870,7 +2870,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns <jk>true</jk> if this resource has any child resources associated with it.
-	 *
+	 * 
 	 * @return <jk>true</jk> if this resource has any child resources associated with it.
 	 */
 	protected boolean hasChildResources() {
@@ -2879,7 +2879,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * Returns the context of the child resource associated with the specified path.
-	 *
+	 * 
 	 * @param path The path of the child resource to resolve.
 	 * @return The resolved context, or <jk>null</jk> if it could not be resolved.
 	 */
@@ -2889,7 +2889,7 @@ public final class RestContext extends BeanContext {
 
 	/**
 	 * TODO
-	 *
+	 * 
 	 * @return TODO
 	 */
 	protected String getContextPath() {

http://git-wip-us.apache.org/repos/asf/juneau/blob/5686b8d6/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
index 87105a5..268a9db 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
@@ -43,10 +43,10 @@ import org.apache.juneau.utils.*;
 
 /**
  * Defines the initial configuration of a <code>RestServlet</code> or <code>@RestResource</code> annotated object.
- *
+ * 
  * <p>
  * An extension of the {@link ServletConfig} object used during servlet initialization.
- *
+ * 
  * <p>
  * Provides access to the following initialized resources:
  * <ul>
@@ -54,12 +54,12 @@ import org.apache.juneau.utils.*;
  * 	<li>{@link #getProperties()} - The modifiable configuration properties for this resource.
  * 	<li>{@link #getVarResolverBuilder()} - The variable resolver for this resource.
  * </ul>
- *
+ * 
  * <p>
  * Methods are provided for overriding or augmenting the information provided by the <ja>@RestResource</ja> annotation.
  * In general, most information provided in the <ja>@RestResource</ja> annotation can be specified programmatically
  * through calls on this object.
- *
+ * 
  * <p>
  * To interact with this object, simply implement the following init method in your resource class:
  * <p class='bcode'>
@@ -70,11 +70,11 @@ import org.apache.juneau.utils.*;
  * 		<jk>super</jk>.init(builder); <jc>// Make sure this is the last line! (or just leave it out entirely)</jc>
  * 	}
  * </p>
- *
+ * 
  * <p>
  * Note that this method is identical to {@link HttpServlet#init(ServletConfig)} except you get access to
  * this object instead.  Also, this method can throw any exception, not just a {@link ServletException}.
- *
+ * 
  * <p>
  * The parent <code>init(RestServletConfig)</code> method will construct a read-only {@link RestContext} object
  * that contains a snapshot of these settings.  If you call <code><jk>super</jk>.init(RestServletConfig)</code> before
@@ -103,10 +103,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Constructor for top-level servlets when using dependency injection.
-	 *
+	 * 
 	 * <p>
 	 * Work-in-progress.
-	 *
+	 * 
 	 * @param config
 	 * 	The servlet config object we're extending.
 	 * @param resourceClass
@@ -119,7 +119,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Constructor.
-	 *
+	 * 
 	 * @param config The servlet config passed into the servlet by the servlet container.
 	 * @param resource The class annotated with <ja>@RestResource</ja>.
 	 * @throws ServletException Something bad happened.
@@ -320,14 +320,14 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Adds the specified {@link Var} classes to this config.
-	 *
+	 * 
 	 * <p>
 	 * These variables affect the variable resolver returned by {@link RestRequest#getVarResolverSession()} which is
 	 * used to resolve string variables of the form <js>"$X{...}"</js>.
-	 *
+	 * 
 	 * <p>
 	 * See {@link RestContext#getVarResolver()} for a list of predefined variables.
-	 *
+	 * 
 	 * @param vars The {@link Var} classes to add to this config.
 	 * @return This object (for method chaining).
 	 */
@@ -338,11 +338,11 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Adds a var context object to this config.
-	 *
+	 * 
 	 * <p>
 	 * Var context objects are read-only objects associated with the variable resolver for vars that require external
 	 * information.
-	 *
+	 * 
 	 * <p>
 	 * For example, the {@link ConfigFileVar} needs access to this resource's {@link ConfigFile} through the
 	 * {@link ConfigFileVar#SESSION_config} object that can be specified as either a session object (temporary) or
@@ -351,7 +351,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * <p class='bcode'>
 	 * 	config.addVarContextObject(<jsf>SESSION_config</jsf>, configFile);
 	 * </p>
-	 *
+	 * 
 	 * @param name The context object key (i.e. the name that the Var class looks for).
 	 * @param object The context object.
 	 * @return This object (for method chaining).
@@ -363,12 +363,12 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Overwrites the default config file with a custom config file.
-	 *
+	 * 
 	 * <p>
 	 * By default, the config file is determined using the {@link RestResource#config() @RestResource.config()}
 	 * annotation.
 	 * This method allows you to programmatically override it with your own custom config file.
-	 *
+	 * 
 	 * @param configFile The new config file.
 	 * @return This object (for method chaining).
 	 */
@@ -379,10 +379,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Sets a property on this resource.
-	 *
+	 * 
 	 * <p>
 	 * This is the programmatic equivalent to the {@link RestResource#properties() @RestResource.properties()} annotation.
-	 *
+	 * 
 	 * @param key The property name.
 	 * @param value The property value.
 	 * @return This object (for method chaining).
@@ -394,13 +394,13 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Sets multiple properties on this resource.
-	 *
+	 * 
 	 * <p>
 	 * This is the programmatic equivalent to the {@link RestResource#properties() @RestResource.properties()} annotation.
-	 *
+	 * 
 	 * <p>
 	 * Values in the map are added to the existing properties and are overwritten if duplicates are found.
-	 *
+	 * 
 	 * @param properties The new properties to add to this config.
 	 * @return This object (for method chaining).
 	 */
@@ -420,7 +420,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Creates a new {@link PropertyStore} object initialized with the properties defined in this config.
-	 *
+	 * 
 	 * @return A new property store.
 	 */
 	protected PropertyStoreBuilder createPropertyStore() {
@@ -434,20 +434,20 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Returns the external configuration file for this resource.
-	 *
+	 * 
 	 * <p>
 	 * The configuration file location is determined via the {@link RestResource#config() @RestResource.config()}
 	 * annotation on the resource.
-	 *
+	 * 
 	 * <p>
 	 * The config file can be programmatically overridden by adding the following method to your resource:
 	 * <p class='bcode'>
 	 * 	<jk>public</jk> ConfigFile createConfigFile(ServletConfig servletConfig) <jk>throws</jk> ServletException;
 	 * </p>
-	 *
+	 * 
 	 * <p>
 	 * If a config file is not set up, then an empty config file will be returned that is not backed by any file.
-	 *
+	 * 
 	 * @return The external config file for this resource.  Never <jk>null</jk>.
 	 */
 	public ConfigFile getConfigFile() {
@@ -456,20 +456,20 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Returns the configuration properties for this resource.
-	 *
+	 * 
 	 * <p>
 	 * The configuration properties are determined via the {@link RestResource#properties() @RestResource.properties()} annotation on the resource.
-	 *
+	 * 
 	 * <p>
 	 * The configuration properties can be augmented programmatically by adding the following method to your resource:
 	 * <p class='bcode'>
 	 * 	<jk>public</jk> ObjectMap createProperties(ServletConfig servletConfig) <jk>throws</jk> ServletException;
 	 * </p>
-	 *
+	 * 
 	 * <p>
 	 * These properties can be modified during servlet initialization.
 	 * However, any modifications made after {@link RestServlet#init(ServletConfig)} has been called will have no effect.
-	 *
+	 * 
 	 * @return The configuration properties for this resource.  Never <jk>null</jk>.
 	 */
 	public ObjectMap getProperties() {
@@ -478,7 +478,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Creates the variable resolver for this resource.
-	 *
+	 * 
 	 * <p>
 	 * The variable resolver returned by this method can resolve the following variables:
 	 * <ul>
@@ -488,11 +488,11 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 	<li>{@link IfVar}
 	 * 	<li>{@link SwitchVar}
 	 * </ul>
-	 *
+	 * 
 	 * <p>
 	 * Note that the variables supported here are only a subset of those returned by
 	 * {@link RestRequest#getVarResolverSession()}.
-	 *
+	 * 
 	 * @return The variable resolver for this resource.  Never <jk>null</jk>.
 	 */
 	public VarResolverBuilder getVarResolverBuilder() {
@@ -506,7 +506,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Allow body URL parameter.
-	 *
+	 * 
 	 * <p>
 	 * When enabled, the HTTP body content on PUT and POST requests can be passed in as text using the <js>"body"</js>
 	 * URL parameter.
@@ -529,7 +529,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Allowed method parameters.
-	 *
+	 * 
 	 * <p>
 	 * When specified, the HTTP method can be overridden by passing in a <js>"method"</js> URL parameter on a regular
 	 * GET request.
@@ -552,7 +552,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Allow header URL parameters.
-	 *
+	 * 
 	 * <p>
 	 * When enabled, headers such as <js>"Accept"</js> and <js>"Content-Type"</js> to be passed in as URL query
 	 * parameters.
@@ -574,7 +574,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  REST call handler.
-	 *
+	 * 
 	 * <p>
 	 * This class handles the basic lifecycle of an HTTP REST call.
 	 * <br>Subclasses can be used to customize how these HTTP calls are handled.
@@ -595,7 +595,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  REST call handler.
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #callHandler(Class)} except input is a pre-constructed instance.
 	 * 
@@ -615,10 +615,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Children.
-	 *
+	 * 
 	 * <p>
 	 * Defines children of this resource.
-	 *
+	 * 
 	 * <p>
 	 * A REST child resource is simply another servlet that is initialized as part of the parent resource and has a
 	 * servlet path directly under the parent servlet path.
@@ -655,7 +655,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Children.
-	 *
+	 * 
 	 * <p>
 	 * Shortcut for adding a single child to this resource.
 	 * 
@@ -717,10 +717,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Client version header.
-	 *
+	 * 
 	 * <p>
 	 * Specifies the name of the header used to denote the client version on HTTP requests.
-	 *
+	 * 
 	 * <p>
 	 * The client version is used to support backwards compatibility for breaking REST interface changes.
 	 * <br>Used in conjunction with {@link RestMethod#clientVersion() @RestMethod.clientVersion()} annotation.
@@ -741,10 +741,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Resource context path. 
-	 *
+	 * 
 	 * <p>
 	 * Overrides the context path value for this resource and any child resources.
-	 *
+	 * 
 	 * <p>
 	 * This setting is useful if you want to use <js>"context:/child/path"</js> URLs in child resource POJOs but
 	 * the context path is not actually specified on the servlet container.
@@ -767,12 +767,12 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Class-level response converters.
-	 *
+	 * 
 	 * <p>
 	 * Associates one or more {@link RestConverter converters} with a resource class.
 	 * These converters get called immediately after execution of the REST method in the same order specified in the
 	 * annotation.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_converters}
@@ -787,10 +787,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Response converters.
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #converters(Class...)} except input is pre-constructed instances.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_converters}
@@ -808,7 +808,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 
 	 * <p>
 	 * The default character encoding for the request and response if not specified on the request.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_defaultCharset}
@@ -825,10 +825,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Default request headers.
-	 *
+	 * 
 	 * <p>
 	 * Adds class-level default HTTP request headers to this resource.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_defaultRequestHeaders}
@@ -850,10 +850,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Default request headers.
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #defaultRequestHeaders(String...)} but adds a single header name/value pair.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_defaultRequestHeaders}
@@ -869,10 +869,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Default response headers.
-	 *
+	 * 
 	 * <p>
 	 * Specifies default values for response headers.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_defaultResponseHeaders}
@@ -894,10 +894,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Default response headers.
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #defaultResponseHeaders(String...)} but adds a single header name/value pair.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_defaultResponseHeaders}
@@ -913,10 +913,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	
 	/**
 	 * Configuration property:  Compression encoders. 
-	 *
+	 * 
 	 * <p>
 	 * These can be used to enable various kinds of compression (e.g. <js>"gzip"</js>) on requests and responses.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_encoders}
@@ -931,10 +931,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Compression encoders. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #encoders(Class...)} except input a pre-constructed instances.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_encoders}
@@ -949,15 +949,15 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Class-level guards.
-	 *
+	 * 
 	 * <p>
 	 * Associates one or more {@link RestGuard RestGuards} with all REST methods defined in this class.
 	 * These guards get called immediately before execution of any REST method in this class.
-	 *
+	 * 
 	 * <p>
 	 * Typically, guards will be used for permissions checking on the user making the request, but it can also be used
 	 * for other purposes like pre-call validation of a request.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_guards}
@@ -972,10 +972,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Class-level guards.
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #guards(Class...)} except input is pre-constructed instances.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_guards}
@@ -990,10 +990,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  REST info provider. 
-	 *
+	 * 
 	 * <p>
 	 * Class used to retrieve title/description/swagger information about a resource.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_infoProvider}
@@ -1010,10 +1010,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  REST info provider. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #infoProvider(Class)} except input is a pre-constructed instance.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_infoProvider}
@@ -1033,7 +1033,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 
 	 * <p>
 	 * Specifies the logger to use for logging.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_logger}
@@ -1054,7 +1054,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 
 	 * <p>
 	 * Same as {@link #logger(Class)} except input is a pre-constructed instance.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_logger}
@@ -1072,11 +1072,11 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  The maximum allowed input size (in bytes) on HTTP requests.
-	 *
+	 * 
 	 * <p>
 	 * Useful for alleviating DoS attacks by throwing an exception when too much input is received instead of resulting
 	 * in out-of-memory errors which could affect system stability.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_maxInput}
@@ -1093,10 +1093,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Messages. 
-	 *
+	 * 
 	 * <p>
 	 * Identifies the location of the resource bundle for this class.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_messages}
@@ -1111,7 +1111,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Messages. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #messages(MessageBundleLocation...)} except allows you to pass in the base class and bundle
 	 * path separately.
@@ -1133,7 +1133,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	
 	/**
 	 * Configuration property:  Messages. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #messages(Class,String)} except assumes the base class is the resource class itself.
 	 * 
@@ -1151,7 +1151,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  MIME types. 
-	 *
+	 * 
 	 * <p>
 	 * Defines MIME-type file type mappings.
 	 * 
@@ -1169,12 +1169,12 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Java method parameter resolvers.
-	 *
+	 * 
 	 * <p>
 	 * By default, the Juneau framework will automatically Java method parameters of various types (e.g.
 	 * <code>RestRequest</code>, <code>Accept</code>, <code>Reader</code>).
 	 * This annotation allows you to provide your own resolvers for your own class types that you want resolved.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_paramResolvers}
@@ -1190,10 +1190,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Java method parameter resolvers.
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #paramResolvers(Class...)} except input is pre-constructed instances.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_paramResolvers}
@@ -1211,7 +1211,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 
 	 * <p>
 	 * Specifies the parser listener class to use for listening to non-fatal parsing errors.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Parser#PARSER_listener}
@@ -1226,7 +1226,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Parsers. 
-	 *
+	 * 
 	 * <p>
 	 * Adds class-level parsers to this resource.
 	 * 
@@ -1244,7 +1244,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Parsers. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #parsers(Class...)} except allows you to overwrite the previous value.
 	 * 
@@ -1264,7 +1264,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Parsers. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #parsers(Class...)} except input is pre-constructed instances.
 	 * 
@@ -1286,7 +1286,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  HTTP part parser. 
-	 *
+	 * 
 	 * <p>
 	 * Specifies the {@link HttpPartParser} to use for parsing headers, query/form parameters, and URI parts.
 	 * 
@@ -1306,10 +1306,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  HTTP part parser. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #partParser(Class)} except input is a pre-constructed instance.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_partParser}
@@ -1326,7 +1326,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  HTTP part serializer. 
-	 *
+	 * 
 	 * <p>
 	 * Specifies the {@link HttpPartSerializer} to use for serializing headers, query/form parameters, and URI parts.
 	 * 
@@ -1346,10 +1346,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  HTTP part serializer. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #partSerializer(Class)} except input is a pre-constructed instance.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_partSerializer}
@@ -1366,7 +1366,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Resource path.   
-	 *
+	 * 
 	 * <p>
 	 * Identifies the URL subpath relative to the parent resource.
 	 * 
@@ -1387,7 +1387,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Render response stack traces in responses.
-	 *
+	 * 
 	 * <p>
 	 * Render stack traces in HTTP response bodies when errors occur.
 	 * 
@@ -1407,7 +1407,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Render response stack traces in responses.
-	 *
+	 * 
 	 * <p>
 	 * Shortcut for calling <code>renderResponseStackTraces(<jk>true</jk>)<code>.
 	 * 
@@ -1450,7 +1450,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 
 	 * <p>
 	 * Same as {@link #resourceResolver(Class)} except input is a pre-constructed instance.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_resourceResolver}
@@ -1467,7 +1467,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Response handlers.
-	 *
+	 * 
 	 * <p>
 	 * Specifies a list of {@link ResponseHandler} classes that know how to convert POJOs returned by REST methods or
 	 * set via {@link RestResponse#setOutput(Object)} into appropriate HTTP responses.
@@ -1486,10 +1486,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Response handlers.
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #responseHandlers(Class...)} except input is pre-constructed instances.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_responseHandlers}
@@ -1507,7 +1507,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	 * 
 	 * <p>
 	 * Specifies the serializer listener class to use for listening to non-fatal serialization errors.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link Serializer#SERIALIZER_listener}
@@ -1522,7 +1522,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Serializers. 
-	 *
+	 * 
 	 * <p>
 	 * Adds class-level serializers to this resource.
 	 * 
@@ -1540,7 +1540,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Serializers. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #serializers(Class...)} except allows you to overwrite the previous value.
 	 * 
@@ -1560,7 +1560,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Serializers. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #serializers(Class...)} except input is pre-constructed instances.
 	 * 
@@ -1582,7 +1582,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Static file response headers. 
-	 *
+	 * 
 	 * <p>
 	 * Used to customize the headers on responses returned for statically-served files.
 	 * 
@@ -1604,7 +1604,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Static file response headers. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #staticFileResponseHeaders(boolean, Map)} with append=<jk>true</jk> except headers are strings 
 	 * composed of key/value pairs.
@@ -1630,7 +1630,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Static file response headers. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #staticFileResponseHeaders(String...)} except header is broken into name/value pair.
 	 * 
@@ -1649,7 +1649,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Static file mappings. 
-	 *
+	 * 
 	 * <p>
 	 * Used to define paths and locations of statically-served files such as images or HTML documents.
 	 * 
@@ -1667,7 +1667,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Static file mappings. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #staticFiles(StaticFileMapping...)} except input is in the form of a mapping string.
 	 * 
@@ -1692,7 +1692,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Static file mappings. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #staticFiles(String)} except overrides the base class for retrieving the resource.
 	 * 
@@ -1720,7 +1720,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	
 	/**
 	 * Configuration property:  Static file mappings. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #staticFiles(String)} except path and location are already split values.
 	 * 
@@ -1743,7 +1743,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Static file mappings. 
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #staticFiles(String,String)} except overrides the base class for retrieving the resource.
 	 * 
@@ -1769,7 +1769,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Supported accept media types.
-	 *
+	 * 
 	 * <p>
 	 * Overrides the media types inferred from the serializers that identify what media types can be produced by the resource.
 	 * 
@@ -1789,10 +1789,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Supported accept media types.
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #supportedAcceptTypes(boolean, String...)} except input is {@link MediaType} instances.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_supportedAcceptTypes}
@@ -1809,10 +1809,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Supported content media types.
-	 *
+	 * 
 	 * <p>
 	 * Overrides the media types inferred from the parsers that identify what media types can be consumed by the resource.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_supportedContentTypes}
@@ -1829,10 +1829,10 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Supported content media types.
-	 *
+	 * 
 	 * <p>
 	 * Same as {@link #supportedContentTypes(boolean, String...)} except input is {@link MediaType} instances.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_supportedContentTypes}
@@ -1849,7 +1849,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Use classpath resource caching. 
-	 *
+	 * 
 	 * <p>
 	 * When enabled, resources retrieved via {@link RestContext#getClasspathResource(String, Locale)} (and related 
 	 * methods) will be cached in memory to speed subsequent lookups.
@@ -1870,11 +1870,11 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  Use stack trace hashes.
-	 *
+	 * 
 	 * <p>
 	 * When enabled, the number of times an exception has occurred will be determined based on stack trace hashsums,
 	 * made available through the {@link RestException#getOccurrence()} method.
-	 *
+	 * 
 	 * <h5 class='section'>See Also:</h5>
 	 * <ul>
 	 * 	<li class='jf'>{@link RestContext#REST_useStackTraceHashes}
@@ -1891,7 +1891,7 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 
 	/**
 	 * Configuration property:  HTML Widgets. 
-	 *
+	 * 
 	 * <p>
 	 * Defines widgets that can be used in conjunction with string variables of the form <js>"$W{name}"</js>to quickly
 	 * generate arbitrary replacement text.

http://git-wip-us.apache.org/repos/asf/juneau/blob/5686b8d6/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestConverter.java
----------------------------------------------------------------------
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestConverter.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestConverter.java
index 3803b2e..78e12a9 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestConverter.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestConverter.java
@@ -19,18 +19,18 @@ import org.apache.juneau.serializer.*;
 
 /**
  * REST method response converter.
- *
+ * 
  * <p>
  * Implements a filter mechanism for REST method calls that allows response objects to be converted to some other POJO
  * after invocation of the REST method.
- *
+ * 
  * <p>
  * Converters are associated with REST methods through the {@link RestMethod#converters() @RestMethod.converters()} annotation.
- *
+ * 
  * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	<jk>public class</jk> RequestEchoResource <jk>extends</jk> RestServlet {
- *
+ * 
  * 		<jc>// GET request handler</jc>
  * 		<ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/*"</js>, converters={Queryable.<jk>class</jk>,Traversable.<jk>class</jk>})
  * 		<jk>public</jk> HttpServletRequest doGet(RestRequest req) {
@@ -39,17 +39,17 @@ import org.apache.juneau.serializer.*;
  * 		}
  * 	}
  * </p>
- *
+ * 
  * <p>
  * Converters can also be associated at the servlet level using the {@link RestResource#converters() @RestResource.converters()} annotation.
  * Applying converters at the resource level is equivalent to applying converters to each resource method individually.
- *
+ * 
  * <h6 class='topic'>How to implement</h6>
- *
+ * 
  * Implementers should simply implement the {@link #convert(RestRequest, Object, ClassMeta)} and return back a
  * 'converted' object.
  * It's up to the implementer to decide what this means.
- *
+ * 
  * <p>
  * Subclasses must implement one of the following constructors:
  * <ul>
@@ -59,9 +59,9 @@ import org.apache.juneau.serializer.*;
  * 
  * <p>
  * Subclasses can also be defined as inner classes of the resource class.
- *
+ * 
  * <h6 class='topic'>Predefined converters</h6>
- *
+ * 
  * The following converters are available by default.
  * <ul class='spaced-list'>
  * 	<li>
@@ -76,7 +76,7 @@ public interface RestConverter {
 
 	/**
 	 * Performs post-call conversion on the specified response object.
-	 *
+	 * 
 	 * @param req The servlet request.
 	 * @param res The response object set by the REST method through the {@link RestResponse#setOutput(Object)} method.
 	 * @param cm

http://git-wip-us.apache.org/repos/asf/juneau/blob/5686b8d6/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestException.java
----------------------------------------------------------------------
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestException.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestException.java
index ad942f7..bdf453b 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestException.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestException.java
@@ -22,7 +22,7 @@ import org.apache.juneau.rest.annotation.*;
 
 /**
  * Exception thrown to trigger an error HTTP status.
- *
+ * 
  * <p>
  * REST methods on subclasses of {@link RestServlet} can throw this exception to trigger an HTTP status other than the
  * automatically-generated <code>404</code>, <code>405</code>, and <code>500</code> statuses.
@@ -36,7 +36,7 @@ public class RestException extends FormattedRuntimeException {
 
 	/**
 	 * Constructor.
-	 *
+	 * 
 	 * @param status The HTTP status code.
 	 * @param msg The status message.
 	 * @param args Optional {@link MessageFormat}-style arguments.
@@ -48,7 +48,7 @@ public class RestException extends FormattedRuntimeException {
 
 	/**
 	 * Constructor.
-	 *
+	 * 
 	 * @param status The HTTP status code.
 	 * @param cause The root exception.
 	 */
@@ -60,7 +60,7 @@ public class RestException extends FormattedRuntimeException {
 
 	/**
 	 * Sets the inner cause for this exception.
-	 *
+	 * 
 	 * @param cause The inner cause.
 	 * @return This object (for method chaining).
 	 */
@@ -72,14 +72,14 @@ public class RestException extends FormattedRuntimeException {
 
 	/**
 	 * Returns the root cause of this exception.
-	 *
+	 * 
 	 * <p>
 	 * The root cause is the first exception in the init-cause parent chain that's not one of the following:
 	 * <ul>
 	 * 	<li>{@link RestException}
 	 * 	<li>{@link InvocationTargetException}
 	 * </ul>
-	 *
+	 * 
 	 * @return The root cause of this exception, or <jk>null</jk> if no root cause was found.
 	 */
 	public Throwable getRootCause() {
@@ -94,11 +94,11 @@ public class RestException extends FormattedRuntimeException {
 
 	/**
 	 * Returns all error messages from all errors in this stack.
-	 *
+	 * 
 	 * <p>
 	 * Typically useful if you want to render all the error messages in the stack, but don't want to render all the
 	 * stack traces too.
-	 *
+	 * 
 	 * @param scrubForXssVulnerabilities
 	 * 	If <jk>true</jk>, replaces <js>'&lt;'</js>, <js>'&gt;'</js>, and <js>'&amp;'</js> characters with spaces.
 	 * @return All error messages from all errors in this stack.
@@ -144,7 +144,7 @@ public class RestException extends FormattedRuntimeException {
 
 	/**
 	 * Returns the number of times this exception occurred on this servlet.
-	 *
+	 * 
 	 * @return
 	 * 	The occurrence number if {@link RestResource#useStackTraceHashes() @RestResource.useStackTraceHashes()} is enabled, or <code>0</code> otherwise.
 	 */
@@ -154,7 +154,7 @@ public class RestException extends FormattedRuntimeException {
 
 	/**
 	 * Returns the HTTP status code.
-	 *
+	 * 
 	 * @return The HTTP status code.
 	 */
 	public int getStatus() {