juneau-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jamesbog...@apache.org
Subject [04/23] incubator-juneau-website git commit: Update javadocs.
Date Mon, 10 Jul 2017 00:09:16 GMT
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/rest/RestResponse.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/RestResponse.html b/content/site/apidocs/src-html/org/apache/juneau/rest/RestResponse.html
index d80c5f6..a9e7e13 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/RestResponse.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/RestResponse.html
@@ -452,7 +452,7 @@
 <span class="sourceLineNo">444</span>    * The format of this value is plain text.<a name="line.444"></a>
 <span class="sourceLineNo">445</span>    *<a name="line.445"></a>
 <span class="sourceLineNo">446</span>    * &lt;p&gt;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    * It gets wrapped in a &lt;code&gt;&lt;xt&gt;&amp;lt;h3&amp;gt; &lt;xa&gt;class&lt;/xa&gt;=&lt;xs&gt;'title'&lt;/xs&gt;&amp;gt;&lt;/xt&gt;&lt;/code&gt; element and then added<a name="line.447"></a>
+<span class="sourceLineNo">447</span>    * It gets wrapped in a &lt;code&gt;&lt;xt&gt;&amp;lt;h1&amp;gt;&lt;/xt&gt;&lt;/code&gt; element and then added<a name="line.447"></a>
 <span class="sourceLineNo">448</span>    * to the &lt;code&gt;&lt;xt&gt;&amp;lt;header&amp;gt;&lt;/code&gt; section on the page.<a name="line.448"></a>
 <span class="sourceLineNo">449</span>    *<a name="line.449"></a>
 <span class="sourceLineNo">450</span>    * &lt;p&gt;<a name="line.450"></a>
@@ -504,7 +504,7 @@
 <span class="sourceLineNo">496</span>    * The format of this value is plain text.<a name="line.496"></a>
 <span class="sourceLineNo">497</span>    *<a name="line.497"></a>
 <span class="sourceLineNo">498</span>    * &lt;p&gt;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    * It gets wrapped in a &lt;code&gt;&lt;xt&gt;&amp;lt;h5&amp;gt; &lt;xa&gt;class&lt;/xa&gt;=&lt;xs&gt;'description'&lt;/xs&gt;&amp;gt;&lt;/xt&gt;&lt;/code&gt; element and then<a name="line.499"></a>
+<span class="sourceLineNo">499</span>    * It gets wrapped in a &lt;code&gt;&lt;xt&gt;&amp;lt;h2&amp;gt;&lt;/xt&gt;&lt;/code&gt; element and then<a name="line.499"></a>
 <span class="sourceLineNo">500</span>    * added to the &lt;code&gt;&lt;xt&gt;&amp;lt;header&amp;gt;&lt;/code&gt; section on the page.<a name="line.500"></a>
 <span class="sourceLineNo">501</span>    *<a name="line.501"></a>
 <span class="sourceLineNo">502</span>    * &lt;p&gt;<a name="line.502"></a>
@@ -640,299 +640,298 @@
 <span class="sourceLineNo">632</span>    *<a name="line.632"></a>
 <span class="sourceLineNo">633</span>    * @param value<a name="line.633"></a>
 <span class="sourceLineNo">634</span>    *    The HTML nav section links links.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    *    Object will be converted to a string using {@link Object#toString()}.<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    *    &lt;p&gt;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    *    &lt;ul class='doctree'&gt;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    *       &lt;li class='info'&gt;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    *          &lt;b&gt;Tip:&lt;/b&gt;  Use {@link StringMessage} to generate value with delayed serialization so as not to<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    *             waste string concatenation cycles on non-HTML views.<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    *    &lt;/ul&gt;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    * @return This object (for method chaining).<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    */<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   public RestResponse setHtmlLinks(Object value) {<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_links, value);<a name="line.645"></a>
-<span class="sourceLineNo">646</span>      return this;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   }<a name="line.647"></a>
-<span class="sourceLineNo">648</span><a name="line.648"></a>
-<span class="sourceLineNo">649</span>   /**<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    * Sets the HTML nav section contents.<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    *<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    * &lt;p&gt;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    * The format of this value is HTML.<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    *<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    * &lt;p&gt;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    * The nav section of the page contains the links.<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    *<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    * &lt;p&gt;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    * The format of this value is HTML.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    *<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    * &lt;p&gt;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    * When a value is specified, the {@link #setHtmlLinks(Object)} value will be ignored.<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    *<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    * &lt;p&gt;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    *<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    * &lt;p&gt;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    *<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    * &lt;p&gt;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    * This is the programmatic equivalent to the {@link HtmlDoc#nav() @HtmlDoc.nav()} annotation.<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    *<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    * @param value<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    *    The HTML nav section contents.<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    *    Object will be converted to a string using {@link Object#toString()}.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    *    &lt;p&gt;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    *    &lt;ul class='doctree'&gt;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    *       &lt;li class='info'&gt;<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    *          &lt;b&gt;Tip:&lt;/b&gt;  Use {@link StringMessage} to generate value with delayed serialization so as not to<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    *             waste string concatenation cycles on non-HTML views.<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    *    &lt;/ul&gt;<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    * @return This object (for method chaining).<a name="line.682"></a>
-<span class="sourceLineNo">683</span>    */<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   public RestResponse setHtmlNav(Object value) {<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_nav, value);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      return this;<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   }<a name="line.687"></a>
-<span class="sourceLineNo">688</span><a name="line.688"></a>
-<span class="sourceLineNo">689</span>   /**<a name="line.689"></a>
-<span class="sourceLineNo">690</span>    * Sets the HTML aside section contents.<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    *<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    * &lt;p&gt;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>    * The format of this value is HTML.<a name="line.693"></a>
-<span class="sourceLineNo">694</span>    *<a name="line.694"></a>
-<span class="sourceLineNo">695</span>    * &lt;p&gt;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>    * The aside section typically floats on the right side of the page.<a name="line.696"></a>
-<span class="sourceLineNo">697</span>    *<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    * &lt;p&gt;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.699"></a>
-<span class="sourceLineNo">700</span>    *<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    * &lt;p&gt;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    *<a name="line.703"></a>
-<span class="sourceLineNo">704</span>    * &lt;p&gt;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    * This is the programmatic equivalent to the {@link HtmlDoc#aside() @HtmlDoc.aside()} annotation.<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    *<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    * @param value<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    *    The HTML aside section contents.<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    *    Object will be converted to a string using {@link Object#toString()}.<a name="line.709"></a>
-<span class="sourceLineNo">710</span>    *    &lt;p&gt;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    *    &lt;ul class='doctree'&gt;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>    *       &lt;li class='info'&gt;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>    *          &lt;b&gt;Tip:&lt;/b&gt;  Use {@link StringMessage} to generate value with delayed serialization so as not to waste<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    *             string concatenation cycles on non-HTML views.<a name="line.714"></a>
-<span class="sourceLineNo">715</span>    *    &lt;/ul&gt;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>    * @return This object (for method chaining).<a name="line.716"></a>
-<span class="sourceLineNo">717</span>    */<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   public RestResponse setHtmlAside(Object value) {<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_aside, value);<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      return this;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>   }<a name="line.721"></a>
-<span class="sourceLineNo">722</span><a name="line.722"></a>
-<span class="sourceLineNo">723</span>   /**<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    * Sets the HTML footer section contents.<a name="line.724"></a>
-<span class="sourceLineNo">725</span>    *<a name="line.725"></a>
-<span class="sourceLineNo">726</span>    * &lt;p&gt;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    * The format of this value is HTML.<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    *<a name="line.728"></a>
-<span class="sourceLineNo">729</span>    * &lt;p&gt;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    * The footer section typically floats on the bottom of the page.<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    *<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    * &lt;p&gt;<a name="line.732"></a>
-<span class="sourceLineNo">733</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.733"></a>
-<span class="sourceLineNo">734</span>    *<a name="line.734"></a>
-<span class="sourceLineNo">735</span>    * &lt;p&gt;<a name="line.735"></a>
-<span class="sourceLineNo">736</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.736"></a>
-<span class="sourceLineNo">737</span>    *<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    * &lt;p&gt;<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    * This is the programmatic equivalent to the {@link HtmlDoc#footer() @HtmlDoc.footer()} annotation.<a name="line.739"></a>
-<span class="sourceLineNo">740</span>    *<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    * @param value<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    *    The HTML footer section contents.<a name="line.742"></a>
-<span class="sourceLineNo">743</span>    *    Object will be converted to a string using {@link Object#toString()}.<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    *    &lt;p&gt;<a name="line.744"></a>
-<span class="sourceLineNo">745</span>    *    &lt;ul class='doctree'&gt;<a name="line.745"></a>
-<span class="sourceLineNo">746</span>    *       &lt;li class='info'&gt;<a name="line.746"></a>
-<span class="sourceLineNo">747</span>    *          &lt;b&gt;Tip:&lt;/b&gt;  Use {@link StringMessage} to generate value with delayed serialization so as not to<a name="line.747"></a>
-<span class="sourceLineNo">748</span>    *             waste string concatenation cycles on non-HTML views.<a name="line.748"></a>
-<span class="sourceLineNo">749</span>    *    &lt;/ul&gt;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    * @return This object (for method chaining).<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    */<a name="line.751"></a>
-<span class="sourceLineNo">752</span>   public RestResponse setHtmlFooter(Object value) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_footer, value);<a name="line.753"></a>
-<span class="sourceLineNo">754</span>      return this;<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   }<a name="line.755"></a>
-<span class="sourceLineNo">756</span><a name="line.756"></a>
-<span class="sourceLineNo">757</span>   /**<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    * Sets the HTML CSS style section contents.<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    *<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    * &lt;p&gt;<a name="line.760"></a>
-<span class="sourceLineNo">761</span>    * The format of this value is CSS.<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    *<a name="line.762"></a>
-<span class="sourceLineNo">763</span>    * &lt;p&gt;<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.764"></a>
-<span class="sourceLineNo">765</span>    *<a name="line.765"></a>
-<span class="sourceLineNo">766</span>    * &lt;p&gt;<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.767"></a>
-<span class="sourceLineNo">768</span>    *<a name="line.768"></a>
-<span class="sourceLineNo">769</span>    * &lt;p&gt;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    * This is the programmatic equivalent to the {@link HtmlDoc#style() @HtmlDoc.style()} annotation.<a name="line.770"></a>
-<span class="sourceLineNo">771</span>    *<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    * @param value<a name="line.772"></a>
-<span class="sourceLineNo">773</span>    *    The HTML CSS style section contents.<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    *    Object will be converted to a string using {@link Object#toString()}.<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    *    &lt;p&gt;<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    *    &lt;ul class='doctree'&gt;<a name="line.776"></a>
-<span class="sourceLineNo">777</span>    *       &lt;li class='info'&gt;<a name="line.777"></a>
-<span class="sourceLineNo">778</span>    *          &lt;b&gt;Tip:&lt;/b&gt;  Use {@link StringMessage} to generate value with delayed serialization so as not to<a name="line.778"></a>
-<span class="sourceLineNo">779</span>    *             waste string concatenation cycles on non-HTML views.<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    *    &lt;/ul&gt;<a name="line.780"></a>
-<span class="sourceLineNo">781</span>    * @return This object (for method chaining).<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    */<a name="line.782"></a>
-<span class="sourceLineNo">783</span>   public RestResponse setHtmlStyle(Object value) {<a name="line.783"></a>
-<span class="sourceLineNo">784</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_style, value);<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      return this;<a name="line.785"></a>
-<span class="sourceLineNo">786</span>   }<a name="line.786"></a>
-<span class="sourceLineNo">787</span><a name="line.787"></a>
-<span class="sourceLineNo">788</span>   /**<a name="line.788"></a>
-<span class="sourceLineNo">789</span>    * Sets the CSS URL in the HTML CSS style section.<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    *<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    * &lt;p&gt;<a name="line.791"></a>
-<span class="sourceLineNo">792</span>    * The format of this value is a comma-delimited list of URLs.<a name="line.792"></a>
-<span class="sourceLineNo">793</span>    *<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    * &lt;p&gt;<a name="line.794"></a>
-<span class="sourceLineNo">795</span>    * Specifies the URL to the stylesheet to add as a link in the style tag in the header.<a name="line.795"></a>
-<span class="sourceLineNo">796</span>    *<a name="line.796"></a>
-<span class="sourceLineNo">797</span>    * &lt;p&gt;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    * The format of this value is CSS.<a name="line.798"></a>
-<span class="sourceLineNo">799</span>    *<a name="line.799"></a>
-<span class="sourceLineNo">800</span>    * &lt;p&gt;<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;) and can use URL protocols defined<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    * by {@link UriResolver}.<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    *<a name="line.803"></a>
-<span class="sourceLineNo">804</span>    * &lt;p&gt;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>    * This is the programmatic equivalent to the {@link HtmlDoc#stylesheet() @HtmlDoc.stylesheet()} annotation.<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    *<a name="line.806"></a>
-<span class="sourceLineNo">807</span>    * @param value<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    *    The CSS URL in the HTML CSS style section.<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    *    Object will be converted to a string using {@link Object#toString()}.<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    *    &lt;p&gt;<a name="line.810"></a>
-<span class="sourceLineNo">811</span>    *    &lt;ul class='doctree'&gt;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>    *       &lt;li class='info'&gt;<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    *          &lt;b&gt;Tip:&lt;/b&gt;  Use {@link StringMessage} to generate value with delayed serialization so as not to<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    *             waste string concatenation cycles on non-HTML views.<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    *    &lt;/ul&gt;<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    * @return This object (for method chaining).<a name="line.816"></a>
-<span class="sourceLineNo">817</span>    */<a name="line.817"></a>
-<span class="sourceLineNo">818</span>   public RestResponse setHtmlStylesheet(Object value) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_stylesheet, value);<a name="line.819"></a>
-<span class="sourceLineNo">820</span>      return this;<a name="line.820"></a>
-<span class="sourceLineNo">821</span>   }<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>   /**<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    * Sets the HTML script section contents.<a name="line.824"></a>
-<span class="sourceLineNo">825</span>    *<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    * &lt;p&gt;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    * The format of this value is Javascript.<a name="line.827"></a>
-<span class="sourceLineNo">828</span>    *<a name="line.828"></a>
-<span class="sourceLineNo">829</span>    * &lt;p&gt;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.830"></a>
-<span class="sourceLineNo">831</span>    *<a name="line.831"></a>
-<span class="sourceLineNo">832</span>    * &lt;p&gt;<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    *<a name="line.834"></a>
-<span class="sourceLineNo">835</span>    * &lt;p&gt;<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    * This is the programmatic equivalent to the {@link HtmlDoc#script() @HtmlDoc.script()} annotation.<a name="line.836"></a>
-<span class="sourceLineNo">837</span>    *<a name="line.837"></a>
-<span class="sourceLineNo">838</span>    * @param value<a name="line.838"></a>
-<span class="sourceLineNo">839</span>    *    The HTML script section contents.<a name="line.839"></a>
-<span class="sourceLineNo">840</span>    *    Object will be converted to a string using {@link Object#toString()}.<a name="line.840"></a>
-<span class="sourceLineNo">841</span>    *    &lt;p&gt;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    *    &lt;ul class='doctree'&gt;<a name="line.842"></a>
-<span class="sourceLineNo">843</span>    *       &lt;li class='info'&gt;<a name="line.843"></a>
-<span class="sourceLineNo">844</span>    *          &lt;b&gt;Tip:&lt;/b&gt;  Use {@link StringMessage} to generate value with delayed serialization so as not to<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    *             waste string concatenation cycles on non-HTML views.<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    *    &lt;/ul&gt;<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    * @return This object (for method chaining).<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    */<a name="line.848"></a>
-<span class="sourceLineNo">849</span>   public RestResponse setHtmlScript(Object value) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_script, value);<a name="line.850"></a>
-<span class="sourceLineNo">851</span>      return this;<a name="line.851"></a>
-<span class="sourceLineNo">852</span>   }<a name="line.852"></a>
-<span class="sourceLineNo">853</span><a name="line.853"></a>
-<span class="sourceLineNo">854</span>   /**<a name="line.854"></a>
-<span class="sourceLineNo">855</span>    * Shorthand method for forcing the rendered HTML content to be no-wrap.<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    *<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    * &lt;p&gt;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    * This is the programmatic equivalent to the {@link HtmlDoc#nowrap() @HtmlDoc.nowrap()} annotation.<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    *<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    * @param value The new nowrap setting.<a name="line.860"></a>
-<span class="sourceLineNo">861</span>    * @return This object (for method chaining).<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    */<a name="line.862"></a>
-<span class="sourceLineNo">863</span>   public RestResponse setHtmlNoWrap(boolean value) {<a name="line.863"></a>
-<span class="sourceLineNo">864</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_nowrap, value);<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      return this;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>   }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>   /**<a name="line.868"></a>
-<span class="sourceLineNo">869</span>    * Specifies the text to display when serializing an empty array or collection.<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    *<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    * &lt;p&gt;<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    * This is the programmatic equivalent to the {@link HtmlDoc#noResultsMessage() @HtmlDoc.noResultsMessage()}<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    * annotation.<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    *<a name="line.874"></a>
-<span class="sourceLineNo">875</span>    * @param value The text to display when serializing an empty array or collection.<a name="line.875"></a>
-<span class="sourceLineNo">876</span>    * @return This object (for method chaining).<a name="line.876"></a>
-<span class="sourceLineNo">877</span>    */<a name="line.877"></a>
-<span class="sourceLineNo">878</span>   public RestResponse setHtmlNoResultsMessage(Object value) {<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_noResultsMessage, value);<a name="line.879"></a>
-<span class="sourceLineNo">880</span>      return this;<a name="line.880"></a>
-<span class="sourceLineNo">881</span>   }<a name="line.881"></a>
-<span class="sourceLineNo">882</span><a name="line.882"></a>
-<span class="sourceLineNo">883</span>   /**<a name="line.883"></a>
-<span class="sourceLineNo">884</span>    * Specifies the template class to use for rendering the HTML page.<a name="line.884"></a>
-<span class="sourceLineNo">885</span>    *<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    * &lt;p&gt;<a name="line.886"></a>
-<span class="sourceLineNo">887</span>    * By default, uses {@link HtmlDocTemplateBasic} to render the contents, although you can provide your own custom<a name="line.887"></a>
-<span class="sourceLineNo">888</span>    * renderer or subclasses from the basic class to have full control over how the page is rendered.<a name="line.888"></a>
-<span class="sourceLineNo">889</span>    *<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    * &lt;p&gt;<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    * This is the programmatic equivalent to the {@link HtmlDoc#template() @HtmlDoc.template()} annotation.<a name="line.891"></a>
-<span class="sourceLineNo">892</span>    *<a name="line.892"></a>
-<span class="sourceLineNo">893</span>    * @param value The HTML page template to use to render the HTML page.<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    * @return This object (for method chaining).<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    */<a name="line.895"></a>
-<span class="sourceLineNo">896</span>   public RestResponse setHtmlTemplate(Class&lt;? extends HtmlDocTemplate&gt; value) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_template, value);<a name="line.897"></a>
-<span class="sourceLineNo">898</span>      return this;<a name="line.898"></a>
-<span class="sourceLineNo">899</span>   }<a name="line.899"></a>
-<span class="sourceLineNo">900</span><a name="line.900"></a>
-<span class="sourceLineNo">901</span>   /**<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    * Specifies the template class to use for rendering the HTML page.<a name="line.902"></a>
-<span class="sourceLineNo">903</span>    *<a name="line.903"></a>
-<span class="sourceLineNo">904</span>    * &lt;p&gt;<a name="line.904"></a>
-<span class="sourceLineNo">905</span>    * By default, uses {@link HtmlDocTemplateBasic} to render the contents, although you can provide your own custom<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    * renderer or subclasses from the basic class to have full control over how the page is rendered.<a name="line.906"></a>
-<span class="sourceLineNo">907</span>    *<a name="line.907"></a>
-<span class="sourceLineNo">908</span>    * &lt;p&gt;<a name="line.908"></a>
-<span class="sourceLineNo">909</span>    * This is the programmatic equivalent to the {@link HtmlDoc#template() @HtmlDoc.template()} annotation.<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    *<a name="line.910"></a>
-<span class="sourceLineNo">911</span>    * @param value The HTML page template to use to render the HTML page.<a name="line.911"></a>
-<span class="sourceLineNo">912</span>    * @return This object (for method chaining).<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    */<a name="line.913"></a>
-<span class="sourceLineNo">914</span>   public RestResponse setHtmlTemplate(HtmlDocTemplate value) {<a name="line.914"></a>
-<span class="sourceLineNo">915</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_template, value);<a name="line.915"></a>
-<span class="sourceLineNo">916</span>      return this;<a name="line.916"></a>
-<span class="sourceLineNo">917</span>   }<a name="line.917"></a>
-<span class="sourceLineNo">918</span><a name="line.918"></a>
-<span class="sourceLineNo">919</span>   @Override /* ServletResponse */<a name="line.919"></a>
-<span class="sourceLineNo">920</span>   public void flushBuffer() throws IOException {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      if (w != null)<a name="line.921"></a>
-<span class="sourceLineNo">922</span>         w.flush();<a name="line.922"></a>
-<span class="sourceLineNo">923</span>      if (os != null)<a name="line.923"></a>
-<span class="sourceLineNo">924</span>         os.flush();<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      super.flushBuffer();<a name="line.925"></a>
-<span class="sourceLineNo">926</span>   }<a name="line.926"></a>
-<span class="sourceLineNo">927</span>}<a name="line.927"></a>
+<span class="sourceLineNo">635</span>    *    &lt;p&gt;<a name="line.635"></a>
+<span class="sourceLineNo">636</span>    *    &lt;ul class='doctree'&gt;<a name="line.636"></a>
+<span class="sourceLineNo">637</span>    *       &lt;li class='info'&gt;<a name="line.637"></a>
+<span class="sourceLineNo">638</span>    *          &lt;b&gt;Tip:&lt;/b&gt;  Use {@link StringMessage} to generate value with delayed serialization so as not to<a name="line.638"></a>
+<span class="sourceLineNo">639</span>    *             waste string concatenation cycles on non-HTML views.<a name="line.639"></a>
+<span class="sourceLineNo">640</span>    *    &lt;/ul&gt;<a name="line.640"></a>
+<span class="sourceLineNo">641</span>    * @return This object (for method chaining).<a name="line.641"></a>
+<span class="sourceLineNo">642</span>    */<a name="line.642"></a>
+<span class="sourceLineNo">643</span>   public RestResponse setHtmlLinks(String[] value) {<a name="line.643"></a>
+<span class="sourceLineNo">644</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_links, value);<a name="line.644"></a>
+<span class="sourceLineNo">645</span>      return this;<a name="line.645"></a>
+<span class="sourceLineNo">646</span>   }<a name="line.646"></a>
+<span class="sourceLineNo">647</span><a name="line.647"></a>
+<span class="sourceLineNo">648</span>   /**<a name="line.648"></a>
+<span class="sourceLineNo">649</span>    * Sets the HTML nav section contents.<a name="line.649"></a>
+<span class="sourceLineNo">650</span>    *<a name="line.650"></a>
+<span class="sourceLineNo">651</span>    * &lt;p&gt;<a name="line.651"></a>
+<span class="sourceLineNo">652</span>    * The format of this value is HTML.<a name="line.652"></a>
+<span class="sourceLineNo">653</span>    *<a name="line.653"></a>
+<span class="sourceLineNo">654</span>    * &lt;p&gt;<a name="line.654"></a>
+<span class="sourceLineNo">655</span>    * The nav section of the page contains the links.<a name="line.655"></a>
+<span class="sourceLineNo">656</span>    *<a name="line.656"></a>
+<span class="sourceLineNo">657</span>    * &lt;p&gt;<a name="line.657"></a>
+<span class="sourceLineNo">658</span>    * The format of this value is HTML.<a name="line.658"></a>
+<span class="sourceLineNo">659</span>    *<a name="line.659"></a>
+<span class="sourceLineNo">660</span>    * &lt;p&gt;<a name="line.660"></a>
+<span class="sourceLineNo">661</span>    * When a value is specified, the {@link #setHtmlLinks(String[])} value will be ignored.<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    *<a name="line.662"></a>
+<span class="sourceLineNo">663</span>    * &lt;p&gt;<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    *<a name="line.665"></a>
+<span class="sourceLineNo">666</span>    * &lt;p&gt;<a name="line.666"></a>
+<span class="sourceLineNo">667</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.667"></a>
+<span class="sourceLineNo">668</span>    *<a name="line.668"></a>
+<span class="sourceLineNo">669</span>    * &lt;p&gt;<a name="line.669"></a>
+<span class="sourceLineNo">670</span>    * This is the programmatic equivalent to the {@link HtmlDoc#nav() @HtmlDoc.nav()} annotation.<a name="line.670"></a>
+<span class="sourceLineNo">671</span>    *<a name="line.671"></a>
+<span class="sourceLineNo">672</span>    * @param value<a name="line.672"></a>
+<span class="sourceLineNo">673</span>    *    The HTML nav section contents.<a name="line.673"></a>
+<span class="sourceLineNo">674</span>    *    Object will be converted to a string using {@link Object#toString()}.<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    *    &lt;p&gt;<a name="line.675"></a>
+<span class="sourceLineNo">676</span>    *    &lt;ul class='doctree'&gt;<a name="line.676"></a>
+<span class="sourceLineNo">677</span>    *       &lt;li class='info'&gt;<a name="line.677"></a>
+<span class="sourceLineNo">678</span>    *          &lt;b&gt;Tip:&lt;/b&gt;  Use {@link StringMessage} to generate value with delayed serialization so as not to<a name="line.678"></a>
+<span class="sourceLineNo">679</span>    *             waste string concatenation cycles on non-HTML views.<a name="line.679"></a>
+<span class="sourceLineNo">680</span>    *    &lt;/ul&gt;<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    * @return This object (for method chaining).<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    */<a name="line.682"></a>
+<span class="sourceLineNo">683</span>   public RestResponse setHtmlNav(Object value) {<a name="line.683"></a>
+<span class="sourceLineNo">684</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_nav, value);<a name="line.684"></a>
+<span class="sourceLineNo">685</span>      return this;<a name="line.685"></a>
+<span class="sourceLineNo">686</span>   }<a name="line.686"></a>
+<span class="sourceLineNo">687</span><a name="line.687"></a>
+<span class="sourceLineNo">688</span>   /**<a name="line.688"></a>
+<span class="sourceLineNo">689</span>    * Sets the HTML aside section contents.<a name="line.689"></a>
+<span class="sourceLineNo">690</span>    *<a name="line.690"></a>
+<span class="sourceLineNo">691</span>    * &lt;p&gt;<a name="line.691"></a>
+<span class="sourceLineNo">692</span>    * The format of this value is HTML.<a name="line.692"></a>
+<span class="sourceLineNo">693</span>    *<a name="line.693"></a>
+<span class="sourceLineNo">694</span>    * &lt;p&gt;<a name="line.694"></a>
+<span class="sourceLineNo">695</span>    * The aside section typically floats on the right side of the page.<a name="line.695"></a>
+<span class="sourceLineNo">696</span>    *<a name="line.696"></a>
+<span class="sourceLineNo">697</span>    * &lt;p&gt;<a name="line.697"></a>
+<span class="sourceLineNo">698</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.698"></a>
+<span class="sourceLineNo">699</span>    *<a name="line.699"></a>
+<span class="sourceLineNo">700</span>    * &lt;p&gt;<a name="line.700"></a>
+<span class="sourceLineNo">701</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.701"></a>
+<span class="sourceLineNo">702</span>    *<a name="line.702"></a>
+<span class="sourceLineNo">703</span>    * &lt;p&gt;<a name="line.703"></a>
+<span class="sourceLineNo">704</span>    * This is the programmatic equivalent to the {@link HtmlDoc#aside() @HtmlDoc.aside()} annotation.<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    *<a name="line.705"></a>
+<span class="sourceLineNo">706</span>    * @param value<a name="line.706"></a>
+<span class="sourceLineNo">707</span>    *    The HTML aside section contents.<a name="line.707"></a>
+<span class="sourceLineNo">708</span>    *    Object will be converted to a string using {@link Object#toString()}.<a name="line.708"></a>
+<span class="sourceLineNo">709</span>    *    &lt;p&gt;<a name="line.709"></a>
+<span class="sourceLineNo">710</span>    *    &lt;ul class='doctree'&gt;<a name="line.710"></a>
+<span class="sourceLineNo">711</span>    *       &lt;li class='info'&gt;<a name="line.711"></a>
+<span class="sourceLineNo">712</span>    *          &lt;b&gt;Tip:&lt;/b&gt;  Use {@link StringMessage} to generate value with delayed serialization so as not to waste<a name="line.712"></a>
+<span class="sourceLineNo">713</span>    *             string concatenation cycles on non-HTML views.<a name="line.713"></a>
+<span class="sourceLineNo">714</span>    *    &lt;/ul&gt;<a name="line.714"></a>
+<span class="sourceLineNo">715</span>    * @return This object (for method chaining).<a name="line.715"></a>
+<span class="sourceLineNo">716</span>    */<a name="line.716"></a>
+<span class="sourceLineNo">717</span>   public RestResponse setHtmlAside(Object value) {<a name="line.717"></a>
+<span class="sourceLineNo">718</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_aside, value);<a name="line.718"></a>
+<span class="sourceLineNo">719</span>      return this;<a name="line.719"></a>
+<span class="sourceLineNo">720</span>   }<a name="line.720"></a>
+<span class="sourceLineNo">721</span><a name="line.721"></a>
+<span class="sourceLineNo">722</span>   /**<a name="line.722"></a>
+<span class="sourceLineNo">723</span>    * Sets the HTML footer section contents.<a name="line.723"></a>
+<span class="sourceLineNo">724</span>    *<a name="line.724"></a>
+<span class="sourceLineNo">725</span>    * &lt;p&gt;<a name="line.725"></a>
+<span class="sourceLineNo">726</span>    * The format of this value is HTML.<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    *<a name="line.727"></a>
+<span class="sourceLineNo">728</span>    * &lt;p&gt;<a name="line.728"></a>
+<span class="sourceLineNo">729</span>    * The footer section typically floats on the bottom of the page.<a name="line.729"></a>
+<span class="sourceLineNo">730</span>    *<a name="line.730"></a>
+<span class="sourceLineNo">731</span>    * &lt;p&gt;<a name="line.731"></a>
+<span class="sourceLineNo">732</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.732"></a>
+<span class="sourceLineNo">733</span>    *<a name="line.733"></a>
+<span class="sourceLineNo">734</span>    * &lt;p&gt;<a name="line.734"></a>
+<span class="sourceLineNo">735</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.735"></a>
+<span class="sourceLineNo">736</span>    *<a name="line.736"></a>
+<span class="sourceLineNo">737</span>    * &lt;p&gt;<a name="line.737"></a>
+<span class="sourceLineNo">738</span>    * This is the programmatic equivalent to the {@link HtmlDoc#footer() @HtmlDoc.footer()} annotation.<a name="line.738"></a>
+<span class="sourceLineNo">739</span>    *<a name="line.739"></a>
+<span class="sourceLineNo">740</span>    * @param value<a name="line.740"></a>
+<span class="sourceLineNo">741</span>    *    The HTML footer section contents.<a name="line.741"></a>
+<span class="sourceLineNo">742</span>    *    Object will be converted to a string using {@link Object#toString()}.<a name="line.742"></a>
+<span class="sourceLineNo">743</span>    *    &lt;p&gt;<a name="line.743"></a>
+<span class="sourceLineNo">744</span>    *    &lt;ul class='doctree'&gt;<a name="line.744"></a>
+<span class="sourceLineNo">745</span>    *       &lt;li class='info'&gt;<a name="line.745"></a>
+<span class="sourceLineNo">746</span>    *          &lt;b&gt;Tip:&lt;/b&gt;  Use {@link StringMessage} to generate value with delayed serialization so as not to<a name="line.746"></a>
+<span class="sourceLineNo">747</span>    *             waste string concatenation cycles on non-HTML views.<a name="line.747"></a>
+<span class="sourceLineNo">748</span>    *    &lt;/ul&gt;<a name="line.748"></a>
+<span class="sourceLineNo">749</span>    * @return This object (for method chaining).<a name="line.749"></a>
+<span class="sourceLineNo">750</span>    */<a name="line.750"></a>
+<span class="sourceLineNo">751</span>   public RestResponse setHtmlFooter(Object value) {<a name="line.751"></a>
+<span class="sourceLineNo">752</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_footer, value);<a name="line.752"></a>
+<span class="sourceLineNo">753</span>      return this;<a name="line.753"></a>
+<span class="sourceLineNo">754</span>   }<a name="line.754"></a>
+<span class="sourceLineNo">755</span><a name="line.755"></a>
+<span class="sourceLineNo">756</span>   /**<a name="line.756"></a>
+<span class="sourceLineNo">757</span>    * Sets the HTML CSS style section contents.<a name="line.757"></a>
+<span class="sourceLineNo">758</span>    *<a name="line.758"></a>
+<span class="sourceLineNo">759</span>    * &lt;p&gt;<a name="line.759"></a>
+<span class="sourceLineNo">760</span>    * The format of this value is CSS.<a name="line.760"></a>
+<span class="sourceLineNo">761</span>    *<a name="line.761"></a>
+<span class="sourceLineNo">762</span>    * &lt;p&gt;<a name="line.762"></a>
+<span class="sourceLineNo">763</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.763"></a>
+<span class="sourceLineNo">764</span>    *<a name="line.764"></a>
+<span class="sourceLineNo">765</span>    * &lt;p&gt;<a name="line.765"></a>
+<span class="sourceLineNo">766</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.766"></a>
+<span class="sourceLineNo">767</span>    *<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    * &lt;p&gt;<a name="line.768"></a>
+<span class="sourceLineNo">769</span>    * This is the programmatic equivalent to the {@link HtmlDoc#style() @HtmlDoc.style()} annotation.<a name="line.769"></a>
+<span class="sourceLineNo">770</span>    *<a name="line.770"></a>
+<span class="sourceLineNo">771</span>    * @param value<a name="line.771"></a>
+<span class="sourceLineNo">772</span>    *    The HTML CSS style section contents.<a name="line.772"></a>
+<span class="sourceLineNo">773</span>    *    Object will be converted to a string using {@link Object#toString()}.<a name="line.773"></a>
+<span class="sourceLineNo">774</span>    *    &lt;p&gt;<a name="line.774"></a>
+<span class="sourceLineNo">775</span>    *    &lt;ul class='doctree'&gt;<a name="line.775"></a>
+<span class="sourceLineNo">776</span>    *       &lt;li class='info'&gt;<a name="line.776"></a>
+<span class="sourceLineNo">777</span>    *          &lt;b&gt;Tip:&lt;/b&gt;  Use {@link StringMessage} to generate value with delayed serialization so as not to<a name="line.777"></a>
+<span class="sourceLineNo">778</span>    *             waste string concatenation cycles on non-HTML views.<a name="line.778"></a>
+<span class="sourceLineNo">779</span>    *    &lt;/ul&gt;<a name="line.779"></a>
+<span class="sourceLineNo">780</span>    * @return This object (for method chaining).<a name="line.780"></a>
+<span class="sourceLineNo">781</span>    */<a name="line.781"></a>
+<span class="sourceLineNo">782</span>   public RestResponse setHtmlStyle(Object value) {<a name="line.782"></a>
+<span class="sourceLineNo">783</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_style, value);<a name="line.783"></a>
+<span class="sourceLineNo">784</span>      return this;<a name="line.784"></a>
+<span class="sourceLineNo">785</span>   }<a name="line.785"></a>
+<span class="sourceLineNo">786</span><a name="line.786"></a>
+<span class="sourceLineNo">787</span>   /**<a name="line.787"></a>
+<span class="sourceLineNo">788</span>    * Sets the CSS URL in the HTML CSS style section.<a name="line.788"></a>
+<span class="sourceLineNo">789</span>    *<a name="line.789"></a>
+<span class="sourceLineNo">790</span>    * &lt;p&gt;<a name="line.790"></a>
+<span class="sourceLineNo">791</span>    * The format of this value is a comma-delimited list of URLs.<a name="line.791"></a>
+<span class="sourceLineNo">792</span>    *<a name="line.792"></a>
+<span class="sourceLineNo">793</span>    * &lt;p&gt;<a name="line.793"></a>
+<span class="sourceLineNo">794</span>    * Specifies the URL to the stylesheet to add as a link in the style tag in the header.<a name="line.794"></a>
+<span class="sourceLineNo">795</span>    *<a name="line.795"></a>
+<span class="sourceLineNo">796</span>    * &lt;p&gt;<a name="line.796"></a>
+<span class="sourceLineNo">797</span>    * The format of this value is CSS.<a name="line.797"></a>
+<span class="sourceLineNo">798</span>    *<a name="line.798"></a>
+<span class="sourceLineNo">799</span>    * &lt;p&gt;<a name="line.799"></a>
+<span class="sourceLineNo">800</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;) and can use URL protocols defined<a name="line.800"></a>
+<span class="sourceLineNo">801</span>    * by {@link UriResolver}.<a name="line.801"></a>
+<span class="sourceLineNo">802</span>    *<a name="line.802"></a>
+<span class="sourceLineNo">803</span>    * &lt;p&gt;<a name="line.803"></a>
+<span class="sourceLineNo">804</span>    * This is the programmatic equivalent to the {@link HtmlDoc#stylesheet() @HtmlDoc.stylesheet()} annotation.<a name="line.804"></a>
+<span class="sourceLineNo">805</span>    *<a name="line.805"></a>
+<span class="sourceLineNo">806</span>    * @param value<a name="line.806"></a>
+<span class="sourceLineNo">807</span>    *    The CSS URL in the HTML CSS style section.<a name="line.807"></a>
+<span class="sourceLineNo">808</span>    *    Object will be converted to a string using {@link Object#toString()}.<a name="line.808"></a>
+<span class="sourceLineNo">809</span>    *    &lt;p&gt;<a name="line.809"></a>
+<span class="sourceLineNo">810</span>    *    &lt;ul class='doctree'&gt;<a name="line.810"></a>
+<span class="sourceLineNo">811</span>    *       &lt;li class='info'&gt;<a name="line.811"></a>
+<span class="sourceLineNo">812</span>    *          &lt;b&gt;Tip:&lt;/b&gt;  Use {@link StringMessage} to generate value with delayed serialization so as not to<a name="line.812"></a>
+<span class="sourceLineNo">813</span>    *             waste string concatenation cycles on non-HTML views.<a name="line.813"></a>
+<span class="sourceLineNo">814</span>    *    &lt;/ul&gt;<a name="line.814"></a>
+<span class="sourceLineNo">815</span>    * @return This object (for method chaining).<a name="line.815"></a>
+<span class="sourceLineNo">816</span>    */<a name="line.816"></a>
+<span class="sourceLineNo">817</span>   public RestResponse setHtmlStylesheet(Object value) {<a name="line.817"></a>
+<span class="sourceLineNo">818</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_stylesheet, value);<a name="line.818"></a>
+<span class="sourceLineNo">819</span>      return this;<a name="line.819"></a>
+<span class="sourceLineNo">820</span>   }<a name="line.820"></a>
+<span class="sourceLineNo">821</span><a name="line.821"></a>
+<span class="sourceLineNo">822</span>   /**<a name="line.822"></a>
+<span class="sourceLineNo">823</span>    * Sets the HTML script section contents.<a name="line.823"></a>
+<span class="sourceLineNo">824</span>    *<a name="line.824"></a>
+<span class="sourceLineNo">825</span>    * &lt;p&gt;<a name="line.825"></a>
+<span class="sourceLineNo">826</span>    * The format of this value is Javascript.<a name="line.826"></a>
+<span class="sourceLineNo">827</span>    *<a name="line.827"></a>
+<span class="sourceLineNo">828</span>    * &lt;p&gt;<a name="line.828"></a>
+<span class="sourceLineNo">829</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.829"></a>
+<span class="sourceLineNo">830</span>    *<a name="line.830"></a>
+<span class="sourceLineNo">831</span>    * &lt;p&gt;<a name="line.831"></a>
+<span class="sourceLineNo">832</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    *<a name="line.833"></a>
+<span class="sourceLineNo">834</span>    * &lt;p&gt;<a name="line.834"></a>
+<span class="sourceLineNo">835</span>    * This is the programmatic equivalent to the {@link HtmlDoc#script() @HtmlDoc.script()} annotation.<a name="line.835"></a>
+<span class="sourceLineNo">836</span>    *<a name="line.836"></a>
+<span class="sourceLineNo">837</span>    * @param value<a name="line.837"></a>
+<span class="sourceLineNo">838</span>    *    The HTML script section contents.<a name="line.838"></a>
+<span class="sourceLineNo">839</span>    *    Object will be converted to a string using {@link Object#toString()}.<a name="line.839"></a>
+<span class="sourceLineNo">840</span>    *    &lt;p&gt;<a name="line.840"></a>
+<span class="sourceLineNo">841</span>    *    &lt;ul class='doctree'&gt;<a name="line.841"></a>
+<span class="sourceLineNo">842</span>    *       &lt;li class='info'&gt;<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    *          &lt;b&gt;Tip:&lt;/b&gt;  Use {@link StringMessage} to generate value with delayed serialization so as not to<a name="line.843"></a>
+<span class="sourceLineNo">844</span>    *             waste string concatenation cycles on non-HTML views.<a name="line.844"></a>
+<span class="sourceLineNo">845</span>    *    &lt;/ul&gt;<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    * @return This object (for method chaining).<a name="line.846"></a>
+<span class="sourceLineNo">847</span>    */<a name="line.847"></a>
+<span class="sourceLineNo">848</span>   public RestResponse setHtmlScript(Object value) {<a name="line.848"></a>
+<span class="sourceLineNo">849</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_script, value);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      return this;<a name="line.850"></a>
+<span class="sourceLineNo">851</span>   }<a name="line.851"></a>
+<span class="sourceLineNo">852</span><a name="line.852"></a>
+<span class="sourceLineNo">853</span>   /**<a name="line.853"></a>
+<span class="sourceLineNo">854</span>    * Shorthand method for forcing the rendered HTML content to be no-wrap.<a name="line.854"></a>
+<span class="sourceLineNo">855</span>    *<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    * &lt;p&gt;<a name="line.856"></a>
+<span class="sourceLineNo">857</span>    * This is the programmatic equivalent to the {@link HtmlDoc#nowrap() @HtmlDoc.nowrap()} annotation.<a name="line.857"></a>
+<span class="sourceLineNo">858</span>    *<a name="line.858"></a>
+<span class="sourceLineNo">859</span>    * @param value The new nowrap setting.<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    * @return This object (for method chaining).<a name="line.860"></a>
+<span class="sourceLineNo">861</span>    */<a name="line.861"></a>
+<span class="sourceLineNo">862</span>   public RestResponse setHtmlNoWrap(boolean value) {<a name="line.862"></a>
+<span class="sourceLineNo">863</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_nowrap, value);<a name="line.863"></a>
+<span class="sourceLineNo">864</span>      return this;<a name="line.864"></a>
+<span class="sourceLineNo">865</span>   }<a name="line.865"></a>
+<span class="sourceLineNo">866</span><a name="line.866"></a>
+<span class="sourceLineNo">867</span>   /**<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    * Specifies the text to display when serializing an empty array or collection.<a name="line.868"></a>
+<span class="sourceLineNo">869</span>    *<a name="line.869"></a>
+<span class="sourceLineNo">870</span>    * &lt;p&gt;<a name="line.870"></a>
+<span class="sourceLineNo">871</span>    * This is the programmatic equivalent to the {@link HtmlDoc#noResultsMessage() @HtmlDoc.noResultsMessage()}<a name="line.871"></a>
+<span class="sourceLineNo">872</span>    * annotation.<a name="line.872"></a>
+<span class="sourceLineNo">873</span>    *<a name="line.873"></a>
+<span class="sourceLineNo">874</span>    * @param value The text to display when serializing an empty array or collection.<a name="line.874"></a>
+<span class="sourceLineNo">875</span>    * @return This object (for method chaining).<a name="line.875"></a>
+<span class="sourceLineNo">876</span>    */<a name="line.876"></a>
+<span class="sourceLineNo">877</span>   public RestResponse setHtmlNoResultsMessage(Object value) {<a name="line.877"></a>
+<span class="sourceLineNo">878</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_noResultsMessage, value);<a name="line.878"></a>
+<span class="sourceLineNo">879</span>      return this;<a name="line.879"></a>
+<span class="sourceLineNo">880</span>   }<a name="line.880"></a>
+<span class="sourceLineNo">881</span><a name="line.881"></a>
+<span class="sourceLineNo">882</span>   /**<a name="line.882"></a>
+<span class="sourceLineNo">883</span>    * Specifies the template class to use for rendering the HTML page.<a name="line.883"></a>
+<span class="sourceLineNo">884</span>    *<a name="line.884"></a>
+<span class="sourceLineNo">885</span>    * &lt;p&gt;<a name="line.885"></a>
+<span class="sourceLineNo">886</span>    * By default, uses {@link HtmlDocTemplateBasic} to render the contents, although you can provide your own custom<a name="line.886"></a>
+<span class="sourceLineNo">887</span>    * renderer or subclasses from the basic class to have full control over how the page is rendered.<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    *<a name="line.888"></a>
+<span class="sourceLineNo">889</span>    * &lt;p&gt;<a name="line.889"></a>
+<span class="sourceLineNo">890</span>    * This is the programmatic equivalent to the {@link HtmlDoc#template() @HtmlDoc.template()} annotation.<a name="line.890"></a>
+<span class="sourceLineNo">891</span>    *<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    * @param value The HTML page template to use to render the HTML page.<a name="line.892"></a>
+<span class="sourceLineNo">893</span>    * @return This object (for method chaining).<a name="line.893"></a>
+<span class="sourceLineNo">894</span>    */<a name="line.894"></a>
+<span class="sourceLineNo">895</span>   public RestResponse setHtmlTemplate(Class&lt;? extends HtmlDocTemplate&gt; value) {<a name="line.895"></a>
+<span class="sourceLineNo">896</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_template, value);<a name="line.896"></a>
+<span class="sourceLineNo">897</span>      return this;<a name="line.897"></a>
+<span class="sourceLineNo">898</span>   }<a name="line.898"></a>
+<span class="sourceLineNo">899</span><a name="line.899"></a>
+<span class="sourceLineNo">900</span>   /**<a name="line.900"></a>
+<span class="sourceLineNo">901</span>    * Specifies the template class to use for rendering the HTML page.<a name="line.901"></a>
+<span class="sourceLineNo">902</span>    *<a name="line.902"></a>
+<span class="sourceLineNo">903</span>    * &lt;p&gt;<a name="line.903"></a>
+<span class="sourceLineNo">904</span>    * By default, uses {@link HtmlDocTemplateBasic} to render the contents, although you can provide your own custom<a name="line.904"></a>
+<span class="sourceLineNo">905</span>    * renderer or subclasses from the basic class to have full control over how the page is rendered.<a name="line.905"></a>
+<span class="sourceLineNo">906</span>    *<a name="line.906"></a>
+<span class="sourceLineNo">907</span>    * &lt;p&gt;<a name="line.907"></a>
+<span class="sourceLineNo">908</span>    * This is the programmatic equivalent to the {@link HtmlDoc#template() @HtmlDoc.template()} annotation.<a name="line.908"></a>
+<span class="sourceLineNo">909</span>    *<a name="line.909"></a>
+<span class="sourceLineNo">910</span>    * @param value The HTML page template to use to render the HTML page.<a name="line.910"></a>
+<span class="sourceLineNo">911</span>    * @return This object (for method chaining).<a name="line.911"></a>
+<span class="sourceLineNo">912</span>    */<a name="line.912"></a>
+<span class="sourceLineNo">913</span>   public RestResponse setHtmlTemplate(HtmlDocTemplate value) {<a name="line.913"></a>
+<span class="sourceLineNo">914</span>      properties.put(HtmlDocSerializerContext.HTMLDOC_template, value);<a name="line.914"></a>
+<span class="sourceLineNo">915</span>      return this;<a name="line.915"></a>
+<span class="sourceLineNo">916</span>   }<a name="line.916"></a>
+<span class="sourceLineNo">917</span><a name="line.917"></a>
+<span class="sourceLineNo">918</span>   @Override /* ServletResponse */<a name="line.918"></a>
+<span class="sourceLineNo">919</span>   public void flushBuffer() throws IOException {<a name="line.919"></a>
+<span class="sourceLineNo">920</span>      if (w != null)<a name="line.920"></a>
+<span class="sourceLineNo">921</span>         w.flush();<a name="line.921"></a>
+<span class="sourceLineNo">922</span>      if (os != null)<a name="line.922"></a>
+<span class="sourceLineNo">923</span>         os.flush();<a name="line.923"></a>
+<span class="sourceLineNo">924</span>      super.flushBuffer();<a name="line.924"></a>
+<span class="sourceLineNo">925</span>   }<a name="line.925"></a>
+<span class="sourceLineNo">926</span>}<a name="line.926"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/rest/RestServletDefault.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/RestServletDefault.html b/content/site/apidocs/src-html/org/apache/juneau/rest/RestServletDefault.html
index ff1792e..47bbdf2 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/RestServletDefault.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/RestServletDefault.html
@@ -219,17 +219,20 @@
 <span class="sourceLineNo">211</span>    */<a name="line.211"></a>
 <span class="sourceLineNo">212</span>   @RestMethod(name="OPTIONS", path="/*",<a name="line.212"></a>
 <span class="sourceLineNo">213</span>      htmldoc=@HtmlDoc(<a name="line.213"></a>
-<span class="sourceLineNo">214</span>         links="{back:'servlet:/',json:'servlet:/?method=OPTIONS&amp;Accept=text/json&amp;plainText=true'}",<a name="line.214"></a>
-<span class="sourceLineNo">215</span>         description="Swagger documentation",<a name="line.215"></a>
-<span class="sourceLineNo">216</span>         aside="NONE"<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      ),<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      summary="Resource options",<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      description="Swagger documentation"<a name="line.219"></a>
-<span class="sourceLineNo">220</span>   )<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   public Swagger getOptions(RestRequest req) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return req.getSwagger();<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>}<a name="line.224"></a>
+<span class="sourceLineNo">214</span>         links={<a name="line.214"></a>
+<span class="sourceLineNo">215</span>            "back: servlet:/,",<a name="line.215"></a>
+<span class="sourceLineNo">216</span>            "json: servlet:/?method=OPTIONS&amp;Accept=text/json&amp;plainText=true"<a name="line.216"></a>
+<span class="sourceLineNo">217</span>         },<a name="line.217"></a>
+<span class="sourceLineNo">218</span>         description="Swagger documentation",<a name="line.218"></a>
+<span class="sourceLineNo">219</span>         aside="NONE"<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      ),<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      summary="Resource options",<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      description="Swagger documentation"<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   )<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   public Swagger getOptions(RestRequest req) {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      return req.getSwagger();<a name="line.225"></a>
+<span class="sourceLineNo">226</span>   }<a name="line.226"></a>
+<span class="sourceLineNo">227</span>}<a name="line.227"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/rest/UrlPathPattern.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/UrlPathPattern.html b/content/site/apidocs/src-html/org/apache/juneau/rest/UrlPathPattern.html
index 7e40ea8..82dfc7c 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/UrlPathPattern.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/UrlPathPattern.html
@@ -102,105 +102,110 @@
 <span class="sourceLineNo">094</span>      if (path == null)<a name="line.94"></a>
 <span class="sourceLineNo">095</span>         return (patternString.equals("/") ? new String[]{} : null);<a name="line.95"></a>
 <span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>      Matcher m = pattern.matcher(path);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      if (! m.matches())<a name="line.98"></a>
-<span class="sourceLineNo">099</span>         return null;<a name="line.99"></a>
-<span class="sourceLineNo">100</span><a name="line.100"></a>
-<span class="sourceLineNo">101</span>      int len = m.groupCount();<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      String[] v = new String[len];<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span>      for (int i = 0; i &lt; len; i++) {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>         if (isDotAll &amp;&amp; i == len-1)<a name="line.105"></a>
-<span class="sourceLineNo">106</span>            v[i] = m.group(i+1).isEmpty() ? null : m.group(i+1).substring(1);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>         else<a name="line.107"></a>
-<span class="sourceLineNo">108</span>         v[i] = urlDecode(m.group(i+1));<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      }<a name="line.109"></a>
-<span class="sourceLineNo">110</span><a name="line.110"></a>
-<span class="sourceLineNo">111</span>      return v;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   }<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>   /**<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    * Comparator for this object.<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    *<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    * &lt;p&gt;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    * The comparator is designed to order URL pattern from most-specific to least-specific.<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    * For example, the following patterns would be ordered as follows:<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    * &lt;ol&gt;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    *    &lt;li&gt;&lt;code&gt;/foo/bar&lt;/code&gt;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    *    &lt;li&gt;&lt;code&gt;/foo/bar/*&lt;/code&gt;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    *    &lt;li&gt;&lt;code&gt;/foo/{id}/bar&lt;/code&gt;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    *    &lt;li&gt;&lt;code&gt;/foo/{id}/bar/*&lt;/code&gt;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    *    &lt;li&gt;&lt;code&gt;/foo/{id}&lt;/code&gt;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    *    &lt;li&gt;&lt;code&gt;/foo/{id}/*&lt;/code&gt;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    *    &lt;li&gt;&lt;code&gt;/foo&lt;/code&gt;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    *    &lt;li&gt;&lt;code&gt;/foo/*&lt;/code&gt;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    * &lt;/ol&gt;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    */<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   @Override /* Comparable */<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   public int compareTo(UrlPathPattern o) {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      String s1 = patternString.replaceAll("\\{[^\\}]+\\}", ".").replaceAll("\\w+", "X").replaceAll("\\.", "W");<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      String s2 = o.patternString.replaceAll("\\{[^\\}]+\\}", ".").replaceAll("\\w+", "X").replaceAll("\\.", "W");<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      if (s1.isEmpty())<a name="line.135"></a>
-<span class="sourceLineNo">136</span>         s1 = "+";<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      if (s2.isEmpty())<a name="line.137"></a>
-<span class="sourceLineNo">138</span>         s2 = "+";<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      if (! s1.endsWith("/*"))<a name="line.139"></a>
-<span class="sourceLineNo">140</span>         s1 = s1 + "/W";<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      if (! s2.endsWith("/*"))<a name="line.141"></a>
-<span class="sourceLineNo">142</span>         s2 = s2 + "/W";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      int c = s2.compareTo(s1);<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      if (c == 0)<a name="line.144"></a>
-<span class="sourceLineNo">145</span>         return o.toRegEx().compareTo(toRegEx());<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      return c;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   }<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>   @Override /* Object */<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   public boolean equals(Object o) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      if (! (o instanceof UrlPathPattern))<a name="line.151"></a>
-<span class="sourceLineNo">152</span>         return false;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      return (compareTo((UrlPathPattern)o) == 0);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>   @Override /* Object */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   public int hashCode() {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      return super.hashCode();<a name="line.158"></a>
+<span class="sourceLineNo">097</span>      // If we're not doing a /* match, ignore all trailing slashes.<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      if (! isDotAll)<a name="line.98"></a>
+<span class="sourceLineNo">099</span>         while (path.length() &gt; 1 &amp;&amp; path.charAt(path.length()-1) == '/')<a name="line.99"></a>
+<span class="sourceLineNo">100</span>            path = path.substring(0, path.length()-1);<a name="line.100"></a>
+<span class="sourceLineNo">101</span><a name="line.101"></a>
+<span class="sourceLineNo">102</span>      Matcher m = pattern.matcher(path);<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      if (! m.matches())<a name="line.103"></a>
+<span class="sourceLineNo">104</span>         return null;<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>      int len = m.groupCount();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      String[] v = new String[len];<a name="line.107"></a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span>      for (int i = 0; i &lt; len; i++) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>         if (isDotAll &amp;&amp; i == len-1)<a name="line.110"></a>
+<span class="sourceLineNo">111</span>            v[i] = m.group(i+1).isEmpty() ? null : m.group(i+1).substring(1);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>         else<a name="line.112"></a>
+<span class="sourceLineNo">113</span>         v[i] = urlDecode(m.group(i+1));<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      }<a name="line.114"></a>
+<span class="sourceLineNo">115</span><a name="line.115"></a>
+<span class="sourceLineNo">116</span>      return v;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>   /**<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    * Comparator for this object.<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    *<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    * &lt;p&gt;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    * The comparator is designed to order URL pattern from most-specific to least-specific.<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    * For example, the following patterns would be ordered as follows:<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    * &lt;ol&gt;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    *    &lt;li&gt;&lt;code&gt;/foo/bar&lt;/code&gt;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    *    &lt;li&gt;&lt;code&gt;/foo/bar/*&lt;/code&gt;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    *    &lt;li&gt;&lt;code&gt;/foo/{id}/bar&lt;/code&gt;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    *    &lt;li&gt;&lt;code&gt;/foo/{id}/bar/*&lt;/code&gt;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    *    &lt;li&gt;&lt;code&gt;/foo/{id}&lt;/code&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    *    &lt;li&gt;&lt;code&gt;/foo/{id}/*&lt;/code&gt;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    *    &lt;li&gt;&lt;code&gt;/foo&lt;/code&gt;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    *    &lt;li&gt;&lt;code&gt;/foo/*&lt;/code&gt;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    * &lt;/ol&gt;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    */<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   @Override /* Comparable */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   public int compareTo(UrlPathPattern o) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      String s1 = patternString.replaceAll("\\{[^\\}]+\\}", ".").replaceAll("\\w+", "X").replaceAll("\\.", "W");<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      String s2 = o.patternString.replaceAll("\\{[^\\}]+\\}", ".").replaceAll("\\w+", "X").replaceAll("\\.", "W");<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      if (s1.isEmpty())<a name="line.140"></a>
+<span class="sourceLineNo">141</span>         s1 = "+";<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      if (s2.isEmpty())<a name="line.142"></a>
+<span class="sourceLineNo">143</span>         s2 = "+";<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      if (! s1.endsWith("/*"))<a name="line.144"></a>
+<span class="sourceLineNo">145</span>         s1 = s1 + "/W";<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      if (! s2.endsWith("/*"))<a name="line.146"></a>
+<span class="sourceLineNo">147</span>         s2 = s2 + "/W";<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      int c = s2.compareTo(s1);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      if (c == 0)<a name="line.149"></a>
+<span class="sourceLineNo">150</span>         return o.toRegEx().compareTo(toRegEx());<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      return c;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>   @Override /* Object */<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   public boolean equals(Object o) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      if (! (o instanceof UrlPathPattern))<a name="line.156"></a>
+<span class="sourceLineNo">157</span>         return false;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      return (compareTo((UrlPathPattern)o) == 0);<a name="line.158"></a>
 <span class="sourceLineNo">159</span>   }<a name="line.159"></a>
 <span class="sourceLineNo">160</span><a name="line.160"></a>
 <span class="sourceLineNo">161</span>   @Override /* Object */<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   public String toString() {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      return patternString;<a name="line.163"></a>
+<span class="sourceLineNo">162</span>   public int hashCode() {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      return super.hashCode();<a name="line.163"></a>
 <span class="sourceLineNo">164</span>   }<a name="line.164"></a>
 <span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>   /**<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    * Returns this path pattern as the compiled regular expression.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    *<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    * &lt;p&gt;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    * Useful for debugging.<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    *<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    * @return The path pattern.<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    */<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   public String toRegEx() {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      return isOnlyDotAll ? "*" : pattern.pattern();<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   }<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>   /**<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    * Bean property getter:  &lt;property&gt;vars&lt;/property&gt;.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    *<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    * @return The value of the &lt;property&gt;vars&lt;/property&gt; property on this bean, or &lt;jk&gt;null&lt;/jk&gt; if it is not set.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    */<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   public String[] getVars() {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      return vars;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   }<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>   /**<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    * Bean property getter:  &lt;property&gt;patternString&lt;/property&gt;.<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    *<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    * @return The value of the &lt;property&gt;patternString&lt;/property&gt; property on this bean, or &lt;jk&gt;null&lt;/jk&gt; if it is not set.<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    */<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   public String getPatternString() {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return patternString;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>}<a name="line.195"></a>
+<span class="sourceLineNo">166</span>   @Override /* Object */<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   public String toString() {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      return patternString;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>   }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>   /**<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    * Returns this path pattern as the compiled regular expression.<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    *<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    * &lt;p&gt;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    * Useful for debugging.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    *<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    * @return The path pattern.<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    */<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   public String toRegEx() {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      return isOnlyDotAll ? "*" : pattern.pattern();<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   }<a name="line.181"></a>
+<span class="sourceLineNo">182</span><a name="line.182"></a>
+<span class="sourceLineNo">183</span>   /**<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    * Bean property getter:  &lt;property&gt;vars&lt;/property&gt;.<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    *<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    * @return The value of the &lt;property&gt;vars&lt;/property&gt; property on this bean, or &lt;jk&gt;null&lt;/jk&gt; if it is not set.<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    */<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   public String[] getVars() {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      return vars;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   }<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>   /**<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    * Bean property getter:  &lt;property&gt;patternString&lt;/property&gt;.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    *<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    * @return The value of the &lt;property&gt;patternString&lt;/property&gt; property on this bean, or &lt;jk&gt;null&lt;/jk&gt; if it is not set.<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    */<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   public String getPatternString() {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      return patternString;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   }<a name="line.199"></a>
+<span class="sourceLineNo">200</span>}<a name="line.200"></a>
 
 
 


Mime
View raw message