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 2017/07/10 00:09:13 UTC

[01/23] incubator-juneau-website git commit: Update javadocs.

Repository: incubator-juneau-website
Updated Branches:
  refs/heads/asf-site de7a820f7 -> 03d6af507


http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/serializer/SerializerWriter.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/serializer/SerializerWriter.html b/content/site/apidocs/src-html/org/apache/juneau/serializer/SerializerWriter.html
index fa9354e..682bdd5 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/serializer/SerializerWriter.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/serializer/SerializerWriter.html
@@ -22,350 +22,361 @@
 <span class="sourceLineNo">014</span><a name="line.14"></a>
 <span class="sourceLineNo">015</span>import java.io.*;<a name="line.15"></a>
 <span class="sourceLineNo">016</span>import java.net.*;<a name="line.16"></a>
-<span class="sourceLineNo">017</span><a name="line.17"></a>
-<span class="sourceLineNo">018</span>import org.apache.juneau.*;<a name="line.18"></a>
-<span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>/**<a name="line.20"></a>
-<span class="sourceLineNo">021</span> * Simple wrapper around a standard {@link Writer} with additional methods.<a name="line.21"></a>
-<span class="sourceLineNo">022</span> *<a name="line.22"></a>
-<span class="sourceLineNo">023</span> * &lt;p&gt;<a name="line.23"></a>
-<span class="sourceLineNo">024</span> * Modeled after the Java ProcessBuilder class so that you can chain commands to reduce the need for string<a name="line.24"></a>
-<span class="sourceLineNo">025</span> * concatenation for performance reasons.<a name="line.25"></a>
-<span class="sourceLineNo">026</span> *<a name="line.26"></a>
-<span class="sourceLineNo">027</span> * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.27"></a>
-<span class="sourceLineNo">028</span> * &lt;p class='bcode'&gt;<a name="line.28"></a>
-<span class="sourceLineNo">029</span> *    writer.append(&lt;js&gt;"foo"&lt;/js&gt;).nl().i(5).append(&lt;js&gt;"bar"&lt;/js&gt;);<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * &lt;/p&gt;<a name="line.30"></a>
-<span class="sourceLineNo">031</span> */<a name="line.31"></a>
-<span class="sourceLineNo">032</span>public class SerializerWriter extends Writer {<a name="line.32"></a>
-<span class="sourceLineNo">033</span><a name="line.33"></a>
-<span class="sourceLineNo">034</span>   /** The underlying writer. */<a name="line.34"></a>
-<span class="sourceLineNo">035</span>   protected final Writer out;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>   /** Use-whitespace flag. */<a name="line.37"></a>
-<span class="sourceLineNo">038</span>   protected final boolean useWhitespace;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>   /** Max indentation levels. */<a name="line.40"></a>
-<span class="sourceLineNo">041</span>   protected final int maxIndent;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>   /** Trim strings flag. */<a name="line.43"></a>
-<span class="sourceLineNo">044</span>   protected final boolean trimStrings;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>   /** The quote character being used by this writer. */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>   protected final char quoteChar;<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>   /** The URI resolver of the request. */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   protected final UriResolver uriResolver;<a name="line.50"></a>
-<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span>   /**<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    * @param out The writer being wrapped.<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    * @param useWhitespace<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    *    If &lt;jk&gt;true&lt;/jk&gt;, calling {@link #cr(int)} will create an indentation and calling {@link #s()} will write a<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    *    space character.<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    * @param maxIndent The maximum indentation level.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    * @param trimStrings If &lt;jk&gt;true&lt;/jk&gt;, strings should be trimmed before they're serialized.<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    * @param quoteChar The character to write when {@link #q()} is called.<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    * @param uriResolver The URI resolver for resolving URIs to absolute or root-relative form.<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   public SerializerWriter(Writer out, boolean useWhitespace, int maxIndent, boolean trimStrings, char quoteChar,<a name="line.62"></a>
-<span class="sourceLineNo">063</span>         UriResolver uriResolver) {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      this.out = out;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      this.useWhitespace = useWhitespace;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      this.maxIndent = maxIndent;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      this.trimStrings = trimStrings;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>      this.quoteChar = quoteChar;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      this.uriResolver = uriResolver;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   }<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>   /**<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    * Performs a carriage return.<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    *<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    * &lt;p&gt;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    * Adds a newline and the specified number of tabs (if the {@code useWhitespace} setting is enabled) to the output.<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    *<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    * @param depth The indentation.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    * @return This object (for method chaining).<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    */<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   public SerializerWriter cr(int depth) throws IOException {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>      if (useWhitespace &amp;&amp; depth &lt;= maxIndent)<a name="line.83"></a>
-<span class="sourceLineNo">084</span>         return nl(depth).i(depth);<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      return this;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   }<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>   /**<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    * Performs a carriage return at the end of a line.<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    *<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    * &lt;p&gt;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    * Adds a newline and the specified number of tabs (if the {@code useWhitespace} setting is enabled) to the output.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    *<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    * @param depth The indentation.<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    * @return This object (for method chaining).<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   public SerializerWriter cre(int depth) throws IOException {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      if (useWhitespace &amp;&amp; depth &lt;= maxIndent-1)<a name="line.99"></a>
-<span class="sourceLineNo">100</span>         return nl(depth).i(depth);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>      return this;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   }<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span>   /**<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    * Writes an indent (if the {@code useWhitespace} setting is enabled), followed by text, followed by a newline<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    * (if the {@code useWhitespace} setting is enabled).<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    *<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    * @param indent The number of tabs to indent.<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    * @param text The text to write.<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    * @return This object.<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    */<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   public SerializerWriter appendln(int indent, String text) throws IOException {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      return append(indent, true, text);<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>   /**<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    * Writes the specified text followed by a newline (if the {@code useWhitespace} setting is enabled).<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    *<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    * @param text The text to write.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    * @return This object.<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    */<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   public SerializerWriter appendln(String text) throws IOException {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return append(0, true, text);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   }<a name="line.126"></a>
-<span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>   /**<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    * Writes an indent (if the {@code useWhitespace} setting is enabled), followed by text.<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    *<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    * @param indent The number of tabs to indent.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    * @param text The text to write.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    * @return This object.<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    */<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   public SerializerWriter append(int indent, String text) throws IOException {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return append(indent, false, text);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>   /**<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    * Writes an indent (if the {@code useWhitespace} setting is enabled), followed by text.<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    *<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    * @param indent The number of tabs to indent.<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    * @param c The character to write.<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    * @return This object.<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    */<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   public SerializerWriter append(int indent, char c) throws IOException {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      return i(indent).append(c);<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   }<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>   /**<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    * Writes an indent (if the {@code useWhitespace} setting is enabled), followed by text, optionally followed by a<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    * newline (if the {@code useWhitespace} setting is enabled).<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    *<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    * @param indent The number of tabs to indent.<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    * @param newline If &lt;jk&gt;true&lt;/jk&gt;, then a newline is written.<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    * @param text The text to write.<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    * @return This object (for method chaining).<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    */<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   private SerializerWriter append(int indent, boolean newline, String text) throws IOException {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      i(indent);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      out.write(text);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      if (newline)<a name="line.165"></a>
-<span class="sourceLineNo">166</span>         nl(indent);<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      return this;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>   }<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>    * Appends the specified object as a URI.<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    *<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    * &lt;p&gt;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    * Object is converted to a &lt;code&gt;String&lt;/code&gt; using &lt;code&gt;toString()&lt;/code&gt;, so this will work on {@link URL} or<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    * {@link URI} objects, or any other type that returns a URI via it's &lt;code&gt;toString()&lt;/code&gt; method.<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    *<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    * &lt;p&gt;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    * The URI is resolved based on the {@link SerializerContext#SERIALIZER_uriRelativity} and<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    * {@link SerializerContext#SERIALIZER_uriResolution} settings and the {@link UriContext} that's part of the<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    * session.<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    *<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    * @param uri The URI to serialize.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    * @return This object (for method chaining).<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    */<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   public SerializerWriter appendUri(Object uri) throws IOException {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      uriResolver.append(this, uri);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return this;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   }<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>    * Appends the specified characters to this writer.<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    *<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    * @param characters The characters to append to this writer.<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    * @return This object (for method chaining).<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    * @throws IOException<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   public SerializerWriter append(char[] characters) throws IOException {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      for (char c : characters)<a name="line.199"></a>
-<span class="sourceLineNo">200</span>         append(c);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      return this;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   }<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>   /**<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    * Adds a whitespace character to the output if the {@code useWhitespace} setting is enabled.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    *<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    * @return This object (for method chaining).<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   public SerializerWriter s() throws IOException {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      if (useWhitespace)<a name="line.211"></a>
-<span class="sourceLineNo">212</span>         out.write(' ');<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      return this;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   }<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>   /**<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    * Adds the quote character specified by the {@code quoteChar} setting to the output.<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    *<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    * @return This object (for method chaining).<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    */<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   public SerializerWriter q() throws IOException {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      out.write(quoteChar);<a name="line.223"></a>
+<span class="sourceLineNo">017</span>import java.util.*;<a name="line.17"></a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span>import org.apache.juneau.*;<a name="line.19"></a>
+<span class="sourceLineNo">020</span><a name="line.20"></a>
+<span class="sourceLineNo">021</span>/**<a name="line.21"></a>
+<span class="sourceLineNo">022</span> * Simple wrapper around a standard {@link Writer} with additional methods.<a name="line.22"></a>
+<span class="sourceLineNo">023</span> *<a name="line.23"></a>
+<span class="sourceLineNo">024</span> * &lt;p&gt;<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * Modeled after the Java ProcessBuilder class so that you can chain commands to reduce the need for string<a name="line.25"></a>
+<span class="sourceLineNo">026</span> * concatenation for performance reasons.<a name="line.26"></a>
+<span class="sourceLineNo">027</span> *<a name="line.27"></a>
+<span class="sourceLineNo">028</span> * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * &lt;p class='bcode'&gt;<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *    writer.append(&lt;js&gt;"foo"&lt;/js&gt;).nl().i(5).append(&lt;js&gt;"bar"&lt;/js&gt;);<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * &lt;/p&gt;<a name="line.31"></a>
+<span class="sourceLineNo">032</span> */<a name="line.32"></a>
+<span class="sourceLineNo">033</span>public class SerializerWriter extends Writer {<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>   /** The underlying writer. */<a name="line.35"></a>
+<span class="sourceLineNo">036</span>   protected final Writer out;<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span>   /** Use-whitespace flag. */<a name="line.38"></a>
+<span class="sourceLineNo">039</span>   protected final boolean useWhitespace;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>   /** Max indentation levels. */<a name="line.41"></a>
+<span class="sourceLineNo">042</span>   protected final int maxIndent;<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>   /** Trim strings flag. */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>   protected final boolean trimStrings;<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>   /** The quote character being used by this writer. */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>   protected final char quoteChar;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>   /** The URI resolver of the request. */<a name="line.50"></a>
+<span class="sourceLineNo">051</span>   protected final UriResolver uriResolver;<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>   /**<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    * @param out The writer being wrapped.<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    * @param useWhitespace<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    *    If &lt;jk&gt;true&lt;/jk&gt;, calling {@link #cr(int)} will create an indentation and calling {@link #s()} will write a<a name="line.56"></a>
+<span class="sourceLineNo">057</span>    *    space character.<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    * @param maxIndent The maximum indentation level.<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    * @param trimStrings If &lt;jk&gt;true&lt;/jk&gt;, strings should be trimmed before they're serialized.<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    * @param quoteChar The character to write when {@link #q()} is called.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    * @param uriResolver The URI resolver for resolving URIs to absolute or root-relative form.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    */<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   public SerializerWriter(Writer out, boolean useWhitespace, int maxIndent, boolean trimStrings, char quoteChar,<a name="line.63"></a>
+<span class="sourceLineNo">064</span>         UriResolver uriResolver) {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      this.out = out;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      this.useWhitespace = useWhitespace;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>      this.maxIndent = maxIndent;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      this.trimStrings = trimStrings;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>      this.quoteChar = quoteChar;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      this.uriResolver = uriResolver;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   }<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>   /**<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    * Performs a carriage return.<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    *<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    * &lt;p&gt;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    * Adds a newline and the specified number of tabs (if the {@code useWhitespace} setting is enabled) to the output.<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    *<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    * @param depth The indentation.<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    * @return This object (for method chaining).<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    */<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   public SerializerWriter cr(int depth) throws IOException {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>      if (useWhitespace &amp;&amp; depth &lt;= maxIndent)<a name="line.84"></a>
+<span class="sourceLineNo">085</span>         return nl(depth).i(depth);<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      return this;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   }<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>   /**<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    * Performs a carriage return at the end of a line.<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    *<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    * &lt;p&gt;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    * Adds a newline and the specified number of tabs (if the {@code useWhitespace} setting is enabled) to the output.<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    *<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    * @param depth The indentation.<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    * @return This object (for method chaining).<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   public SerializerWriter cre(int depth) throws IOException {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      if (useWhitespace &amp;&amp; depth &lt;= maxIndent-1)<a name="line.100"></a>
+<span class="sourceLineNo">101</span>         return nl(depth).i(depth);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      return this;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   }<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>   /**<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    * Writes an indent (if the {@code useWhitespace} setting is enabled), followed by text, followed by a newline<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    * (if the {@code useWhitespace} setting is enabled).<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    *<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    * @param indent The number of tabs to indent.<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    * @param text The text to write.<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    * @return This object.<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    */<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   public SerializerWriter appendln(int indent, String text) throws IOException {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      return append(indent, true, text);<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   }<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>    * Writes the specified text followed by a newline (if the {@code useWhitespace} setting is enabled).<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    *<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    * @param text The text to write.<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    * @return This object.<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    */<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   public SerializerWriter appendln(String text) throws IOException {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      return append(0, true, text);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   }<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>   /**<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    * Writes an indent (if the {@code useWhitespace} setting is enabled), followed by text.<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    *<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    * @param indent The number of tabs to indent.<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    * @param text The text to write.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    * @return This object.<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   public SerializerWriter append(int indent, String text) throws IOException {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      return append(indent, false, text);<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   }<a name="line.139"></a>
+<span class="sourceLineNo">140</span><a name="line.140"></a>
+<span class="sourceLineNo">141</span>   /**<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    * Writes an indent (if the {@code useWhitespace} setting is enabled), followed by text.<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    *<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    * @param indent The number of tabs to indent.<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    * @param c The character to write.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    * @return This object.<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    */<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   public SerializerWriter append(int indent, char c) throws IOException {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      return i(indent).append(c);<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   }<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>    * Writes an indent (if the {@code useWhitespace} setting is enabled), followed by text, optionally followed by a<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    * newline (if the {@code useWhitespace} setting is enabled).<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    *<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    * @param indent The number of tabs to indent.<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    * @param newline If &lt;jk&gt;true&lt;/jk&gt;, then a newline is written.<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    * @param text The text to write.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    * @return This object (for method chaining).<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    */<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   private SerializerWriter append(int indent, boolean newline, String text) throws IOException {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      <a name="line.164"></a>
+<span class="sourceLineNo">165</span>      // If text contains newlines, we break it up into lines and indent them separately.<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      if (text.indexOf('\n') != -1 &amp;&amp; useWhitespace &amp;&amp; indent &lt;= maxIndent) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>         for (StringTokenizer st = new StringTokenizer(text, "\n"); st.hasMoreTokens();) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>            i(indent);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>            out.write(st.nextToken());<a name="line.169"></a>
+<span class="sourceLineNo">170</span>            out.write("\n");<a name="line.170"></a>
+<span class="sourceLineNo">171</span>         }<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      } else {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>         i(indent);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>         out.write(text);<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      }<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      if (newline)<a name="line.176"></a>
+<span class="sourceLineNo">177</span>         nl(indent);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      return this;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>   /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    * Appends the specified object as a URI.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    *<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    * &lt;p&gt;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    * Object is converted to a &lt;code&gt;String&lt;/code&gt; using &lt;code&gt;toString()&lt;/code&gt;, so this will work on {@link URL} or<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    * {@link URI} objects, or any other type that returns a URI via it's &lt;code&gt;toString()&lt;/code&gt; method.<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    *<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    * &lt;p&gt;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    * The URI is resolved based on the {@link SerializerContext#SERIALIZER_uriRelativity} and<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    * {@link SerializerContext#SERIALIZER_uriResolution} settings and the {@link UriContext} that's part of the<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    * session.<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    *<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    * @param uri The URI to serialize.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    * @return This object (for method chaining).<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    */<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   public SerializerWriter appendUri(Object uri) throws IOException {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      uriResolver.append(this, uri);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      return this;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>   }<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>   /**<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    * Appends the specified characters to this writer.<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    *<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    * @param characters The characters to append to this writer.<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    * @return This object (for method chaining).<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    * @throws IOException<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    */<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   public SerializerWriter append(char[] characters) throws IOException {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      for (char c : characters)<a name="line.210"></a>
+<span class="sourceLineNo">211</span>         append(c);<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      return this;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   }<a name="line.213"></a>
+<span class="sourceLineNo">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span>   /**<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    * Adds a whitespace character to the output if the {@code useWhitespace} setting is enabled.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    *<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    * @return This object (for method chaining).<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    */<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   public SerializerWriter s() throws IOException {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      if (useWhitespace)<a name="line.222"></a>
+<span class="sourceLineNo">223</span>         out.write(' ');<a name="line.223"></a>
 <span class="sourceLineNo">224</span>      return this;<a name="line.224"></a>
 <span class="sourceLineNo">225</span>   }<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>
-<span class="sourceLineNo">228</span>    * Writes an indent to the writer if the {@code useWhitespace} setting is enabled.<a name="line.228"></a>
+<span class="sourceLineNo">228</span>    * Adds the quote character specified by the {@code quoteChar} setting to the output.<a name="line.228"></a>
 <span class="sourceLineNo">229</span>    *<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    * @param indent The number of tabs to indent.<a name="line.230"></a>
+<span class="sourceLineNo">230</span>    * @return This object (for method chaining).<a name="line.230"></a>
 <span class="sourceLineNo">231</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    * @return This object (for method chaining).<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   public SerializerWriter i(int indent) throws IOException {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      if (useWhitespace &amp;&amp; indent &lt;= maxIndent)<a name="line.235"></a>
-<span class="sourceLineNo">236</span>         for (int i = 0; i &lt; indent; i++)<a name="line.236"></a>
-<span class="sourceLineNo">237</span>            out.write('\t');<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      return this;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   }<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>   /**<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    * Writes an end-of-line indent to the writer if the {@code useWhitespace} setting is enabled.<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    *<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    * @param indent The number of tabs to indent.<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    * @return This object (for method chaining).<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   public SerializerWriter ie(int indent) throws IOException {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      if (useWhitespace &amp;&amp; indent &lt;= maxIndent-1)<a name="line.249"></a>
-<span class="sourceLineNo">250</span>         for (int i = 0; i &lt; indent; i++)<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            out.write('\t');<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      return this;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   }<a name="line.253"></a>
-<span class="sourceLineNo">254</span><a name="line.254"></a>
-<span class="sourceLineNo">255</span>   /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    * Writes a newline to the writer if the {@code useWhitespace} setting is enabled.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    *<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    * @param indent The current indentation level.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    * @return This object (for method chaining).<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    */<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   public SerializerWriter nl(int indent) throws IOException {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      if (useWhitespace &amp;&amp; indent &lt;= maxIndent)<a name="line.263"></a>
-<span class="sourceLineNo">264</span>         out.write('\n');<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      return this;<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   }<a name="line.266"></a>
-<span class="sourceLineNo">267</span><a name="line.267"></a>
-<span class="sourceLineNo">268</span>   /**<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    * Writes a newline to the writer if the {@code useWhitespace} setting is enabled and the boolean flag is true.<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    *<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    * @param b The boolean flag.<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    * @param indent The current indentation level.<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    * @return This object (for method chaining).<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    */<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   public SerializerWriter nlIf(boolean b, int indent) throws IOException {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      if (b &amp;&amp; useWhitespace &amp;&amp; indent &lt;= maxIndent)<a name="line.277"></a>
-<span class="sourceLineNo">278</span>         out.write('\n');<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      return this;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   }<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>   /**<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    * Writes the specified text to the writer.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    *<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    * @param text The text to write.<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    * @return This object (for method chaining).<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    */<a name="line.288"></a>
-<span class="sourceLineNo">289</span>   public SerializerWriter append(Object text) throws IOException {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      out.append(text == null ? null : text.toString());<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      return this;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   }<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>   /**<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    * Writes the specified text to the writer.<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    *<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    * @param text The text to write.<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    * @return This object (for method chaining).<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    */<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   public SerializerWriter append(String text) throws IOException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      if (text != null)<a name="line.302"></a>
-<span class="sourceLineNo">303</span>         out.append(text);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      return this;<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>   /**<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    * Writes the specified text to the writer if b is true.<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    *<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    * @param b Boolean flag.<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    * @param text The text to write.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    * @return This object (for method chaining).<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    */<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   public SerializerWriter appendIf(boolean b, String text) throws IOException {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      if (b)<a name="line.316"></a>
-<span class="sourceLineNo">317</span>         out.write(text);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      return this;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>   /**<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    * Writes the specified text to the writer if b is true.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    *<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    * @param b Boolean flag.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    * @param c The text to write.<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    * @return This object (for method chaining).<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    */<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   public SerializerWriter appendIf(boolean b, char c) throws IOException {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      if (b)<a name="line.330"></a>
-<span class="sourceLineNo">331</span>         out.write(c);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      return this;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span>   //--------------------------------------------------------------------------------<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   // Overridden methods<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   //--------------------------------------------------------------------------------<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>   @Override /* Writer */<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   public SerializerWriter append(char c) throws IOException {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      out.write(c);<a name="line.342"></a>
+<span class="sourceLineNo">232</span>    */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   public SerializerWriter q() throws IOException {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      out.write(quoteChar);<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      return this;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>   /**<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    * Writes an indent to the writer if the {@code useWhitespace} setting is enabled.<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    *<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    * @param indent The number of tabs to indent.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    * @return This object (for method chaining).<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   public SerializerWriter i(int indent) throws IOException {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      if (useWhitespace &amp;&amp; indent &lt;= maxIndent)<a name="line.246"></a>
+<span class="sourceLineNo">247</span>         for (int i = 0; i &lt; indent; i++)<a name="line.247"></a>
+<span class="sourceLineNo">248</span>            out.write('\t');<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      return this;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   }<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>   /**<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    * Writes an end-of-line indent to the writer if the {@code useWhitespace} setting is enabled.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    *<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    * @param indent The number of tabs to indent.<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    * @return This object (for method chaining).<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    */<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   public SerializerWriter ie(int indent) throws IOException {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      if (useWhitespace &amp;&amp; indent &lt;= maxIndent-1)<a name="line.260"></a>
+<span class="sourceLineNo">261</span>         for (int i = 0; i &lt; indent; i++)<a name="line.261"></a>
+<span class="sourceLineNo">262</span>            out.write('\t');<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      return this;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   }<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>   /**<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    * Writes a newline to the writer if the {@code useWhitespace} setting is enabled.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    *<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    * @param indent The current indentation level.<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    * @return This object (for method chaining).<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    */<a name="line.272"></a>
+<span class="sourceLineNo">273</span>   public SerializerWriter nl(int indent) throws IOException {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      if (useWhitespace &amp;&amp; indent &lt;= maxIndent)<a name="line.274"></a>
+<span class="sourceLineNo">275</span>         out.write('\n');<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      return this;<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   }<a name="line.277"></a>
+<span class="sourceLineNo">278</span><a name="line.278"></a>
+<span class="sourceLineNo">279</span>   /**<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    * Writes a newline to the writer if the {@code useWhitespace} setting is enabled and the boolean flag is true.<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    *<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    * @param b The boolean flag.<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    * @param indent The current indentation level.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    * @return This object (for method chaining).<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    */<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   public SerializerWriter nlIf(boolean b, int indent) throws IOException {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      if (b &amp;&amp; useWhitespace &amp;&amp; indent &lt;= maxIndent)<a name="line.288"></a>
+<span class="sourceLineNo">289</span>         out.write('\n');<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      return this;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   }<a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292"></a>
+<span class="sourceLineNo">293</span>   /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    * Writes the specified text to the writer.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    *<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    * @param text The text to write.<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    * @return This object (for method chaining).<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>   public SerializerWriter append(Object text) throws IOException {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      out.append(text == null ? null : text.toString());<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      return this;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>   /**<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    * Writes the specified text to the writer.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    *<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    * @param text The text to write.<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    * @return This object (for method chaining).<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    */<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   public SerializerWriter append(String text) throws IOException {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      if (text != null)<a name="line.313"></a>
+<span class="sourceLineNo">314</span>         out.append(text);<a name="line.314"></a>
+<span class="sourceLineNo">315</span>      return this;<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   }<a name="line.316"></a>
+<span class="sourceLineNo">317</span><a name="line.317"></a>
+<span class="sourceLineNo">318</span>   /**<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    * Writes the specified text to the writer if b is true.<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    *<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    * @param b Boolean flag.<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    * @param text The text to write.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    * @return This object (for method chaining).<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    */<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   public SerializerWriter appendIf(boolean b, String text) throws IOException {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      if (b)<a name="line.327"></a>
+<span class="sourceLineNo">328</span>         out.write(text);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      return this;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>   /**<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    * Writes the specified text to the writer if b is true.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>    *<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    * @param b Boolean flag.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    * @param c The text to write.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    * @throws IOException If a problem occurred trying to write to the writer.<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    * @return This object (for method chaining).<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    */<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   public SerializerWriter appendIf(boolean b, char c) throws IOException {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      if (b)<a name="line.341"></a>
+<span class="sourceLineNo">342</span>         out.write(c);<a name="line.342"></a>
 <span class="sourceLineNo">343</span>      return this;<a name="line.343"></a>
 <span class="sourceLineNo">344</span>   }<a name="line.344"></a>
 <span class="sourceLineNo">345</span><a name="line.345"></a>
-<span class="sourceLineNo">346</span>   @Override /* Writer */<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   public void write(char[] cbuf, int off, int len) throws IOException {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      out.write(cbuf, off, len);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   }<a name="line.349"></a>
+<span class="sourceLineNo">346</span><a name="line.346"></a>
+<span class="sourceLineNo">347</span>   //--------------------------------------------------------------------------------<a name="line.347"></a>
+<span class="sourceLineNo">348</span>   // Overridden methods<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   //--------------------------------------------------------------------------------<a name="line.349"></a>
 <span class="sourceLineNo">350</span><a name="line.350"></a>
 <span class="sourceLineNo">351</span>   @Override /* Writer */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>   public void flush() throws IOException {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      out.flush();<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   }<a name="line.354"></a>
-<span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>   @Override /* Writer */<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   public void close() throws IOException {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      out.close();<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   }<a name="line.359"></a>
-<span class="sourceLineNo">360</span>}<a name="line.360"></a>
+<span class="sourceLineNo">352</span>   public SerializerWriter append(char c) throws IOException {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      out.write(c);<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      return this;<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   }<a name="line.355"></a>
+<span class="sourceLineNo">356</span><a name="line.356"></a>
+<span class="sourceLineNo">357</span>   @Override /* Writer */<a name="line.357"></a>
+<span class="sourceLineNo">358</span>   public void write(char[] cbuf, int off, int len) throws IOException {<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      out.write(cbuf, off, len);<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   }<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>   @Override /* Writer */<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   public void flush() throws IOException {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>      out.flush();<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   }<a name="line.365"></a>
+<span class="sourceLineNo">366</span><a name="line.366"></a>
+<span class="sourceLineNo">367</span>   @Override /* Writer */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   public void close() throws IOException {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      out.close();<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   }<a name="line.370"></a>
+<span class="sourceLineNo">371</span>}<a name="line.371"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/soap/SoapXmlSerializer.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/soap/SoapXmlSerializer.html b/content/site/apidocs/src-html/org/apache/juneau/soap/SoapXmlSerializer.html
index 810da35..d2e73e3 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/soap/SoapXmlSerializer.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/soap/SoapXmlSerializer.html
@@ -78,17 +78,18 @@
 <span class="sourceLineNo">070</span>         .attr("xmlns", "soap", s.getProperty(SOAPXML_SOAPAction, "http://www.w3.org/2003/05/soap-envelope"))<a name="line.70"></a>
 <span class="sourceLineNo">071</span>         .appendln("&gt;");<a name="line.71"></a>
 <span class="sourceLineNo">072</span>      w.sTag(1, "soap", "Body").nl(1);<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      super.doSerialize(s, o);<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      w.ie(1).eTag("soap", "Body").nl(1);<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      w.eTag("soap", "Envelope").nl(0);<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   }<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span>   @Override /* Serializer */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   public ObjectMap getResponseHeaders(ObjectMap properties) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      return new ObjectMap(super.getResponseHeaders(properties))<a name="line.80"></a>
-<span class="sourceLineNo">081</span>         .append("SOAPAction", properties.getString(SOAPXML_SOAPAction, "http://www.w3.org/2003/05/soap-envelope"));<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>}<a name="line.83"></a>
+<span class="sourceLineNo">073</span>      s.indent += 2;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      super.doSerialize(s, o);<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      w.ie(1).eTag("soap", "Body").nl(1);<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      w.eTag("soap", "Envelope").nl(0);<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   }<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>   @Override /* Serializer */<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   public ObjectMap getResponseHeaders(ObjectMap properties) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      return new ObjectMap(super.getResponseHeaders(properties))<a name="line.81"></a>
+<span class="sourceLineNo">082</span>         .append("SOAPAction", properties.getString(SOAPXML_SOAPAction, "http://www.w3.org/2003/05/soap-envelope"));<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   }<a name="line.83"></a>
+<span class="sourceLineNo">084</span>}<a name="line.84"></a>
 
 
 


[16/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/serializer/SerializerWriter.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/serializer/SerializerWriter.html b/content/site/apidocs/org/apache/juneau/serializer/SerializerWriter.html
index 36a4d1d..bb5fd86 100644
--- a/content/site/apidocs/org/apache/juneau/serializer/SerializerWriter.html
+++ b/content/site/apidocs/org/apache/juneau/serializer/SerializerWriter.html
@@ -121,7 +121,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.32">SerializerWriter</a>
+<pre>public class <a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.33">SerializerWriter</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a></pre>
 <div class="block">Simple wrapper around a standard <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> with additional methods.
 
@@ -399,7 +399,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>out</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> <a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.35">out</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a> <a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.36">out</a></pre>
 <div class="block">The underlying writer.</div>
 </li>
 </ul>
@@ -409,7 +409,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>useWhitespace</h4>
-<pre>protected final&nbsp;boolean <a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.38">useWhitespace</a></pre>
+<pre>protected final&nbsp;boolean <a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.39">useWhitespace</a></pre>
 <div class="block">Use-whitespace flag.</div>
 </li>
 </ul>
@@ -419,7 +419,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>maxIndent</h4>
-<pre>protected final&nbsp;int <a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.41">maxIndent</a></pre>
+<pre>protected final&nbsp;int <a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.42">maxIndent</a></pre>
 <div class="block">Max indentation levels.</div>
 </li>
 </ul>
@@ -429,7 +429,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>trimStrings</h4>
-<pre>protected final&nbsp;boolean <a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.44">trimStrings</a></pre>
+<pre>protected final&nbsp;boolean <a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.45">trimStrings</a></pre>
 <div class="block">Trim strings flag.</div>
 </li>
 </ul>
@@ -439,7 +439,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>quoteChar</h4>
-<pre>protected final&nbsp;char <a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.47">quoteChar</a></pre>
+<pre>protected final&nbsp;char <a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.48">quoteChar</a></pre>
 <div class="block">The quote character being used by this writer.</div>
 </li>
 </ul>
@@ -449,7 +449,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockListLast">
 <li class="blockList">
 <h4>uriResolver</h4>
-<pre>protected final&nbsp;<a href="../../../../org/apache/juneau/UriResolver.html" title="class in org.apache.juneau">UriResolver</a> <a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.50">uriResolver</a></pre>
+<pre>protected final&nbsp;<a href="../../../../org/apache/juneau/UriResolver.html" title="class in org.apache.juneau">UriResolver</a> <a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.51">uriResolver</a></pre>
 <div class="block">The URI resolver of the request.</div>
 </li>
 </ul>
@@ -467,7 +467,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SerializerWriter</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.62">SerializerWriter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;out,
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.63">SerializerWriter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;out,
                         boolean&nbsp;useWhitespace,
                         int&nbsp;maxIndent,
                         boolean&nbsp;trimStrings,
@@ -499,7 +499,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>cr</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.82">cr</a>(int&nbsp;depth)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.83">cr</a>(int&nbsp;depth)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Performs a carriage return.
 
@@ -521,7 +521,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>cre</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.98">cre</a>(int&nbsp;depth)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.99">cre</a>(int&nbsp;depth)
                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Performs a carriage return at the end of a line.
 
@@ -543,7 +543,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>appendln</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.113">appendln</a>(int&nbsp;indent,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.114">appendln</a>(int&nbsp;indent,
                                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;text)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes an indent (if the <code>useWhitespace</code> setting is enabled), followed by text, followed by a newline
@@ -565,7 +565,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>appendln</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.124">appendln</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;text)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.125">appendln</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;text)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes the specified text followed by a newline (if the <code>useWhitespace</code> setting is enabled).</div>
 <dl>
@@ -584,7 +584,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.136">append</a>(int&nbsp;indent,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.137">append</a>(int&nbsp;indent,
                                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;text)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes an indent (if the <code>useWhitespace</code> setting is enabled), followed by text.</div>
@@ -605,7 +605,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.148">append</a>(int&nbsp;indent,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.149">append</a>(int&nbsp;indent,
                                char&nbsp;c)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes an indent (if the <code>useWhitespace</code> setting is enabled), followed by text.</div>
@@ -626,7 +626,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>appendUri</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.186">appendUri</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;uri)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.197">appendUri</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;uri)
                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Appends the specified object as a URI.
 
@@ -654,7 +654,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.198">append</a>(char[]&nbsp;characters)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.209">append</a>(char[]&nbsp;characters)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Appends the specified characters to this writer.</div>
 <dl>
@@ -673,7 +673,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>s</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.210">s</a>()
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.221">s</a>()
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Adds a whitespace character to the output if the <code>useWhitespace</code> setting is enabled.</div>
 <dl>
@@ -690,7 +690,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>q</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.222">q</a>()
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.233">q</a>()
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Adds the quote character specified by the <code>quoteChar</code> setting to the output.</div>
 <dl>
@@ -707,7 +707,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>i</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.234">i</a>(int&nbsp;indent)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.245">i</a>(int&nbsp;indent)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes an indent to the writer if the <code>useWhitespace</code> setting is enabled.</div>
 <dl>
@@ -726,7 +726,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>ie</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.248">ie</a>(int&nbsp;indent)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.259">ie</a>(int&nbsp;indent)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes an end-of-line indent to the writer if the <code>useWhitespace</code> setting is enabled.</div>
 <dl>
@@ -745,7 +745,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>nl</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.262">nl</a>(int&nbsp;indent)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.273">nl</a>(int&nbsp;indent)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes a newline to the writer if the <code>useWhitespace</code> setting is enabled.</div>
 <dl>
@@ -764,7 +764,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>nlIf</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.276">nlIf</a>(boolean&nbsp;b,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.287">nlIf</a>(boolean&nbsp;b,
                              int&nbsp;indent)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes a newline to the writer if the <code>useWhitespace</code> setting is enabled and the boolean flag is true.</div>
@@ -785,7 +785,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.289">append</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;text)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.300">append</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;text)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes the specified text to the writer.</div>
 <dl>
@@ -804,7 +804,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.301">append</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;text)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.312">append</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;text)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes the specified text to the writer.</div>
 <dl>
@@ -823,7 +823,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>appendIf</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.315">appendIf</a>(boolean&nbsp;b,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.326">appendIf</a>(boolean&nbsp;b,
                                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;text)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes the specified text to the writer if b is true.</div>
@@ -844,7 +844,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>appendIf</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.329">appendIf</a>(boolean&nbsp;b,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.340">appendIf</a>(boolean&nbsp;b,
                                  char&nbsp;c)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Writes the specified text to the writer if b is true.</div>
@@ -865,7 +865,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.341">append</a>(char&nbsp;c)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerWriter.html" title="class in org.apache.juneau.serializer">SerializerWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.352">append</a>(char&nbsp;c)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -883,7 +883,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>write</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.347">write</a>(char[]&nbsp;cbuf,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.358">write</a>(char[]&nbsp;cbuf,
                   int&nbsp;off,
                   int&nbsp;len)
            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -901,7 +901,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockList">
 <li class="blockList">
 <h4>flush</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.352">flush</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.363">flush</a>()
            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -919,7 +919,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is
 <ul class="blockListLast">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.357">close</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/serializer/SerializerWriter.html#line.368">close</a>()
            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/soap/SoapXmlSerializer.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/soap/SoapXmlSerializer.html b/content/site/apidocs/org/apache/juneau/soap/SoapXmlSerializer.html
index 16c2fc0..c901ea4 100644
--- a/content/site/apidocs/org/apache/juneau/soap/SoapXmlSerializer.html
+++ b/content/site/apidocs/org/apache/juneau/soap/SoapXmlSerializer.html
@@ -344,7 +344,7 @@ extends <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="cl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getResponseHeaders</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/soap/SoapXmlSerializer.html#line.79">getResponseHeaders</a>(<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;properties)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/soap/SoapXmlSerializer.html#line.80">getResponseHeaders</a>(<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;properties)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/Serializer.html#getResponseHeaders-org.apache.juneau.ObjectMap-">Serializer</a></code></span></div>
 <div class="block">Optional method that specifies HTTP request headers for this serializer.
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/overview-summary.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/overview-summary.html b/content/site/apidocs/overview-summary.html
index 86780e6..16ac10d 100644
--- a/content/site/apidocs/overview-summary.html
+++ b/content/site/apidocs/overview-summary.html
@@ -2836,7 +2836,10 @@
       // "request:/..." URIs are relative to the request URI.
       // "servlet:/..." URIs are relative to the servlet URI.</jc>
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..',options:'servlet:/?method=OPTIONS'}"</js>
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
       ),
       
       <jc>// Properties that get applied to all serializers and parsers.</jc>
@@ -3787,7 +3790,9 @@
       path=<js>"/"</js>,
       messages=<js>"nls/RootResources"</js>,
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{options:'?method=OPTIONS'}"</js>
+         links={
+            <js>"options: ?method=OPTIONS"</js>
+         }
       ),
       children={
          HelloWorldResource.<jk>class</jk>, 
@@ -3893,7 +3898,10 @@
       messages=<js>"nls/HelloWorldResource"</js>, 
       path=<js>"/helloWorld"</js>, 
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..',options:'servlet:/?method=OPTIONS'}"</js>
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
       )
    ) 
    <jk>public class</jk> HelloWorldResource <jk>extends</jk> Resource { 
@@ -3983,7 +3991,10 @@
       path=<js>"/methodExample"</js>, 
       messages=<js>"nls/MethodExampleResource"</js>, 
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..',options:'servlet:/?method=OPTIONS'}"</js>
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
       )
    ) 
    <jk>public class</jk> MethodExampleResource <jk>extends</jk> Resource { 
@@ -4212,7 +4223,9 @@
       <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{options:'?method=OPTIONS'}"</js>
+         links={
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
       )
    )
       </p>
@@ -4322,6 +4335,7 @@
       </p>
       
       <h6 class='figure'>UrlEncodedForm.html</h6>
+      <b>TODO - Needs update</b>
       <p class='bcode'>
    <xt>&lt;html&gt;</xt> 
    <xt>&lt;head&gt;</xt> 
@@ -4339,8 +4353,8 @@
       <xt>&lt;/script&gt;</xt> 
    <xt>&lt;/head&gt;</xt> 
    <xt>&lt;body&gt;</xt> 
-      <xt>&lt;h3</xt> <xa>class</xa>=<xs>'title'</xs><xt>&gt;</xt>$R{servletTitle}<xt>&lt;/h3&gt;</xt> 
-      <xt>&lt;h5</xt> <xa>class</xa>=<xs>"description"</xs><xt>&gt;</xt>$R{servletDescription}<xt>&lt;/h5&gt;</xt> 
+      <xt>&lt;h1&gt;</xt>$R{servletTitle}<xt>&lt;/h1&gt;</xt> 
+      <xt>&lt;h2&gt;</xt>$R{servletDescription}<xt>&lt;/h2&gt;</xt> 
       <xt>&lt;div</xt> <xa>class</xa>=<xs>'data'</xs><xt>&gt;</xt> 
          <xt>&lt;form</xt> <xa>id</xa>=<xs>'form'</xs> <xa>action</xa>=<xs>'$R{servletURI}'</xs> <xa>method</xa>=<xs>'POST'</xs> <xa>target</xa>=<xs>'buff'</xs><xt>&gt;</xt> 
             <xt>&lt;table&gt;</xt> 
@@ -4497,7 +4511,10 @@
       path=<js>"/echo"</js>,
       messages=<js>"nls/RequestEchoResource"</js>,
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..',options:'servlet:/?method=OPTIONS'}"</js>,
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
       ),
       properties={
          <ja>@Property</ja>(name=<jsf>SERIALIZER_maxDepth</jsf>, value=<js>"10"</js>),
@@ -5021,8 +5038,11 @@
       // "servlet:/..." URIs are relative to the servlet URI.
       // "$C{...}" variables are pulled from the config file.</jc>
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..', options:'servlet:/?method=OPTIONS', 
-            source:'$C{Source/gitHub}/org/apache/juneau/examples/rest/addressbook/AddressBookResource.java'}"</js>
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>,
+            <js>"source: $C{Source/gitHub}/org/apache/juneau/examples/rest/addressbook/AddressBookResource.java"</js>
+         }
       ),
 
       <jc>// Properties that get applied to all serializers and parsers.</jc>
@@ -5744,7 +5764,10 @@
       description=<js>"Sample class showing how to use remoteable proxies. The list below are exposed services that 
          can be retrieved using RestClient.getProxyInterface(Class)."</js>, 
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..',options:'servlet:/?method=OPTIONS'}"</js>
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
       ),
       properties={ 
          <jc>// Allow us to use method=POST from a browser.</jc> 
@@ -5863,7 +5886,11 @@
       path=<js>"/tempDir"</js>, 
       messages=<js>"nls/TempDirResource"</js>, 
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..', options:'servlet:/?method=OPTIONS', upload:'servlet:/upload'}"</js>
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>,
+            <js>"upload: servlet:/upload"</js>
+         }
       ),
       properties={ 
          <ja>@Property</ja>(name=<js>"DirectoryResource.rootDir"</js>, value=<js>"$S{java.io.tmpdir}"</js>), 
@@ -5927,6 +5954,7 @@
       </p>
       
       <h6 class='figure'>TempDirUploadPage.html</h6>
+      <b>TODO - Needs update</b>
       <p class='bcode'>
    <xt>&lt;html&gt;</xt>
    <xt>&lt;head&gt;</xt>
@@ -5936,8 +5964,8 @@
       <xt>&lt;/style&gt;</xt>
    <xt>&lt;/head&gt;</xt>
    <xt>&lt;body&gt;</xt>
-      <xt>&lt;h3</xt> <xa>class</xa>=<xs>'title'</xs><xt>&gt;</xt>$R{servletTitle}<xt>&lt;/h3&gt;</xt>
-      <xt>&lt;h5</xt> <xa>class</xa>=<xs>"description"</xs><xt>&gt;</xt>$R{servletDescription}<xt>&lt;/h5&gt;</xt>
+      <xt>&lt;h1&gt;</xt>$R{servletTitle}<xt>&lt;/h1&gt;</xt>
+      <xt>&lt;h2&gt;</xt>$R{servletDescription}<xt>&lt;/h2&gt;</xt>
       <xt>&lt;div</xt> <xa>class</xa>=<xs>'data'</xs><xt>&gt;</xt>
          <xt>&lt;form</xt> <xa>id</xa>=<xs>'form'</xs> <xa>action</xa>=<xs>'$R{servletURI}/upload'</xs> <xa>method</xa>=<xs>'POST'</xs> <xa>target</xa>=<xs>'buff'</xs> <xa>enctype</xa>=<xs>"multipart/form-data"</xs><xt>&gt;</xt>
             <xt>&lt;input</xt> <xa>name</xa>=<xs>"contents"</xs> <xa>type</xa>=<xs>"file"</xs><xt>&gt;</xt><xt>&lt;button</xt> <xa>type</xa>=<xs>"submit"</xs><xt>&gt;</xt>Submit<xt>&lt;/button&gt;</xt>
@@ -5990,7 +6018,10 @@
       path=<js>"/atom"</js>, 
       messages=<js>"nls/AtomFeedResource"</js>, 
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..',options:'servlet:/?method=OPTIONS'}"</js>
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
       ),
       properties={ 
          <ja>@Property</ja>(name=<jsf>SERIALIZER_quoteChar</jsf>, value=<js>"'"</js>), 
@@ -6109,7 +6140,10 @@
       path=<js>"/docker"</js>, 
       title=<js>"Sample Docker resource"</js>, 
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..',options:'servlet:/?method=OPTIONS'}"</js> 
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
       )
    ) 
    <jk>public class</jk> DockerRegistryResource <jk>extends</jk> Resource { 
@@ -6199,7 +6233,10 @@
       title=<js>"Tumblr parser service"</js>, 
       description=<js>"Specify a URL to a Tumblr blog and parse the results."</js>, 
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..',options:'servlet:/?method=OPTIONS'}"</js> 
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
       )
    ) 
    <jk>public class</jk> TumblrParserResource <jk>extends</jk> Resource { 
@@ -6285,7 +6322,9 @@
       title=<js>"Photo REST service"</js>,
       description=<js>"Use a tool like Poster to upload and retrieve jpeg and png images."</js>,
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{options:'?method=OPTIONS'}"</js>
+         links={
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
       )
    )
    <jk>public class</jk> PhotosResource <jk>extends</jk> RestServletDefault {
@@ -6429,7 +6468,10 @@
       messages=<js>"nls/JsonSchemaResource"</js>, 
       title=<js>"Sample JSON-Schema document"</js>, 
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..',options:'servlet:/?method=OPTIONS'}"</js> 
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
       )
    ) 
    <jk>public class</jk> JsonSchemaResource <jk>extends</jk> ResourceJena { 
@@ -6517,7 +6559,10 @@
       title=<js>"SQL query service"</js>, 
       description=<js>"Executes queries against the local derby '$C{SqlQueryResource/connectionUrl}' database"</js>, 
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..',options:'servlet:/?method=OPTIONS'}"</js> 
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
       )
    ) 
    <jk>public class</jk> SqlQueryResource <jk>extends</jk> Resource { 
@@ -6611,6 +6656,7 @@
       </p>
       
       <h6 class='figure'>SqlQueryResource.html</h6>
+      <b>TODO - Needs update</b>
       <p class='bcode'>
    <xt>&lt;html&gt;</xt> 
    <xt>&lt;head&gt;</xt> 
@@ -6636,7 +6682,7 @@
       <xt>&lt;/script&gt;</xt> 
    <xt>&lt;/head&gt;</xt> 
    <xt>&lt;body&gt;</xt> 
-      <xt>&lt;h3</xt> <xa>class</xa>=<xs>'title'</xs><xt>&gt;</xt>SQL Query API<xt>&lt;/h3&gt;</xt> 
+      <xt>&lt;h1&gt;</xt>SQL Query API<xt>&lt;/h1&gt;</xt> 
       <xt>&lt;div</xt> <xa>class</xa>=<xs>'data'</xs><xt>&gt;</xt> 
          <xt>&lt;form</xt> <xa>action</xa>=<xs>'sqlQuery'</xs> <xa>method</xa>=<xs>'POST'</xs> <xa>target</xa>=<xs>'buf'</xs><xt>&gt;</xt> 
             <xt>&lt;table&gt;</xt> 
@@ -6709,7 +6755,11 @@
       title=<js>"Configuration"</js>, 
       description=<js>"Contents of configuration file."</js>, 
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..', options:'servlet:/?method=OPTIONS', edit:'servlet:/edit'}"</js>
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>,
+            <js>"edit: servlet:/edit"</js>
+         }
       )
    ) 
    <jk>public class</jk> ConfigResource <jk>extends</jk> Resource { 
@@ -6864,6 +6914,7 @@
       </p>
       
       <h6 class='figure'>ConfigEdit.html</h6>
+      <b>TODO - Needs update</b>
       <p class='bcode'>
    <xt>&lt;html&gt;</xt> 
    <xt>&lt;head&gt;</xt> 
@@ -6873,8 +6924,8 @@
       <xt>&lt;/style&gt;</xt> 
    <xt>&lt;/head&gt;</xt> 
    <xt>&lt;body&gt;</xt> 
-      <xt>&lt;h3</xt> <xa>class</xa>=<xs>'title'</xs><xt>&gt;</xt>$R{servletTitle}<xt>&lt;/h3&gt;</xt> 
-      <xt>&lt;h5</xt> <xa>class</xa>=<xs>'description'</xs><xt>&gt;</xt>Edit config file<xt>&lt;/h5&gt;</xt> 
+      <xt>&lt;h1&gt;</xt>$R{servletTitle}<xt>&lt;/h1&gt;</xt> 
+      <xt>&lt;h2&gt;</xt>Edit config file<xt>&lt;/h2&gt;</xt> 
       <xt>&lt;p</xt> <xa>class</xa>=<xs>'links'</xs><xt>&gt;</xt><xt>&lt;a</xt> <xa>href</xa>=<xs>'$R{requestParentURI}'</xs><xt>&gt;</xt>up<xt>&lt;/a&gt;</xt> - <xt>&lt;a</xt> <xa>href=<xs>'$R{servletURI}?method</xa>=OPTIONS'</xs><xt>&gt;</xt>options<xt>&lt;/a&gt;</xt><xt>&lt;/p&gt;</xt> 
       <xt>&lt;form</xt> <xa>id</xa>=<xs>'form'</xs> <xa>action</xa>=<xs>'$R{servletURI}'</xs> <xa>method</xa>=<xs>'POST'</xs> <xa>enctype</xa>=<xs>'application/x-www-form-urlencoded'</xs><xt>&gt;</xt> 
          <xt>&lt;div</xt> <xa>class</xa>=<xs>'data'</xs><xt>&gt;</xt> 
@@ -7227,6 +7278,54 @@
             <br>For those nolstalgic for old times, there's also 'original':
             <br><img src='doc-files/ReleaseNotes_631_OriginalStyle.png'>
          <li>
+            Simplified the stylesheets and HTML code.
+            <ul>
+               <li>Replaced <code><xt>&lt;h3</xt> <xa>class</xa>=<xs>'title'</xs><xt>&gt;</xt></code> with just <code><xt>&lt;header&gt;</xt>/<xt>&lt;h1&gt;</xt></code>.
+               <li>Replaced <code><xt>&lt;h5</xt> <xa>class</xa>=<xs>'description'</xs><xt>&gt;</xt></code> with just <code><xt>&lt;header&gt;</xt>/<xt>&lt;h2&gt;</xt></code>.
+               <li>Replaced <code><xt>&lt;a</xt> <xa>class</xa>=<xs>'link'</xs><xt>&gt;</xt></code> with just <code><xt>&lt;nav&gt;</xt>/<xt>&lt;a&gt;</xt></code>.
+               <li>The nav links are now an ordered list of elements.
+            </ul>
+         <li>
+            Modifications to the following <ja>@HtmlDoc</ja> annotations:
+            <ul>
+               <li><a href="org/apache/juneau/rest/annotation/HtmlDoc.html#links--"><code>links()</code></a> - Now an array of strings instead of a JSON object.  Simplified syntax.
+                  <br>For example:
+                  <p class='bcode'>
+   <jc>// Old syntax</jc>
+   htmldoc=<ja>@HtmlDoc</ja>(
+      links=<js>"{"</js>
+         + <js>"up:'request:/..',"</js>
+         + <js>"options:'servlet:/?method=OPTIONS',"</js>
+         + <js>"contentTypes:'$W{contentTypeMenuItem}',"</js>
+         + <js>"styles:'$W{styleMenuItem}',"</js>
+         + <js>"source:'$C{Source/gitHub}/org/apache/juneau/examples/rest/PetStoreResource.java'"</js>
+      + <js>"}"</js>
+   )
+   
+   <jc>// New syntax</jc>
+   htmldoc=<ja>@HtmlDoc</ja>(
+      links={
+         <js>"up: request:/.."</js>,
+         <js>"options: servlet:/?method=OPTIONS"</js>,
+         <js>"$W{contentTypeMenuItem}"</js>,
+         <js>"$W{styleMenuItem}"</js>,
+         <js>"source: $C{Source/gitHub}/org/apache/juneau/examples/rest/PetStoreResource.java"</js>
+      }
+   )
+                  </p>
+                  Previous syntax will still work, but you're encouraged to use the simplified syntax.
+               <li>Several annotations are now arrays of strings instead of simple strings.
+                  Values are simply concatenated with newlines which makes multi-line values cleaner.
+                  <ul>
+                     <li><a href="org/apache/juneau/rest/annotation/HtmlDoc.html#header--"><code>header()</code></a>
+                     <li><a href="org/apache/juneau/rest/annotation/HtmlDoc.html#nav--"><code>nav()</code></a>
+                     <li><a href="org/apache/juneau/rest/annotation/HtmlDoc.html#aside--"><code>aside()</code></a>
+                     <li><a href="org/apache/juneau/rest/annotation/HtmlDoc.html#footer--"><code>footer()</code></a>
+                     <li><a href="org/apache/juneau/rest/annotation/HtmlDoc.html#script--"><code>script()</code></a>
+                     <li><a href="org/apache/juneau/rest/annotation/HtmlDoc.html#style--"><code>style()</code></a>
+                  </ul>
+            </ul>
+         <li>
             Improvements made to the <a href="org/apache/juneau/rest/widget/Widget.html" title="class in org.apache.juneau.rest.widget"><code>Widget</code></a> API.
             <ul>
                <li>
@@ -7290,9 +7389,9 @@
       <h6 class='topic'>org.apache.juneau.rest.examples</h6>
       <ul class='spaced-list'>
          <li>
-            Added CONTENT-TYPE menu items to most pages.
+            Added CONTENT-TYPE and STYLES menu items to most pages.
          <li>
-            Added improved QUERY menu items to PetStore page.
+            Added improved QUERY menu item to PetStore page.
       </ul>
    </div>
    
@@ -7619,7 +7718,7 @@
                <li><a href="org/apache/juneau/rest/RestConfig.html#setHtmlDescription-java.lang.String-"><code>setHtmlDescription(String)</code></a>
                <li><a href="org/apache/juneau/rest/RestConfig.html#setHtmlBranding-java.lang.String-"><code>setHtmlBranding(String)</code></a>
                <li><a href="org/apache/juneau/rest/RestConfig.html#setHtmlHeader-java.lang.String-"><code>setHtmlHeader(String)</code></a>
-               <li><a href="org/apache/juneau/rest/RestConfig.html#setHtmlLinks-java.lang.String-"><code>setHtmlLinks(String)</code></a>
+               <li><code><del>setHtmlLinks(String)</del></code>
                <li><a href="org/apache/juneau/rest/RestConfig.html#setHtmlNav-java.lang.String-"><code>setHtmlNav(String)</code></a>
                <li><a href="org/apache/juneau/rest/RestConfig.html#setHtmlAside-java.lang.String-"><code>setHtmlAside(String)</code></a>
                <li><a href="org/apache/juneau/rest/RestConfig.html#setHtmlFooter-java.lang.String-"><code>setHtmlFooter(String)</code></a>
@@ -7638,7 +7737,7 @@
                <li><a href="org/apache/juneau/rest/RestResponse.html#setHtmlDescription-java.lang.Object-"><code>setHtmlDescription(Object)</code></a>
                <li><a href="org/apache/juneau/rest/RestResponse.html#setHtmlBranding-java.lang.Object-"><code>setHtmlBranding(Object)</code></a>
                <li><a href="org/apache/juneau/rest/RestResponse.html#setHtmlHeader-java.lang.Object-"><code>setHtmlHeader(Object)</code></a>
-               <li><a href="org/apache/juneau/rest/RestResponse.html#setHtmlLinks-java.lang.Object-"><code>setHtmlLinks(Object)</code></a>
+               <li><code><del>setHtmlLinks(Object)</del></code>
                <li><a href="org/apache/juneau/rest/RestResponse.html#setHtmlNav-java.lang.Object-"><code>setHtmlNav(Object)</code></a>
                <li><a href="org/apache/juneau/rest/RestResponse.html#setHtmlAside-java.lang.Object-"><code>setHtmlAside(Object)</code></a>
                <li><a href="org/apache/juneau/rest/RestResponse.html#setHtmlFooter-java.lang.Object-"><code>setHtmlFooter(Object)</code></a>



[06/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/rest/RestContext.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/RestContext.html b/content/site/apidocs/src-html/org/apache/juneau/rest/RestContext.html
index 77f28a8..8ffdde1 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/RestContext.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/RestContext.html
@@ -362,1521 +362,1523 @@
 <span class="sourceLineNo">354</span>      htmlDescription,<a name="line.354"></a>
 <span class="sourceLineNo">355</span>      htmlBranding,<a name="line.355"></a>
 <span class="sourceLineNo">356</span>      htmlHeader,<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      htmlLinks,<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      htmlNav,<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      htmlAside,<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      htmlStyle,<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      htmlStylesheet,<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      htmlScript,<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      htmlFooter,<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      htmlNoResultsMessage;<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   private final boolean htmlNoWrap;<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   private final HtmlDocTemplate htmlTemplate;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   private final Map&lt;String,Widget&gt; widgets;<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>   private final Set&lt;String&gt; allowMethodParams;<a name="line.369"></a>
-<span class="sourceLineNo">370</span><a name="line.370"></a>
-<span class="sourceLineNo">371</span>   private final ObjectMap properties;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   private final Class&lt;?&gt;[]<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      beanFilters,<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      pojoSwaps;<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   private final Map&lt;Class&lt;?&gt;,RestParam&gt; paramResolvers;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   private final SerializerGroup serializers;<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   private final ParserGroup parsers;<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   private final UrlEncodingSerializer urlEncodingSerializer;<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   private final UrlEncodingParser urlEncodingParser;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   private final EncoderGroup encoders;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   private final MediaType[]<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      supportedContentTypes,<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      supportedAcceptTypes;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   private final Map&lt;String,String&gt; defaultRequestHeaders;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   private final Map&lt;String,Object&gt; defaultResponseHeaders;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   private final BeanContext beanContext;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   private final RestConverter[] converters;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   private final RestGuard[] guards;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   private final ResponseHandler[] responseHandlers;<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   private final MimetypesFileTypeMap mimetypesFileTypeMap;<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   private final StreamResource favIcon;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   private final Map&lt;String,String&gt; staticFilesMap;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   private final String[] staticFilesPrefixes;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   private final MessageBundle msgs;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   private final ConfigFile configFile;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   private final VarResolver varResolver;<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   private final Map&lt;String,CallRouter&gt; callRouters;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   private final Map&lt;String,CallMethod&gt; callMethods;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   private final Map&lt;String,RestContext&gt; childResources;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   private final RestLogger logger;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   private final RestCallHandler callHandler;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   private final RestInfoProvider infoProvider;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   private final RestException initException;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   private final RestContext parentContext;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>   // In-memory cache of images and stylesheets in the org.apache.juneau.rest.htdocs package.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   private final Map&lt;String,StreamResource&gt; staticFilesCache = new ConcurrentHashMap&lt;String,StreamResource&gt;();<a name="line.407"></a>
-<span class="sourceLineNo">408</span><a name="line.408"></a>
-<span class="sourceLineNo">409</span>   private final ResourceFinder resourceFinder;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   private final ConcurrentHashMap&lt;Integer,AtomicInteger&gt; stackTraceHashes = new ConcurrentHashMap&lt;Integer,AtomicInteger&gt;();<a name="line.410"></a>
-<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">357</span>      htmlNav,<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      htmlAside,<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      htmlStyle,<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      htmlStylesheet,<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      htmlScript,<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      htmlFooter,<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      htmlNoResultsMessage;<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   private final String[]<a name="line.364"></a>
+<span class="sourceLineNo">365</span>      htmlLinks;<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   private final boolean htmlNoWrap;<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   private final HtmlDocTemplate htmlTemplate;<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   private final Map&lt;String,Widget&gt; widgets;<a name="line.368"></a>
+<span class="sourceLineNo">369</span><a name="line.369"></a>
+<span class="sourceLineNo">370</span>   private final Set&lt;String&gt; allowMethodParams;<a name="line.370"></a>
+<span class="sourceLineNo">371</span><a name="line.371"></a>
+<span class="sourceLineNo">372</span>   private final ObjectMap properties;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   private final Class&lt;?&gt;[]<a name="line.373"></a>
+<span class="sourceLineNo">374</span>      beanFilters,<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      pojoSwaps;<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   private final Map&lt;Class&lt;?&gt;,RestParam&gt; paramResolvers;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   private final SerializerGroup serializers;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   private final ParserGroup parsers;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   private final UrlEncodingSerializer urlEncodingSerializer;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   private final UrlEncodingParser urlEncodingParser;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   private final EncoderGroup encoders;<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   private final MediaType[]<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      supportedContentTypes,<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      supportedAcceptTypes;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   private final Map&lt;String,String&gt; defaultRequestHeaders;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   private final Map&lt;String,Object&gt; defaultResponseHeaders;<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   private final BeanContext beanContext;<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   private final RestConverter[] converters;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   private final RestGuard[] guards;<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   private final ResponseHandler[] responseHandlers;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   private final MimetypesFileTypeMap mimetypesFileTypeMap;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   private final StreamResource favIcon;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>   private final Map&lt;String,String&gt; staticFilesMap;<a name="line.393"></a>
+<span class="sourceLineNo">394</span>   private final String[] staticFilesPrefixes;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   private final MessageBundle msgs;<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   private final ConfigFile configFile;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   private final VarResolver varResolver;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   private final Map&lt;String,CallRouter&gt; callRouters;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   private final Map&lt;String,CallMethod&gt; callMethods;<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   private final Map&lt;String,RestContext&gt; childResources;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   private final RestLogger logger;<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   private final RestCallHandler callHandler;<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   private final RestInfoProvider infoProvider;<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   private final RestException initException;<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   private final RestContext parentContext;<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>   // In-memory cache of images and stylesheets in the org.apache.juneau.rest.htdocs package.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   private final Map&lt;String,StreamResource&gt; staticFilesCache = new ConcurrentHashMap&lt;String,StreamResource&gt;();<a name="line.408"></a>
+<span class="sourceLineNo">409</span><a name="line.409"></a>
+<span class="sourceLineNo">410</span>   private final ResourceFinder resourceFinder;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   private final ConcurrentHashMap&lt;Integer,AtomicInteger&gt; stackTraceHashes = new ConcurrentHashMap&lt;Integer,AtomicInteger&gt;();<a name="line.411"></a>
 <span class="sourceLineNo">412</span><a name="line.412"></a>
-<span class="sourceLineNo">413</span>   /**<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    * Constructor.<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    *<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    * @param resource The resource class (a class annotated with {@link RestResource @RestResource}).<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    * @param config The servlet configuration object.<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    * @throws Exception If any initialization problems were encountered.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   @SuppressWarnings("unchecked")<a name="line.420"></a>
-<span class="sourceLineNo">421</span>   public RestContext(Object resource, RestConfig config) throws Exception {<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      super(null);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      RestException _initException = null;<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      try {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>         this.resource = resource;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>         this.config = config;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>         this.resourceFinder = new ResourceFinder(resource.getClass());<a name="line.427"></a>
-<span class="sourceLineNo">428</span>         this.parentContext = config.parentContext;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>         Builder b = new Builder(resource, config);<a name="line.430"></a>
-<span class="sourceLineNo">431</span>         this.allowHeaderParams = b.allowHeaderParams;<a name="line.431"></a>
-<span class="sourceLineNo">432</span>         this.allowBodyParam = b.allowBodyParam;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>         this.renderResponseStackTraces = b.renderResponseStackTraces;<a name="line.433"></a>
-<span class="sourceLineNo">434</span>         this.useStackTraceHashes = b.useStackTraceHashes;<a name="line.434"></a>
-<span class="sourceLineNo">435</span>         this.allowMethodParams = Collections.unmodifiableSet(b.allowMethodParams);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>         this.defaultCharset = b.defaultCharset;<a name="line.436"></a>
-<span class="sourceLineNo">437</span>         this.paramFormat = b.paramFormat;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>         this.varResolver = b.varResolver;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>         this.configFile = b.configFile;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>         this.properties = b.properties;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>         this.beanFilters = b.beanFilters;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>         this.pojoSwaps = b.pojoSwaps;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>         this.paramResolvers = Collections.unmodifiableMap(b.paramResolvers);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>         this.serializers = b.serializers;<a name="line.444"></a>
-<span class="sourceLineNo">445</span>         this.parsers = b.parsers;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>         this.urlEncodingSerializer = b.urlEncodingSerializer;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>         this.urlEncodingParser = b.urlEncodingParser;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>         this.encoders = b.encoders;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>         this.supportedContentTypes = toObjectArray(b.supportedContentTypes, MediaType.class);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>         this.supportedAcceptTypes = toObjectArray(b.supportedAcceptTypes, MediaType.class);<a name="line.450"></a>
-<span class="sourceLineNo">451</span>         this.clientVersionHeader = b.clientVersionHeader;<a name="line.451"></a>
-<span class="sourceLineNo">452</span>         this.defaultRequestHeaders = Collections.unmodifiableMap(b.defaultRequestHeaders);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>         this.defaultResponseHeaders = Collections.unmodifiableMap(b.defaultResponseHeaders);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>         this.beanContext = b.beanContext;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>         this.converters = b.converters.toArray(new RestConverter[b.converters.size()]);<a name="line.455"></a>
-<span class="sourceLineNo">456</span>         this.guards = b.guards.toArray(new RestGuard[b.guards.size()]);<a name="line.456"></a>
-<span class="sourceLineNo">457</span>         this.responseHandlers = toObjectArray(b.responseHandlers, ResponseHandler.class);<a name="line.457"></a>
-<span class="sourceLineNo">458</span>         this.mimetypesFileTypeMap = b.mimetypesFileTypeMap;<a name="line.458"></a>
-<span class="sourceLineNo">459</span>         this.favIcon = b.favIcon;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>         this.staticFilesMap = Collections.unmodifiableMap(b.staticFilesMap);<a name="line.460"></a>
-<span class="sourceLineNo">461</span>         this.staticFilesPrefixes = b.staticFilesPrefixes;<a name="line.461"></a>
-<span class="sourceLineNo">462</span>         this.msgs = b.messageBundle;<a name="line.462"></a>
-<span class="sourceLineNo">463</span>         this.childResources = Collections.synchronizedMap(new LinkedHashMap&lt;String,RestContext&gt;());  // Not unmodifiable on purpose so that children can be replaced.<a name="line.463"></a>
-<span class="sourceLineNo">464</span>         this.logger = b.logger;<a name="line.464"></a>
-<span class="sourceLineNo">465</span>         this.fullPath = b.fullPath;<a name="line.465"></a>
-<span class="sourceLineNo">466</span>         this.widgets = Collections.unmodifiableMap(b.widgets);<a name="line.466"></a>
-<span class="sourceLineNo">467</span><a name="line.467"></a>
-<span class="sourceLineNo">468</span>         this.htmlTitle = b.htmlTitle;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>         this.htmlDescription = b.htmlDescription;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>         this.htmlBranding = b.htmlBranding;<a name="line.470"></a>
-<span class="sourceLineNo">471</span>         this.htmlHeader = b.htmlHeader;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>         this.htmlLinks = b.htmlLinks;<a name="line.472"></a>
-<span class="sourceLineNo">473</span>         this.htmlNav = b.htmlNav;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>         this.htmlAside = b.htmlAside;<a name="line.474"></a>
-<span class="sourceLineNo">475</span>         this.htmlStyle = b.htmlStyle;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>         this.htmlStylesheet = b.htmlStylesheet;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>         this.htmlScript = b.htmlScript;<a name="line.477"></a>
-<span class="sourceLineNo">478</span>         this.htmlFooter = b.htmlFooter;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>         this.htmlNoWrap = b.htmlNoWrap;<a name="line.479"></a>
-<span class="sourceLineNo">480</span>         this.htmlNoResultsMessage = b.htmlNoResultsMessage;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>         this.htmlTemplate = b.htmlTemplate;<a name="line.481"></a>
-<span class="sourceLineNo">482</span><a name="line.482"></a>
-<span class="sourceLineNo">483</span>         //----------------------------------------------------------------------------------------------------<a name="line.483"></a>
-<span class="sourceLineNo">484</span>         // Initialize the child resources.<a name="line.484"></a>
-<span class="sourceLineNo">485</span>         // Done after initializing fields above since we pass this object to the child resources.<a name="line.485"></a>
-<span class="sourceLineNo">486</span>         //----------------------------------------------------------------------------------------------------<a name="line.486"></a>
-<span class="sourceLineNo">487</span>         List&lt;String&gt; methodsFound = new LinkedList&lt;String&gt;();   // Temporary to help debug transient duplicate method issue.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>         Map&lt;String,CallRouter.Builder&gt; routers = new LinkedHashMap&lt;String,CallRouter.Builder&gt;();<a name="line.488"></a>
-<span class="sourceLineNo">489</span>         Map&lt;String,CallMethod&gt; _javaRestMethods = new LinkedHashMap&lt;String,CallMethod&gt;();<a name="line.489"></a>
-<span class="sourceLineNo">490</span>         for (java.lang.reflect.Method method : resource.getClass().getMethods()) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>            if (method.isAnnotationPresent(RestMethod.class)) {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>               RestMethod a = method.getAnnotation(RestMethod.class);<a name="line.492"></a>
-<span class="sourceLineNo">493</span>               methodsFound.add(method.getName() + "," + a.name() + "," + a.path());<a name="line.493"></a>
-<span class="sourceLineNo">494</span>               try {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>                  if (! Modifier.isPublic(method.getModifiers()))<a name="line.495"></a>
-<span class="sourceLineNo">496</span>                     throw new RestServletException("@RestMethod method {0}.{1} must be defined as public.", this.getClass().getName(), method.getName());<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>                  CallMethod sm = new CallMethod(resource, method, this);<a name="line.498"></a>
-<span class="sourceLineNo">499</span>                  String httpMethod = sm.getHttpMethod();<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span>                  // PROXY is a special case where a method returns an interface that we<a name="line.501"></a>
-<span class="sourceLineNo">502</span>                  // can perform REST calls against.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>                  // We override the CallMethod.invoke() method to insert our logic.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>                  if ("PROXY".equals(httpMethod)) {<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>                     final ClassMeta&lt;?&gt; interfaceClass = beanContext.getClassMeta(method.getGenericReturnType());<a name="line.506"></a>
-<span class="sourceLineNo">507</span>                     final Map&lt;String,Method&gt; remoteableMethods = interfaceClass.getRemoteableMethods();<a name="line.507"></a>
-<span class="sourceLineNo">508</span>                     if (remoteableMethods.isEmpty())<a name="line.508"></a>
-<span class="sourceLineNo">509</span>                        throw new RestException(SC_INTERNAL_SERVER_ERROR, "Method {0} returns an interface {1} that doesn't define any remoteable methods.", getMethodSignature(method), interfaceClass.getReadableName());<a name="line.509"></a>
-<span class="sourceLineNo">510</span><a name="line.510"></a>
-<span class="sourceLineNo">511</span>                     sm = new CallMethod(resource, method, this) {<a name="line.511"></a>
-<span class="sourceLineNo">512</span><a name="line.512"></a>
-<span class="sourceLineNo">513</span>                        @Override<a name="line.513"></a>
-<span class="sourceLineNo">514</span>                        int invoke(String pathInfo, RestRequest req, RestResponse res) throws RestException {<a name="line.514"></a>
-<span class="sourceLineNo">515</span><a name="line.515"></a>
-<span class="sourceLineNo">516</span>                           int rc = super.invoke(pathInfo, req, res);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>                           if (rc != SC_OK)<a name="line.517"></a>
-<span class="sourceLineNo">518</span>                              return rc;<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>                           final Object o = res.getOutput();<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span>                           if ("GET".equals(req.getMethod())) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span>                              res.setOutput(getMethodInfo(remoteableMethods.values()));<a name="line.523"></a>
-<span class="sourceLineNo">524</span>                              return SC_OK;<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span>                           } else if ("POST".equals(req.getMethod())) {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>                              if (pathInfo.indexOf('/') != -1)<a name="line.527"></a>
-<span class="sourceLineNo">528</span>                                 pathInfo = pathInfo.substring(pathInfo.lastIndexOf('/')+1);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>                              pathInfo = urlDecode(pathInfo);<a name="line.529"></a>
-<span class="sourceLineNo">530</span>                              java.lang.reflect.Method m = remoteableMethods.get(pathInfo);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>                              if (m != null) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>                                 try {<a name="line.532"></a>
-<span class="sourceLineNo">533</span>                                    // Parse the args and invoke the method.<a name="line.533"></a>
-<span class="sourceLineNo">534</span>                                    Parser p = req.getBody().getParser();<a name="line.534"></a>
-<span class="sourceLineNo">535</span>                                    Object input = p.isReaderParser() ? req.getReader() : req.getInputStream();<a name="line.535"></a>
-<span class="sourceLineNo">536</span>                                    Object output = m.invoke(o, p.parseArgs(input, m.getGenericParameterTypes()));<a name="line.536"></a>
-<span class="sourceLineNo">537</span>                                    res.setOutput(output);<a name="line.537"></a>
-<span class="sourceLineNo">538</span>                                    return SC_OK;<a name="line.538"></a>
-<span class="sourceLineNo">539</span>                                 } catch (Exception e) {<a name="line.539"></a>
-<span class="sourceLineNo">540</span>                                    throw new RestException(SC_INTERNAL_SERVER_ERROR, e);<a name="line.540"></a>
-<span class="sourceLineNo">541</span>                                 }<a name="line.541"></a>
-<span class="sourceLineNo">542</span>                              }<a name="line.542"></a>
-<span class="sourceLineNo">543</span>                           }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>                           return SC_NOT_FOUND;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>                        }<a name="line.545"></a>
-<span class="sourceLineNo">546</span>                     };<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>                     _javaRestMethods.put(method.getName(), sm);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>                     addToRouter(routers, "GET", sm);<a name="line.549"></a>
-<span class="sourceLineNo">550</span>                     addToRouter(routers, "POST", sm);<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>                  } else {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>                     _javaRestMethods.put(method.getName(), sm);<a name="line.553"></a>
-<span class="sourceLineNo">554</span>                     addToRouter(routers, httpMethod, sm);<a name="line.554"></a>
-<span class="sourceLineNo">555</span>                  }<a name="line.555"></a>
-<span class="sourceLineNo">556</span>               } catch (RestServletException e) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span>                  throw new RestServletException("Problem occurred trying to serialize methods on class {0}, methods={1}", this.getClass().getName(), JsonSerializer.DEFAULT_LAX.serialize(methodsFound)).initCause(e);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>               }<a name="line.558"></a>
-<span class="sourceLineNo">559</span>            }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>         }<a name="line.560"></a>
-<span class="sourceLineNo">561</span>         this.callMethods = Collections.unmodifiableMap(_javaRestMethods);<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>         Map&lt;String,CallRouter&gt; _callRouters = new LinkedHashMap&lt;String,CallRouter&gt;();<a name="line.563"></a>
-<span class="sourceLineNo">564</span>         for (CallRouter.Builder crb : routers.values())<a name="line.564"></a>
-<span class="sourceLineNo">565</span>            _callRouters.put(crb.getHttpMethodName(), crb.build());<a name="line.565"></a>
-<span class="sourceLineNo">566</span>         this.callRouters = Collections.unmodifiableMap(_callRouters);<a name="line.566"></a>
-<span class="sourceLineNo">567</span><a name="line.567"></a>
-<span class="sourceLineNo">568</span>         // Initialize our child resources.<a name="line.568"></a>
-<span class="sourceLineNo">569</span>         RestResourceResolver rrr = resolve(RestResourceResolver.class, config.resourceResolver);<a name="line.569"></a>
-<span class="sourceLineNo">570</span>         for (Object o : config.childResources) {<a name="line.570"></a>
-<span class="sourceLineNo">571</span>            String path = null;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>            Object r = null;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>            if (o instanceof Pair) {<a name="line.573"></a>
-<span class="sourceLineNo">574</span>               Pair&lt;String,Object&gt; p = (Pair&lt;String,Object&gt;)o;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>               path = p.first();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>               r = p.second();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>            } else if (o instanceof Class&lt;?&gt;) {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>               Class&lt;?&gt; c = (Class&lt;?&gt;)o;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>               r = c;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>            } else {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>               r = o;<a name="line.581"></a>
-<span class="sourceLineNo">582</span>            }<a name="line.582"></a>
-<span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span>            RestConfig childConfig = null;<a name="line.584"></a>
-<span class="sourceLineNo">585</span><a name="line.585"></a>
-<span class="sourceLineNo">586</span>            if (o instanceof Class) {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>               Class&lt;?&gt; oc = (Class&lt;?&gt;)o;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>               childConfig = new RestConfig(config.inner, oc, this);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>               r = rrr.resolve(oc, childConfig);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>            } else {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>               r = o;<a name="line.591"></a>
-<span class="sourceLineNo">592</span>               childConfig = new RestConfig(config.inner, o.getClass(), this);<a name="line.592"></a>
-<span class="sourceLineNo">593</span>            }<a name="line.593"></a>
-<span class="sourceLineNo">594</span><a name="line.594"></a>
-<span class="sourceLineNo">595</span>            if (r instanceof RestServlet) {<a name="line.595"></a>
-<span class="sourceLineNo">596</span>               RestServlet rs = (RestServlet)r;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>               rs.init(childConfig);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>               if (rs.getContext() == null)<a name="line.598"></a>
-<span class="sourceLineNo">599</span>                  throw new RestException(SC_INTERNAL_SERVER_ERROR, "Servlet {0} not initialized.  init(RestConfig) was not called.  This can occur if you've overridden this method but didn't call super.init(RestConfig).", rs.getClass().getName());<a name="line.599"></a>
-<span class="sourceLineNo">600</span>               path = childConfig.path;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>               childResources.put(path, rs.getContext());<a name="line.601"></a>
-<span class="sourceLineNo">602</span>            } else {<a name="line.602"></a>
-<span class="sourceLineNo">603</span><a name="line.603"></a>
-<span class="sourceLineNo">604</span>               // Call the init(RestConfig) method.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>               java.lang.reflect.Method m2 = findPublicMethod(r.getClass(), "init", Void.class, RestConfig.class);<a name="line.605"></a>
-<span class="sourceLineNo">606</span>               if (m2 != null)<a name="line.606"></a>
-<span class="sourceLineNo">607</span>                  m2.invoke(r, childConfig);<a name="line.607"></a>
-<span class="sourceLineNo">608</span><a name="line.608"></a>
-<span class="sourceLineNo">609</span>               RestContext rc2 = new RestContext(r, childConfig);<a name="line.609"></a>
-<span class="sourceLineNo">610</span><a name="line.610"></a>
-<span class="sourceLineNo">611</span>               // Call the init(RestContext) method.<a name="line.611"></a>
-<span class="sourceLineNo">612</span>               m2 = findPublicMethod(r.getClass(), "init", Void.class, RestContext.class);<a name="line.612"></a>
-<span class="sourceLineNo">613</span>               if (m2 != null)<a name="line.613"></a>
-<span class="sourceLineNo">614</span>                  m2.invoke(r, rc2);<a name="line.614"></a>
-<span class="sourceLineNo">615</span><a name="line.615"></a>
-<span class="sourceLineNo">616</span>               path = childConfig.path;<a name="line.616"></a>
-<span class="sourceLineNo">617</span>               childResources.put(path, rc2);<a name="line.617"></a>
-<span class="sourceLineNo">618</span>            }<a name="line.618"></a>
-<span class="sourceLineNo">619</span>         }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>         callHandler = config.callHandler == null ? new RestCallHandler(this) : resolve(RestCallHandler.class, config.callHandler, this);<a name="line.621"></a>
-<span class="sourceLineNo">622</span>         infoProvider = config.infoProvider == null ? new RestInfoProvider(this) : resolve(RestInfoProvider.class, config.infoProvider, this);<a name="line.622"></a>
-<span class="sourceLineNo">623</span><a name="line.623"></a>
-<span class="sourceLineNo">624</span>      } catch (RestException e) {<a name="line.624"></a>
-<span class="sourceLineNo">625</span>         _initException = e;<a name="line.625"></a>
-<span class="sourceLineNo">626</span>         throw e;<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      } catch (Exception e) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>         _initException = new RestException(SC_INTERNAL_SERVER_ERROR, e);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>         throw e;<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      } finally {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>         initException = _initException;<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      }<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   }<a name="line.633"></a>
-<span class="sourceLineNo">634</span><a name="line.634"></a>
-<span class="sourceLineNo">635</span>   private static void addToRouter(Map&lt;String, CallRouter.Builder&gt; routers, String httpMethodName, CallMethod cm) throws RestServletException {<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      if (! routers.containsKey(httpMethodName))<a name="line.636"></a>
-<span class="sourceLineNo">637</span>         routers.put(httpMethodName, new CallRouter.Builder(httpMethodName));<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      routers.get(httpMethodName).add(cm);<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   }<a name="line.639"></a>
-<span class="sourceLineNo">640</span><a name="line.640"></a>
-<span class="sourceLineNo">641</span>   private static class Builder {<a name="line.641"></a>
-<span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>      boolean allowHeaderParams, allowBodyParam, renderResponseStackTraces, useStackTraceHashes;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      VarResolver varResolver;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      ConfigFile configFile;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>      ObjectMap properties;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>      Class&lt;?&gt;[] beanFilters;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      Class&lt;?&gt;[] pojoSwaps;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>      Map&lt;Class&lt;?&gt;,RestParam&gt; paramResolvers = new HashMap&lt;Class&lt;?&gt;,RestParam&gt;();<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      SerializerGroup serializers;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      ParserGroup parsers;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      UrlEncodingSerializer urlEncodingSerializer;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      UrlEncodingParser urlEncodingParser;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      EncoderGroup encoders;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>      String clientVersionHeader = "", defaultCharset, paramFormat, htmlTitle, htmlDescription, htmlBranding,<a name="line.655"></a>
-<span class="sourceLineNo">656</span>         htmlHeader, htmlLinks, htmlNav, htmlAside, htmlStyle, htmlStylesheet, htmlScript, htmlFooter, htmlNoResultsMessage;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      boolean htmlNoWrap;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>      HtmlDocTemplate htmlTemplate;<a name="line.658"></a>
-<span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>      List&lt;MediaType&gt; supportedContentTypes, supportedAcceptTypes;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      Map&lt;String,String&gt; defaultRequestHeaders = new TreeMap&lt;String,String&gt;(String.CASE_INSENSITIVE_ORDER);<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      Map&lt;String,Object&gt; defaultResponseHeaders;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>      BeanContext beanContext;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      List&lt;RestConverter&gt; converters = new ArrayList&lt;RestConverter&gt;();<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      List&lt;RestGuard&gt; guards = new ArrayList&lt;RestGuard&gt;();<a name="line.665"></a>
-<span class="sourceLineNo">666</span>      List&lt;ResponseHandler&gt; responseHandlers = new ArrayList&lt;ResponseHandler&gt;();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      MimetypesFileTypeMap mimetypesFileTypeMap;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      StreamResource favIcon;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      Map&lt;String,String&gt; staticFilesMap;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      String[] staticFilesPrefixes;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      MessageBundle messageBundle;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>      Set&lt;String&gt; allowMethodParams = new LinkedHashSet&lt;String&gt;();<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      RestLogger logger;<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      String fullPath;<a name="line.674"></a>
-<span class="sourceLineNo">675</span>      Map&lt;String,Widget&gt; widgets;<a name="line.675"></a>
-<span class="sourceLineNo">676</span><a name="line.676"></a>
-<span class="sourceLineNo">677</span>      @SuppressWarnings("unchecked")<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      private Builder(Object resource, RestConfig sc) throws Exception {<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>         PropertyStore ps = sc.createPropertyStore();<a name="line.680"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>   /**<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    * Constructor.<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    *<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    * @param resource The resource class (a class annotated with {@link RestResource @RestResource}).<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    * @param config The servlet configuration object.<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    * @throws Exception If any initialization problems were encountered.<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    */<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   @SuppressWarnings("unchecked")<a name="line.421"></a>
+<span class="sourceLineNo">422</span>   public RestContext(Object resource, RestConfig config) throws Exception {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      super(null);<a name="line.423"></a>
+<span class="sourceLineNo">424</span>      RestException _initException = null;<a name="line.424"></a>
+<span class="sourceLineNo">425</span>      try {<a name="line.425"></a>
+<span class="sourceLineNo">426</span>         this.resource = resource;<a name="line.426"></a>
+<span class="sourceLineNo">427</span>         this.config = config;<a name="line.427"></a>
+<span class="sourceLineNo">428</span>         this.resourceFinder = new ResourceFinder(resource.getClass());<a name="line.428"></a>
+<span class="sourceLineNo">429</span>         this.parentContext = config.parentContext;<a name="line.429"></a>
+<span class="sourceLineNo">430</span><a name="line.430"></a>
+<span class="sourceLineNo">431</span>         Builder b = new Builder(resource, config);<a name="line.431"></a>
+<span class="sourceLineNo">432</span>         this.allowHeaderParams = b.allowHeaderParams;<a name="line.432"></a>
+<span class="sourceLineNo">433</span>         this.allowBodyParam = b.allowBodyParam;<a name="line.433"></a>
+<span class="sourceLineNo">434</span>         this.renderResponseStackTraces = b.renderResponseStackTraces;<a name="line.434"></a>
+<span class="sourceLineNo">435</span>         this.useStackTraceHashes = b.useStackTraceHashes;<a name="line.435"></a>
+<span class="sourceLineNo">436</span>         this.allowMethodParams = Collections.unmodifiableSet(b.allowMethodParams);<a name="line.436"></a>
+<span class="sourceLineNo">437</span>         this.defaultCharset = b.defaultCharset;<a name="line.437"></a>
+<span class="sourceLineNo">438</span>         this.paramFormat = b.paramFormat;<a name="line.438"></a>
+<span class="sourceLineNo">439</span>         this.varResolver = b.varResolver;<a name="line.439"></a>
+<span class="sourceLineNo">440</span>         this.configFile = b.configFile;<a name="line.440"></a>
+<span class="sourceLineNo">441</span>         this.properties = b.properties;<a name="line.441"></a>
+<span class="sourceLineNo">442</span>         this.beanFilters = b.beanFilters;<a name="line.442"></a>
+<span class="sourceLineNo">443</span>         this.pojoSwaps = b.pojoSwaps;<a name="line.443"></a>
+<span class="sourceLineNo">444</span>         this.paramResolvers = Collections.unmodifiableMap(b.paramResolvers);<a name="line.444"></a>
+<span class="sourceLineNo">445</span>         this.serializers = b.serializers;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>         this.parsers = b.parsers;<a name="line.446"></a>
+<span class="sourceLineNo">447</span>         this.urlEncodingSerializer = b.urlEncodingSerializer;<a name="line.447"></a>
+<span class="sourceLineNo">448</span>         this.urlEncodingParser = b.urlEncodingParser;<a name="line.448"></a>
+<span class="sourceLineNo">449</span>         this.encoders = b.encoders;<a name="line.449"></a>
+<span class="sourceLineNo">450</span>         this.supportedContentTypes = toObjectArray(b.supportedContentTypes, MediaType.class);<a name="line.450"></a>
+<span class="sourceLineNo">451</span>         this.supportedAcceptTypes = toObjectArray(b.supportedAcceptTypes, MediaType.class);<a name="line.451"></a>
+<span class="sourceLineNo">452</span>         this.clientVersionHeader = b.clientVersionHeader;<a name="line.452"></a>
+<span class="sourceLineNo">453</span>         this.defaultRequestHeaders = Collections.unmodifiableMap(b.defaultRequestHeaders);<a name="line.453"></a>
+<span class="sourceLineNo">454</span>         this.defaultResponseHeaders = Collections.unmodifiableMap(b.defaultResponseHeaders);<a name="line.454"></a>
+<span class="sourceLineNo">455</span>         this.beanContext = b.beanContext;<a name="line.455"></a>
+<span class="sourceLineNo">456</span>         this.converters = b.converters.toArray(new RestConverter[b.converters.size()]);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>         this.guards = b.guards.toArray(new RestGuard[b.guards.size()]);<a name="line.457"></a>
+<span class="sourceLineNo">458</span>         this.responseHandlers = toObjectArray(b.responseHandlers, ResponseHandler.class);<a name="line.458"></a>
+<span class="sourceLineNo">459</span>         this.mimetypesFileTypeMap = b.mimetypesFileTypeMap;<a name="line.459"></a>
+<span class="sourceLineNo">460</span>         this.favIcon = b.favIcon;<a name="line.460"></a>
+<span class="sourceLineNo">461</span>         this.staticFilesMap = Collections.unmodifiableMap(b.staticFilesMap);<a name="line.461"></a>
+<span class="sourceLineNo">462</span>         this.staticFilesPrefixes = b.staticFilesPrefixes;<a name="line.462"></a>
+<span class="sourceLineNo">463</span>         this.msgs = b.messageBundle;<a name="line.463"></a>
+<span class="sourceLineNo">464</span>         this.childResources = Collections.synchronizedMap(new LinkedHashMap&lt;String,RestContext&gt;());  // Not unmodifiable on purpose so that children can be replaced.<a name="line.464"></a>
+<span class="sourceLineNo">465</span>         this.logger = b.logger;<a name="line.465"></a>
+<span class="sourceLineNo">466</span>         this.fullPath = b.fullPath;<a name="line.466"></a>
+<span class="sourceLineNo">467</span>         this.widgets = Collections.unmodifiableMap(b.widgets);<a name="line.467"></a>
+<span class="sourceLineNo">468</span><a name="line.468"></a>
+<span class="sourceLineNo">469</span>         this.htmlTitle = b.htmlTitle;<a name="line.469"></a>
+<span class="sourceLineNo">470</span>         this.htmlDescription = b.htmlDescription;<a name="line.470"></a>
+<span class="sourceLineNo">471</span>         this.htmlBranding = b.htmlBranding;<a name="line.471"></a>
+<span class="sourceLineNo">472</span>         this.htmlHeader = b.htmlHeader;<a name="line.472"></a>
+<span class="sourceLineNo">473</span>         this.htmlLinks = b.htmlLinks;<a name="line.473"></a>
+<span class="sourceLineNo">474</span>         this.htmlNav = b.htmlNav;<a name="line.474"></a>
+<span class="sourceLineNo">475</span>         this.htmlAside = b.htmlAside;<a name="line.475"></a>
+<span class="sourceLineNo">476</span>         this.htmlStyle = b.htmlStyle;<a name="line.476"></a>
+<span class="sourceLineNo">477</span>         this.htmlStylesheet = b.htmlStylesheet;<a name="line.477"></a>
+<span class="sourceLineNo">478</span>         this.htmlScript = b.htmlScript;<a name="line.478"></a>
+<span class="sourceLineNo">479</span>         this.htmlFooter = b.htmlFooter;<a name="line.479"></a>
+<span class="sourceLineNo">480</span>         this.htmlNoWrap = b.htmlNoWrap;<a name="line.480"></a>
+<span class="sourceLineNo">481</span>         this.htmlNoResultsMessage = b.htmlNoResultsMessage;<a name="line.481"></a>
+<span class="sourceLineNo">482</span>         this.htmlTemplate = b.htmlTemplate;<a name="line.482"></a>
+<span class="sourceLineNo">483</span><a name="line.483"></a>
+<span class="sourceLineNo">484</span>         //----------------------------------------------------------------------------------------------------<a name="line.484"></a>
+<span class="sourceLineNo">485</span>         // Initialize the child resources.<a name="line.485"></a>
+<span class="sourceLineNo">486</span>         // Done after initializing fields above since we pass this object to the child resources.<a name="line.486"></a>
+<span class="sourceLineNo">487</span>         //----------------------------------------------------------------------------------------------------<a name="line.487"></a>
+<span class="sourceLineNo">488</span>         List&lt;String&gt; methodsFound = new LinkedList&lt;String&gt;();   // Temporary to help debug transient duplicate method issue.<a name="line.488"></a>
+<span class="sourceLineNo">489</span>         Map&lt;String,CallRouter.Builder&gt; routers = new LinkedHashMap&lt;String,CallRouter.Builder&gt;();<a name="line.489"></a>
+<span class="sourceLineNo">490</span>         Map&lt;String,CallMethod&gt; _javaRestMethods = new LinkedHashMap&lt;String,CallMethod&gt;();<a name="line.490"></a>
+<span class="sourceLineNo">491</span>         for (java.lang.reflect.Method method : resource.getClass().getMethods()) {<a name="line.491"></a>
+<span class="sourceLineNo">492</span>            if (method.isAnnotationPresent(RestMethod.class)) {<a name="line.492"></a>
+<span class="sourceLineNo">493</span>               RestMethod a = method.getAnnotation(RestMethod.class);<a name="line.493"></a>
+<span class="sourceLineNo">494</span>               methodsFound.add(method.getName() + "," + a.name() + "," + a.path());<a name="line.494"></a>
+<span class="sourceLineNo">495</span>               try {<a name="line.495"></a>
+<span class="sourceLineNo">496</span>                  if (! Modifier.isPublic(method.getModifiers()))<a name="line.496"></a>
+<span class="sourceLineNo">497</span>                     throw new RestServletException("@RestMethod method {0}.{1} must be defined as public.", this.getClass().getName(), method.getName());<a name="line.497"></a>
+<span class="sourceLineNo">498</span><a name="line.498"></a>
+<span class="sourceLineNo">499</span>                  CallMethod sm = new CallMethod(resource, method, this);<a name="line.499"></a>
+<span class="sourceLineNo">500</span>                  String httpMethod = sm.getHttpMethod();<a name="line.500"></a>
+<span class="sourceLineNo">501</span><a name="line.501"></a>
+<span class="sourceLineNo">502</span>                  // PROXY is a special case where a method returns an interface that we<a name="line.502"></a>
+<span class="sourceLineNo">503</span>                  // can perform REST calls against.<a name="line.503"></a>
+<span class="sourceLineNo">504</span>                  // We override the CallMethod.invoke() method to insert our logic.<a name="line.504"></a>
+<span class="sourceLineNo">505</span>                  if ("PROXY".equals(httpMethod)) {<a name="line.505"></a>
+<span class="sourceLineNo">506</span><a name="line.506"></a>
+<span class="sourceLineNo">507</span>                     final ClassMeta&lt;?&gt; interfaceClass = beanContext.getClassMeta(method.getGenericReturnType());<a name="line.507"></a>
+<span class="sourceLineNo">508</span>                     final Map&lt;String,Method&gt; remoteableMethods = interfaceClass.getRemoteableMethods();<a name="line.508"></a>
+<span class="sourceLineNo">509</span>                     if (remoteableMethods.isEmpty())<a name="line.509"></a>
+<span class="sourceLineNo">510</span>                        throw new RestException(SC_INTERNAL_SERVER_ERROR, "Method {0} returns an interface {1} that doesn't define any remoteable methods.", getMethodSignature(method), interfaceClass.getReadableName());<a name="line.510"></a>
+<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">512</span>                     sm = new CallMethod(resource, method, this) {<a name="line.512"></a>
+<span class="sourceLineNo">513</span><a name="line.513"></a>
+<span class="sourceLineNo">514</span>                        @Override<a name="line.514"></a>
+<span class="sourceLineNo">515</span>                        int invoke(String pathInfo, RestRequest req, RestResponse res) throws RestException {<a name="line.515"></a>
+<span class="sourceLineNo">516</span><a name="line.516"></a>
+<span class="sourceLineNo">517</span>                           int rc = super.invoke(pathInfo, req, res);<a name="line.517"></a>
+<span class="sourceLineNo">518</span>                           if (rc != SC_OK)<a name="line.518"></a>
+<span class="sourceLineNo">519</span>                              return rc;<a name="line.519"></a>
+<span class="sourceLineNo">520</span><a name="line.520"></a>
+<span class="sourceLineNo">521</span>                           final Object o = res.getOutput();<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>                           if ("GET".equals(req.getMethod())) {<a name="line.523"></a>
+<span class="sourceLineNo">524</span>                              res.setOutput(getMethodInfo(remoteableMethods.values()));<a name="line.524"></a>
+<span class="sourceLineNo">525</span>                              return SC_OK;<a name="line.525"></a>
+<span class="sourceLineNo">526</span><a name="line.526"></a>
+<span class="sourceLineNo">527</span>                           } else if ("POST".equals(req.getMethod())) {<a name="line.527"></a>
+<span class="sourceLineNo">528</span>                              if (pathInfo.indexOf('/') != -1)<a name="line.528"></a>
+<span class="sourceLineNo">529</span>                                 pathInfo = pathInfo.substring(pathInfo.lastIndexOf('/')+1);<a name="line.529"></a>
+<span class="sourceLineNo">530</span>                              pathInfo = urlDecode(pathInfo);<a name="line.530"></a>
+<span class="sourceLineNo">531</span>                              java.lang.reflect.Method m = remoteableMethods.get(pathInfo);<a name="line.531"></a>
+<span class="sourceLineNo">532</span>                              if (m != null) {<a name="line.532"></a>
+<span class="sourceLineNo">533</span>                                 try {<a name="line.533"></a>
+<span class="sourceLineNo">534</span>                                    // Parse the args and invoke the method.<a name="line.534"></a>
+<span class="sourceLineNo">535</span>                                    Parser p = req.getBody().getParser();<a name="line.535"></a>
+<span class="sourceLineNo">536</span>                                    Object input = p.isReaderParser() ? req.getReader() : req.getInputStream();<a name="line.536"></a>
+<span class="sourceLineNo">537</span>                                    Object output = m.invoke(o, p.parseArgs(input, m.getGenericParameterTypes()));<a name="line.537"></a>
+<span class="sourceLineNo">538</span>                                    res.setOutput(output);<a name="line.538"></a>
+<span class="sourceLineNo">539</span>                                    return SC_OK;<a name="line.539"></a>
+<span class="sourceLineNo">540</span>                                 } catch (Exception e) {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>                                    throw new RestException(SC_INTERNAL_SERVER_ERROR, e);<a name="line.541"></a>
+<span class="sourceLineNo">542</span>                                 }<a name="line.542"></a>
+<span class="sourceLineNo">543</span>                              }<a name="line.543"></a>
+<span class="sourceLineNo">544</span>                           }<a name="line.544"></a>
+<span class="sourceLineNo">545</span>                           return SC_NOT_FOUND;<a name="line.545"></a>
+<span class="sourceLineNo">546</span>                        }<a name="line.546"></a>
+<span class="sourceLineNo">547</span>                     };<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>                     _javaRestMethods.put(method.getName(), sm);<a name="line.549"></a>
+<span class="sourceLineNo">550</span>                     addToRouter(routers, "GET", sm);<a name="line.550"></a>
+<span class="sourceLineNo">551</span>                     addToRouter(routers, "POST", sm);<a name="line.551"></a>
+<span class="sourceLineNo">552</span><a name="line.552"></a>
+<span class="sourceLineNo">553</span>                  } else {<a name="line.553"></a>
+<span class="sourceLineNo">554</span>                     _javaRestMethods.put(method.getName(), sm);<a name="line.554"></a>
+<span class="sourceLineNo">555</span>                     addToRouter(routers, httpMethod, sm);<a name="line.555"></a>
+<span class="sourceLineNo">556</span>                  }<a name="line.556"></a>
+<span class="sourceLineNo">557</span>               } catch (RestServletException e) {<a name="line.557"></a>
+<span class="sourceLineNo">558</span>                  throw new RestServletException("Problem occurred trying to serialize methods on class {0}, methods={1}", this.getClass().getName(), JsonSerializer.DEFAULT_LAX.serialize(methodsFound)).initCause(e);<a name="line.558"></a>
+<span class="sourceLineNo">559</span>               }<a name="line.559"></a>
+<span class="sourceLineNo">560</span>            }<a name="line.560"></a>
+<span class="sourceLineNo">561</span>         }<a name="line.561"></a>
+<span class="sourceLineNo">562</span>         this.callMethods = Collections.unmodifiableMap(_javaRestMethods);<a name="line.562"></a>
+<span class="sourceLineNo">563</span><a name="line.563"></a>
+<span class="sourceLineNo">564</span>         Map&lt;String,CallRouter&gt; _callRouters = new LinkedHashMap&lt;String,CallRouter&gt;();<a name="line.564"></a>
+<span class="sourceLineNo">565</span>         for (CallRouter.Builder crb : routers.values())<a name="line.565"></a>
+<span class="sourceLineNo">566</span>            _callRouters.put(crb.getHttpMethodName(), crb.build());<a name="line.566"></a>
+<span class="sourceLineNo">567</span>         this.callRouters = Collections.unmodifiableMap(_callRouters);<a name="line.567"></a>
+<span class="sourceLineNo">568</span><a name="line.568"></a>
+<span class="sourceLineNo">569</span>         // Initialize our child resources.<a name="line.569"></a>
+<span class="sourceLineNo">570</span>         RestResourceResolver rrr = resolve(RestResourceResolver.class, config.resourceResolver);<a name="line.570"></a>
+<span class="sourceLineNo">571</span>         for (Object o : config.childResources) {<a name="line.571"></a>
+<span class="sourceLineNo">572</span>            String path = null;<a name="line.572"></a>
+<span class="sourceLineNo">573</span>            Object r = null;<a name="line.573"></a>
+<span class="sourceLineNo">574</span>            if (o instanceof Pair) {<a name="line.574"></a>
+<span class="sourceLineNo">575</span>               Pair&lt;String,Object&gt; p = (Pair&lt;String,Object&gt;)o;<a name="line.575"></a>
+<span class="sourceLineNo">576</span>               path = p.first();<a name="line.576"></a>
+<span class="sourceLineNo">577</span>               r = p.second();<a name="line.577"></a>
+<span class="sourceLineNo">578</span>            } else if (o instanceof Class&lt;?&gt;) {<a name="line.578"></a>
+<span class="sourceLineNo">579</span>               Class&lt;?&gt; c = (Class&lt;?&gt;)o;<a name="line.579"></a>
+<span class="sourceLineNo">580</span>               r = c;<a name="line.580"></a>
+<span class="sourceLineNo">581</span>            } else {<a name="line.581"></a>
+<span class="sourceLineNo">582</span>               r = o;<a name="line.582"></a>
+<span class="sourceLineNo">583</span>            }<a name="line.583"></a>
+<span class="sourceLineNo">584</span><a name="line.584"></a>
+<span class="sourceLineNo">585</span>            RestConfig childConfig = null;<a name="line.585"></a>
+<span class="sourceLineNo">586</span><a name="line.586"></a>
+<span class="sourceLineNo">587</span>            if (o instanceof Class) {<a name="line.587"></a>
+<span class="sourceLineNo">588</span>               Class&lt;?&gt; oc = (Class&lt;?&gt;)o;<a name="line.588"></a>
+<span class="sourceLineNo">589</span>               childConfig = new RestConfig(config.inner, oc, this);<a name="line.589"></a>
+<span class="sourceLineNo">590</span>               r = rrr.resolve(oc, childConfig);<a name="line.590"></a>
+<span class="sourceLineNo">591</span>            } else {<a name="line.591"></a>
+<span class="sourceLineNo">592</span>               r = o;<a name="line.592"></a>
+<span class="sourceLineNo">593</span>               childConfig = new RestConfig(config.inner, o.getClass(), this);<a name="line.593"></a>
+<span class="sourceLineNo">594</span>            }<a name="line.594"></a>
+<span class="sourceLineNo">595</span><a name="line.595"></a>
+<span class="sourceLineNo">596</span>            if (r instanceof RestServlet) {<a name="line.596"></a>
+<span class="sourceLineNo">597</span>               RestServlet rs = (RestServlet)r;<a name="line.597"></a>
+<span class="sourceLineNo">598</span>               rs.init(childConfig);<a name="line.598"></a>
+<span class="sourceLineNo">599</span>               if (rs.getContext() == null)<a name="line.599"></a>
+<span class="sourceLineNo">600</span>                  throw new RestException(SC_INTERNAL_SERVER_ERROR, "Servlet {0} not initialized.  init(RestConfig) was not called.  This can occur if you've overridden this method but didn't call super.init(RestConfig).", rs.getClass().getName());<a name="line.600"></a>
+<span class="sourceLineNo">601</span>               path = childConfig.path;<a name="line.601"></a>
+<span class="sourceLineNo">602</span>               childResources.put(path, rs.getContext());<a name="line.602"></a>
+<span class="sourceLineNo">603</span>            } else {<a name="line.603"></a>
+<span class="sourceLineNo">604</span><a name="line.604"></a>
+<span class="sourceLineNo">605</span>               // Call the init(RestConfig) method.<a name="line.605"></a>
+<span class="sourceLineNo">606</span>               java.lang.reflect.Method m2 = findPublicMethod(r.getClass(), "init", Void.class, RestConfig.class);<a name="line.606"></a>
+<span class="sourceLineNo">607</span>               if (m2 != null)<a name="line.607"></a>
+<span class="sourceLineNo">608</span>                  m2.invoke(r, childConfig);<a name="line.608"></a>
+<span class="sourceLineNo">609</span><a name="line.609"></a>
+<span class="sourceLineNo">610</span>               RestContext rc2 = new RestContext(r, childConfig);<a name="line.610"></a>
+<span class="sourceLineNo">611</span><a name="line.611"></a>
+<span class="sourceLineNo">612</span>               // Call the init(RestContext) method.<a name="line.612"></a>
+<span class="sourceLineNo">613</span>               m2 = findPublicMethod(r.getClass(), "init", Void.class, RestContext.class);<a name="line.613"></a>
+<span class="sourceLineNo">614</span>               if (m2 != null)<a name="line.614"></a>
+<span class="sourceLineNo">615</span>                  m2.invoke(r, rc2);<a name="line.615"></a>
+<span class="sourceLineNo">616</span><a name="line.616"></a>
+<span class="sourceLineNo">617</span>               path = childConfig.path;<a name="line.617"></a>
+<span class="sourceLineNo">618</span>               childResources.put(path, rc2);<a name="line.618"></a>
+<span class="sourceLineNo">619</span>            }<a name="line.619"></a>
+<span class="sourceLineNo">620</span>         }<a name="line.620"></a>
+<span class="sourceLineNo">621</span><a name="line.621"></a>
+<span class="sourceLineNo">622</span>         callHandler = config.callHandler == null ? new RestCallHandler(this) : resolve(RestCallHandler.class, config.callHandler, this);<a name="line.622"></a>
+<span class="sourceLineNo">623</span>         infoProvider = config.infoProvider == null ? new RestInfoProvider(this) : resolve(RestInfoProvider.class, config.infoProvider, this);<a name="line.623"></a>
+<span class="sourceLineNo">624</span><a name="line.624"></a>
+<span class="sourceLineNo">625</span>      } catch (RestException e) {<a name="line.625"></a>
+<span class="sourceLineNo">626</span>         _initException = e;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>         throw e;<a name="line.627"></a>
+<span class="sourceLineNo">628</span>      } catch (Exception e) {<a name="line.628"></a>
+<span class="sourceLineNo">629</span>         _initException = new RestException(SC_INTERNAL_SERVER_ERROR, e);<a name="line.629"></a>
+<span class="sourceLineNo">630</span>         throw e;<a name="line.630"></a>
+<span class="sourceLineNo">631</span>      } finally {<a name="line.631"></a>
+<span class="sourceLineNo">632</span>         initException = _initException;<a name="line.632"></a>
+<span class="sourceLineNo">633</span>      }<a name="line.633"></a>
+<span class="sourceLineNo">634</span>   }<a name="line.634"></a>
+<span class="sourceLineNo">635</span><a name="line.635"></a>
+<span class="sourceLineNo">636</span>   private static void addToRouter(Map&lt;String, CallRouter.Builder&gt; routers, String httpMethodName, CallMethod cm) throws RestServletException {<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      if (! routers.containsKey(httpMethodName))<a name="line.637"></a>
+<span class="sourceLineNo">638</span>         routers.put(httpMethodName, new CallRouter.Builder(httpMethodName));<a name="line.638"></a>
+<span class="sourceLineNo">639</span>      routers.get(httpMethodName).add(cm);<a name="line.639"></a>
+<span class="sourceLineNo">640</span>   }<a name="line.640"></a>
+<span class="sourceLineNo">641</span><a name="line.641"></a>
+<span class="sourceLineNo">642</span>   private static class Builder {<a name="line.642"></a>
+<span class="sourceLineNo">643</span><a name="line.643"></a>
+<span class="sourceLineNo">644</span>      boolean allowHeaderParams, allowBodyParam, renderResponseStackTraces, useStackTraceHashes;<a name="line.644"></a>
+<span class="sourceLineNo">645</span>      VarResolver varResolver;<a name="line.645"></a>
+<span class="sourceLineNo">646</span>      ConfigFile configFile;<a name="line.646"></a>
+<span class="sourceLineNo">647</span>      ObjectMap properties;<a name="line.647"></a>
+<span class="sourceLineNo">648</span>      Class&lt;?&gt;[] beanFilters;<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      Class&lt;?&gt;[] pojoSwaps;<a name="line.649"></a>
+<span class="sourceLineNo">650</span>      Map&lt;Class&lt;?&gt;,RestParam&gt; paramResolvers = new HashMap&lt;Class&lt;?&gt;,RestParam&gt;();<a name="line.650"></a>
+<span class="sourceLineNo">651</span>      SerializerGroup serializers;<a name="line.651"></a>
+<span class="sourceLineNo">652</span>      ParserGroup parsers;<a name="line.652"></a>
+<span class="sourceLineNo">653</span>      UrlEncodingSerializer urlEncodingSerializer;<a name="line.653"></a>
+<span class="sourceLineNo">654</span>      UrlEncodingParser urlEncodingParser;<a name="line.654"></a>
+<span class="sourceLineNo">655</span>      EncoderGroup encoders;<a name="line.655"></a>
+<span class="sourceLineNo">656</span>      String clientVersionHeader = "", defaultCharset, paramFormat, htmlTitle, htmlDescription, htmlBranding,<a name="line.656"></a>
+<span class="sourceLineNo">657</span>         htmlHeader, htmlNav, htmlAside, htmlStyle, htmlStylesheet, htmlScript, htmlFooter, htmlNoResultsMessage;<a name="line.657"></a>
+<span class="sourceLineNo">658</span>      String[] htmlLinks;<a name="line.658"></a>
+<span class="sourceLineNo">659</span>      boolean htmlNoWrap;<a name="line.659"></a>
+<span class="sourceLineNo">660</span>      HtmlDocTemplate htmlTemplate;<a name="line.660"></a>
+<span class="sourceLineNo">661</span><a name="line.661"></a>
+<span class="sourceLineNo">662</span>      List&lt;MediaType&gt; supportedContentTypes, supportedAcceptTypes;<a name="line.662"></a>
+<span class="sourceLineNo">663</span>      Map&lt;String,String&gt; defaultRequestHeaders = new TreeMap&lt;String,String&gt;(String.CASE_INSENSITIVE_ORDER);<a name="line.663"></a>
+<span class="sourceLineNo">664</span>      Map&lt;String,Object&gt; defaultResponseHeaders;<a name="line.664"></a>
+<span class="sourceLineNo">665</span>      BeanContext beanContext;<a name="line.665"></a>
+<span class="sourceLineNo">666</span>      List&lt;RestConverter&gt; converters = new ArrayList&lt;RestConverter&gt;();<a name="line.666"></a>
+<span class="sourceLineNo">667</span>      List&lt;RestGuard&gt; guards = new ArrayList&lt;RestGuard&gt;();<a name="line.667"></a>
+<span class="sourceLineNo">668</span>      List&lt;ResponseHandler&gt; responseHandlers = new ArrayList&lt;ResponseHandler&gt;();<a name="line.668"></a>
+<span class="sourceLineNo">669</span>      MimetypesFileTypeMap mimetypesFileTypeMap;<a name="line.669"></a>
+<span class="sourceLineNo">670</span>      StreamResource favIcon;<a name="line.670"></a>
+<span class="sourceLineNo">671</span>      Map&lt;String,String&gt; staticFilesMap;<a name="line.671"></a>
+<span class="sourceLineNo">672</span>      String[] staticFilesPrefixes;<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      MessageBundle messageBundle;<a name="line.673"></a>
+<span class="sourceLineNo">674</span>      Set&lt;String&gt; allowMethodParams = new LinkedHashSet&lt;String&gt;();<a name="line.674"></a>
+<span class="sourceLineNo">675</span>      RestLogger logger;<a name="line.675"></a>
+<span class="sourceLineNo">676</span>      String fullPath;<a name="line.676"></a>
+<span class="sourceLineNo">677</span>      Map&lt;String,Widget&gt; widgets;<a name="line.677"></a>
+<span class="sourceLineNo">678</span><a name="line.678"></a>
+<span class="sourceLineNo">679</span>      @SuppressWarnings("unchecked")<a name="line.679"></a>
+<span class="sourceLineNo">680</span>      private Builder(Object resource, RestConfig sc) throws Exception {<a name="line.680"></a>
 <span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>         LinkedHashMap&lt;Class&lt;?&gt;,RestResource&gt; restResourceAnnotationsChildFirst = findAnnotationsMap(RestResource.class, resource.getClass());<a name="line.682"></a>
+<span class="sourceLineNo">682</span>         PropertyStore ps = sc.createPropertyStore();<a name="line.682"></a>
 <span class="sourceLineNo">683</span><a name="line.683"></a>
-<span class="sourceLineNo">684</span>         allowHeaderParams = ps.getProperty(REST_allowHeaderParams, boolean.class, true);<a name="line.684"></a>
-<span class="sourceLineNo">685</span>         allowBodyParam = ps.getProperty(REST_allowBodyParam, boolean.class, true);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>         renderResponseStackTraces = ps.getProperty(REST_renderResponseStackTraces, boolean.class, false);<a name="line.686"></a>
-<span class="sourceLineNo">687</span>         useStackTraceHashes = ps.getProperty(REST_useStackTraceHashes, boolean.class, true);<a name="line.687"></a>
-<span class="sourceLineNo">688</span>         defaultCharset = ps.getProperty(REST_defaultCharset, String.class, "utf-8");<a name="line.688"></a>
-<span class="sourceLineNo">689</span>         paramFormat = ps.getProperty(REST_paramFormat, String.class, "");<a name="line.689"></a>
-<span class="sourceLineNo">690</span><a name="line.690"></a>
-<span class="sourceLineNo">691</span>         for (String m : split(ps.getProperty(REST_allowMethodParam, String.class, "")))<a name="line.691"></a>
-<span class="sourceLineNo">692</span>            if (m.equals("true"))  // For backwards compatibility when this was a boolean field.<a name="line.692"></a>
-<span class="sourceLineNo">693</span>               allowMethodParams.add("*");<a name="line.693"></a>
-<span class="sourceLineNo">694</span>            else<a name="line.694"></a>
-<span class="sourceLineNo">695</span>               allowMethodParams.add(m.toUpperCase());<a name="line.695"></a>
-<span class="sourceLineNo">696</span><a name="line.696"></a>
-<span class="sourceLineNo">697</span>         varResolver = sc.varResolverBuilder<a name="line.697"></a>
-<span class="sourceLineNo">698</span>            .vars(LocalizationVar.class, RequestVar.class, SerializedRequestAttrVar.class, ServletInitParamVar.class, UrlVar.class, UrlEncodeVar.class, WidgetVar.class)<a name="line.698"></a>
-<span class="sourceLineNo">699</span>            .build()<a name="line.699"></a>
-<span class="sourceLineNo">700</span>         ;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>         configFile = sc.configFile.getResolving(this.varResolver);<a name="line.701"></a>
-<span class="sourceLineNo">702</span>         properties = sc.properties;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>         Collections.reverse(sc.beanFilters);<a name="line.703"></a>
-<span class="sourceLineNo">704</span>         Collections.reverse(sc.pojoSwaps);<a name="line.704"></a>
-<span class="sourceLineNo">705</span>         beanFilters = toObjectArray(sc.beanFilters, Class.class);<a name="line.705"></a>
-<span class="sourceLineNo">706</span>         pojoSwaps = toObjectArray(sc.pojoSwaps, Class.class);<a name="line.706"></a>
-<span class="sourceLineNo">707</span><a name="line.707"></a>
-<span class="sourceLineNo">708</span>         for (Class&lt;?&gt; c : sc.paramResolvers) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>            RestParam rp = newInstance(RestParam.class, c);<a name="line.709"></a>
-<span class="sourceLineNo">710</span>            paramResolvers.put(rp.forClass(), rp);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>         }<a name="line.711"></a>
-<span class="sourceLineNo">712</span><a name="line.712"></a>
-<span class="sourceLineNo">713</span>         clientVersionHeader = sc.clientVersionHeader;<a name="line.713"></a>
+<span class="sourceLineNo">684</span>         LinkedHashMap&lt;Class&lt;?&gt;,RestResource&gt; restResourceAnnotationsChildFirst = findAnnotationsMap(RestResource.class, resource.getClass());<a name="line.684"></a>
+<span class="sourceLineNo">685</span><a name="line.685"></a>
+<span class="sourceLineNo">686</span>         allowHeaderParams = ps.getProperty(REST_allowHeaderParams, boolean.class, true);<a name="line.686"></a>
+<span class="sourceLineNo">687</span>         allowBodyParam = ps.getProperty(REST_allowBodyParam, boolean.class, true);<a name="line.687"></a>
+<span class="sourceLineNo">688</span>         renderResponseStackTraces = ps.getProperty(REST_renderResponseStackTraces, boolean.class, false);<a name="line.688"></a>
+<span class="sourceLineNo">689</span>         useStackTraceHashes = ps.getProperty(REST_useStackTraceHashes, boolean.class, true);<a name="line.689"></a>
+<span class="sourceLineNo">690</span>         defaultCharset = ps.getProperty(REST_defaultCharset, String.class, "utf-8");<a name="line.690"></a>
+<span class="sourceLineNo">691</span>         paramFormat = ps.getProperty(REST_paramFormat, String.class, "");<a name="line.691"></a>
+<span class="sourceLineNo">692</span><a name="line.692"></a>
+<span class="sourceLineNo">693</span>         for (String m : split(ps.getProperty(REST_allowMethodParam, String.class, "")))<a name="line.693"></a>
+<span class="sourceLineNo">694</span>            if (m.equals("true"))  // For backwards compatibility when this was a boolean field.<a name="line.694"></a>
+<span class="sourceLineNo">695</span>               allowMethodParams.add("*");<a name="line.695"></a>
+<span class="sourceLineNo">696</span>            else<a name="line.696"></a>
+<span class="sourceLineNo">697</span>               allowMethodParams.add(m.toUpperCase());<a name="line.697"></a>
+<span class="sourceLineNo">698</span><a name="line.698"></a>
+<span class="sourceLineNo">699</span>         varResolver = sc.varResolverBuilder<a name="line.699"></a>
+<span class="sourceLineNo">700</span>            .vars(LocalizationVar.class, RequestVar.class, SerializedRequestAttrVar.class, ServletInitParamVar.class, UrlVar.class, UrlEncodeVar.class, WidgetVar.class)<a name="line.700"></a>
+<span class="sourceLineNo">701</span>            .build()<a name="line.701"></a>
+<span class="sourceLineNo">702</span>         ;<a name="line.702"></a>
+<span class="sourceLineNo">703</span>         configFile = sc.configFile.getResolving(this.varResolver);<a name="line.703"></a>
+<span class="sourceLineNo">704</span>         properties = sc.properties;<a name="line.704"></a>
+<span class="sourceLineNo">705</span>         Collections.reverse(sc.beanFilters);<a name="line.705"></a>
+<span class="sourceLineNo">706</span>         Collections.reverse(sc.pojoSwaps);<a name="line.706"></a>
+<span class="sourceLineNo">707</span>         beanFilters = toObjectArray(sc.beanFilters, Class.class);<a name="line.707"></a>
+<span class="sourceLineNo">708</span>         pojoSwaps = toObjectArray(sc.pojoSwaps, Class.class);<a name="line.708"></a>
+<span class="sourceLineNo">709</span><a name="line.709"></a>
+<span class="sourceLineNo">710</span>         for (Class&lt;?&gt; c : sc.paramResolvers) {<a name="line.710"></a>
+<span class="sourceLineNo">711</span>            RestParam rp = newInstance(RestParam.class, c);<a name="line.711"></a>
+<span class="sourceLineNo">712</span>            paramResolvers.put(rp.forClass(), rp);<a name="line.712"></a>
+<span class="sourceLineNo">713</span>         }<a name="line.713"></a>
 <span class="sourceLineNo">714</span><a name="line.714"></a>
-<span class="sourceLineNo">715</span>         // Find resource resource bundle location.<a name="line.715"></a>
-<span class="sourceLineNo">716</span>         for (Map.Entry&lt;Class&lt;?&gt;,RestResource&gt; e : restResourceAnnotationsChildFirst.entrySet()) {<a name="line.716"></a>
-<span class="sourceLineNo">717</span>            Class&lt;?&gt; c = e.getKey();<a name="line.717"></a>
-<span class="sourceLineNo">718</span>            RestResource r = e.getValue();<a name="line.718"></a>
-<span class="sourceLineNo">719</span>            if (! r.messages().isEmpty()) {<a name="line.719"></a>
-<span class="sourceLineNo">720</span>               if (messageBundle == null)<a name="line.720"></a>
-<span class="sourceLineNo">721</span>                  messageBundle = new MessageBundle(c, r.messages());<a name="line.721"></a>
-<span class="sourceLineNo">722</span>               else<a name="line.722"></a>
-<span class="sourceLineNo">723</span>                  messageBundle.addSearchPath(c, r.messages());<a name="line.723"></a>
-<span class="sourceLineNo">724</span>            }<a name="line.724"></a>
-<span class="sourceLineNo">725</span>         }<a name="line.725"></a>
-<span class="sourceLineNo">726</span><a name="line.726"></a>
-<span class="sourceLineNo">727</span>         if (messageBundle == null)<a name="line.727"></a>
-<span class="sourceLineNo">728</span>            messageBundle = new MessageBundle(resource.getClass(), "");<a name="line.728"></a>
-<span class="sourceLineNo">729</span><a name="line.729"></a>
-<span class="sourceLineNo">730</span>         ps.addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps).setProperties(properties);<a name="line.730"></a>
+<span class="sourceLineNo">715</span>         clientVersionHeader = sc.clientVersionHeader;<a name="line.715"></a>
+<span class="sourceLineNo">716</span><a name="line.716"></a>
+<span class="sourceLineNo">717</span>         // Find resource resource bundle location.<a name="line.717"></a>
+<span class="sourceLineNo">718</span>         for (Map.Entry&lt;Class&lt;?&gt;,RestResource&gt; e : restResourceAnnotationsChildFirst.entrySet()) {<a name="line.718"></a>
+<span class="sourceLineNo">719</span>            Class&lt;?&gt; c = e.getKey();<a name="line.719"></a>
+<span class="sourceLineNo">720</span>            RestResource r = e.getValue();<a name="line.720"></a>
+<span class="sourceLineNo">721</span>            if (! r.messages().isEmpty()) {<a name="line.721"></a>
+<span class="sourceLineNo">722</span>               if (messageBundle == null)<a name="line.722"></a>
+<span class="sourceLineNo">723</span>                  messageBundle = new MessageBundle(c, r.messages());<a name="line.723"></a>
+<span class="sourceLineNo">724</span>               else<a name="line.724"></a>
+<span class="sourceLineNo">725</span>                  messageBundle.addSearchPath(c, r.messages());<a name="line.725"></a>
+<span class="sourceLineNo">726</span>            }<a name="line.726"></a>
+<span class="sourceLineNo">727</span>         }<a name="line.727"></a>
+<span class="sourceLineNo">728</span><a name="line.728"></a>
+<span class="sourceLineNo">729</span>         if (messageBundle == null)<a name="line.729"></a>
+<span class="sourceLineNo">730</span>            messageBundle = new MessageBundle(resource.getClass(), "");<a name="line.730"></a>
 <span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>         serializers = sc.serializers.beanFilters(beanFilters).pojoSwaps(pojoSwaps).properties(properties).listener(sc.serializerListener).build();<a name="line.732"></a>
-<span class="sourceLineNo">733</span>         parsers = sc.parsers.beanFilters(beanFilters).pojoSwaps(pojoSwaps).properties(properties).listener(sc.parserListener).build();<a name="line.733"></a>
-<span class="sourceLineNo">734</span>         urlEncodingSerializer = new UrlEncodingSerializer(ps);<a name="line.734"></a>
-<span class="sourceLineNo">735</span>         urlEncodingParser = new UrlEncodingParser(ps);<a name="line.735"></a>
-<span class="sourceLineNo">736</span>         encoders = sc.encoders.build();<a name="line.736"></a>
-<span class="sourceLineNo">737</span>         supportedContentTypes = sc.supportedContentTypes != null ? sc.supportedContentTypes : serializers.getSupportedMediaTypes();<a name="line.737"></a>
-<span class="sourceLineNo">738</span>         supportedAcceptTypes = sc.supportedAcceptTypes != null ? sc.supportedAcceptTypes : parsers.getSupportedMediaTypes();<a name="line.738"></a>
-<span class="sourceLineNo">739</span>         defaultRequestHeaders.putAll(sc.defaultRequestHeaders);<a name="line.739"></a>
-<span class="sourceLineNo">740</span>         defaultResponseHeaders = Collections.unmodifiableMap(new LinkedHashMap&lt;String,Object&gt;(sc.defaultResponseHeaders));<a name="line.740"></a>
-<span class="sourceLineNo">741</span>         beanContext = ps.getBeanContext();<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>         for (Object o : sc.converters)<a name="line.743"></a>
-<span class="sourceLineNo">744</span>            converters.add(resolve(RestConverter.class, o));<a name="line.744"></a>
-<span class="sourceLineNo">745</span><a name="line.745"></a>
-<span class="sourceLineNo">746</span>         for (Object o : sc.guards)<a name="line.746"></a>
-<span class="sourceLineNo">747</span>            guards.add(resolve(RestGuard.class, o));<a name="line.747"></a>
-<span class="sourceLineNo">748</span><a name="line.748"></a>
-<span class="sourceLineNo">749</span>         for (Object o : sc.responseHandlers)<a name="line.749"></a>
-<span class="sourceLineNo">750</span>            responseHandlers.add(resolve(ResponseHandler.class, o));<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>         mimetypesFileTypeMap = sc.mimeTypes;<a name="line.752"></a>
+<span class="sourceLineNo">732</span>         ps.addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps).setProperties(properties);<a name="line.732"></a>
+<span class="sourceLineNo">733</span><a name="line.733"></a>
+<span class="sourceLineNo">734</span>         serializers = sc.serializers.beanFilters(beanFilters).pojoSwaps(pojoSwaps).properties(properties).listener(sc.serializerListener).build();<a name="line.734"></a>
+<span class="sourceLineNo">735</span>         parsers = sc.parsers.beanFilters(beanFilters).pojoSwaps(pojoSwaps).properties(properties).listener(sc.parserListener).build();<a name="line.735"></a>
+<span class="sourceLineNo">736</span>         urlEncodingSerializer = new UrlEncodingSerializer(ps);<a name="line.736"></a>
+<span class="sourceLineNo">737</span>         urlEncodingParser = new UrlEncodingParser(ps);<a name="line.737"></a>
+<span class="sourceLineNo">738</span>         encoders = sc.encoders.build();<a name="line.738"></a>
+<span class="sourceLineNo">739</span>         supportedContentTypes = sc.supportedContentTypes != null ? sc.supportedContentTypes : serializers.getSupportedMediaTypes();<a name="line.739"></a>
+<span class="sourceLineNo">740</span>         supportedAcceptTypes = sc.supportedAcceptTypes != null ? sc.supportedAcceptTypes : parsers.getSupportedMediaTypes();<a name="line.740"></a>
+<span class="sourceLineNo">741</span>         defaultRequestHeaders.putAll(sc.defaultRequestHeaders);<a name="line.741"></a>
+<span class="sourceLineNo">742</span>         defaultResponseHeaders = Collections.unmodifiableMap(new LinkedHashMap&lt;String,Object&gt;(sc.defaultResponseHeaders));<a name="line.742"></a>
+<span class="sourceLineNo">743</span>         beanContext = ps.getBeanContext();<a name="line.743"></a>
+<span class="sourceLineNo">744</span><a name="line.744"></a>
+<span class="sourceLineNo">745</span>         for (Object o : sc.converters)<a name="line.745"></a>
+<span class="sourceLineNo">746</span>            converters.add(resolve(RestConverter.class, o));<a name="line.746"></a>
+<span class="sourceLineNo">747</span><a name="line.747"></a>
+<span class="sourceLineNo">748</span>         for (Object o : sc.guards)<a name="line.748"></a>
+<span class="sourceLineNo">749</span>            guards.add(resolve(RestGuard.class, o));<a name="line.749"></a>
+<span class="sourceLineNo">750</span><a name="line.750"></a>
+<span class="sourceLineNo">751</span>         for (Object o : sc.responseHandlers)<a name="line.751"></a>
+<span class="sourceLineNo">752</span>            responseHandlers.add(resolve(ResponseHandler.class, o));<a name="line.752"></a>
 <span class="sourceLineNo">753</span><a name="line.753"></a>
-<span class="sourceLineNo">754</span>         VarResolver vr = sc.getVarResolverBuilder().build();<a name="line.754"></a>
+<span class="sourceLineNo">754</span>         mimetypesFileTypeMap = sc.mimeTypes;<a name="line.754"></a>
 <span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>         if (sc.favIcon != null) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>            Object o = sc.favIcon;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>            InputStream is = null;<a name="line.758"></a>
-<span class="sourceLineNo">759</span>            if (o instanceof Pair) {<a name="line.759"></a>
-<span class="sourceLineNo">760</span>               Pair&lt;Class&lt;?&gt;,String&gt; p = (Pair&lt;Class&lt;?&gt;,String&gt;)o;<a name="line.760"></a>
-<span class="sourceLineNo">761</span>               is = ReflectionUtils.getResource(p.first(), vr.resolve(p.second()));<a name="line.761"></a>
-<span class="sourceLineNo">762</span>            } else {<a name="line

<TRUNCATED>


[21/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/RequestQuery.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/RequestQuery.html b/content/site/apidocs/org/apache/juneau/rest/RequestQuery.html
index 604d5b4..538708c 100644
--- a/content/site/apidocs/org/apache/juneau/rest/RequestQuery.html
+++ b/content/site/apidocs/org/apache/juneau/rest/RequestQuery.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public final class <a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.33">RequestQuery</a>
+<pre>public final class <a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.34">RequestQuery</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html?is-external=true" title="class or interface in java.util">LinkedHashMap</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&gt;</pre>
 <div class="block">Represents the query parameters in an HTTP request.</div>
 <dl>
@@ -306,10 +306,16 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 </tr>
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RequestQuery.html#toString--">toString</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RequestQuery.html#toQueryString--">toQueryString</a></span>()</code>
+<div class="block">Converts this object to a query string.</div>
+</td>
 </tr>
 <tr id="i18" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RequestQuery.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RequestQuery.html#toString-boolean-">toString</a></span>(boolean&nbsp;sorted)</code>
 <div class="block">Converts the query parameters to a readable string.</div>
 </td>
@@ -370,7 +376,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RequestQuery</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.33">RequestQuery</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.34">RequestQuery</a>()</pre>
 </li>
 </ul>
 </li>
@@ -387,7 +393,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>addDefault</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RequestQuery.html" title="class in org.apache.juneau.rest">RequestQuery</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.58">addDefault</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;defaultEntries)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RequestQuery.html" title="class in org.apache.juneau.rest">RequestQuery</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.68">addDefault</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;defaultEntries)</pre>
 <div class="block">Adds default entries to these query parameters.
 
  <p>
@@ -406,7 +412,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.76">put</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.86">put</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                 <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets a request query parameter value.</div>
 <dl>
@@ -422,7 +428,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.97">getString</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.107">getString</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns a query parameter value.
 
  <p>
@@ -449,7 +455,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.121">getString</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.131">getString</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;def)</pre>
 <div class="block">Same as <a href="../../../../org/apache/juneau/rest/RequestQuery.html#getString-java.lang.String-"><code>getString(String)</code></a> but returns the specified default value if the query parameter was not
  specified.</div>
@@ -469,7 +475,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getInt</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.134">getInt</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.144">getInt</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Same as <a href="../../../../org/apache/juneau/rest/RequestQuery.html#getString-java.lang.String-"><code>getString(String)</code></a> but converts the value to an integer.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -486,7 +492,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getInt</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.147">getInt</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.157">getInt</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                   int&nbsp;def)</pre>
 <div class="block">Same as <a href="../../../../org/apache/juneau/rest/RequestQuery.html#getString-java.lang.String-java.lang.String-"><code>getString(String,String)</code></a> but converts the value to an integer.</div>
 <dl>
@@ -505,7 +511,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getBoolean</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.160">getBoolean</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.170">getBoolean</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Same as <a href="../../../../org/apache/juneau/rest/RequestQuery.html#getString-java.lang.String-"><code>getString(String)</code></a> but converts the value to a boolean.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -522,7 +528,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getBoolean</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.173">getBoolean</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.183">getBoolean</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                           boolean&nbsp;def)</pre>
 <div class="block">Same as <a href="../../../../org/apache/juneau/rest/RequestQuery.html#getString-java.lang.String-java.lang.String-"><code>getString(String,String)</code></a> but converts the value to a boolean.</div>
 <dl>
@@ -541,7 +547,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.209">get</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.219">get</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)
           throws <a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></pre>
 <div class="block">Returns the specified query parameter value converted to a POJO.
@@ -588,7 +594,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.223">get</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.233">get</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                  T&nbsp;def,
                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)
           throws <a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></pre>
@@ -613,7 +619,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.266">get</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.276">get</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;type,
                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>...&nbsp;args)
           throws <a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></pre>
@@ -665,7 +671,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.288">get</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.298">get</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;def,
                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;type,
                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>...&nbsp;args)
@@ -697,7 +703,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getAll</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.305">getAll</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.315">getAll</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;c)
              throws <a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></pre>
 <div class="block">Same as <a href="../../../../org/apache/juneau/rest/RequestQuery.html#get-java.lang.String-java.lang.Class-"><code>get(String, Class)</code></a> except for use on multi-part parameters
@@ -724,7 +730,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getAll</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.330">getAll</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.340">getAll</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;type,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>...&nbsp;args)
              throws <a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></pre>
@@ -758,7 +764,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>containsAnyKeys</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.340">containsAnyKeys</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;params)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.350">containsAnyKeys</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;params)</pre>
 <div class="block">Returns <jk>true</jk> if the request contains any of the specified query parameters.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -774,7 +780,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getSearchArgs</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/utils/SearchArgs.html" title="class in org.apache.juneau.utils">SearchArgs</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.382">getSearchArgs</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/utils/SearchArgs.html" title="class in org.apache.juneau.utils">SearchArgs</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.392">getSearchArgs</a>()</pre>
 <div class="block">Locates the special search query arguments in the query and returns them as a <a href="../../../../org/apache/juneau/utils/SearchArgs.html" title="class in org.apache.juneau.utils"><code>SearchArgs</code></a> object.
 
  <p>
@@ -817,7 +823,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>hasAny</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.402">hasAny</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;paramNames)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.412">hasAny</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;paramNames)</pre>
 <div class="block">Returns <jk>true</jk> if the query parameters contains any of the specified names.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -833,7 +839,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.462">toString</a>(boolean&nbsp;sorted)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.472">toString</a>(boolean&nbsp;sorted)</pre>
 <div class="block">Converts the query parameters to a readable string.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -843,13 +849,30 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 </dl>
 </li>
 </ul>
+<a name="toQueryString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toQueryString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.489">toQueryString</a>()</pre>
+<div class="block">Converts this object to a query string.
+
+ <p>
+ Returned query string does not start with <js>'?'</js>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A new query string, or an empty string if this object is empty.</dd>
+</dl>
+</li>
+</ul>
 <a name="toString--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.472">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RequestQuery.html#line.502">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/AbstractMap.html?is-external=true#toString--" title="class or interface in java.util">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util">AbstractMap</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&gt;</code></dd>


[02/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/rest/widget/QueryMenuItem.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/widget/QueryMenuItem.html b/content/site/apidocs/src-html/org/apache/juneau/rest/widget/QueryMenuItem.html
index 99cc4f1..7f75e8f 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/widget/QueryMenuItem.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/widget/QueryMenuItem.html
@@ -45,54 +45,61 @@
 <span class="sourceLineNo">037</span> *          QueryMenuItem.&lt;jk&gt;class&lt;/jk&gt;,<a name="line.37"></a>
 <span class="sourceLineNo">038</span> *       },<a name="line.38"></a>
 <span class="sourceLineNo">039</span> *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.39"></a>
-<span class="sourceLineNo">040</span> *          links=&lt;js&gt;"{up:'...',options:'...',query:'$W{queryMenuItem}',contentTypes:'...',source:'...'}"&lt;/js&gt;<a name="line.40"></a>
-<span class="sourceLineNo">041</span> *       ),<a name="line.41"></a>
-<span class="sourceLineNo">042</span> *       converters=Queryable.&lt;jk&gt;class&lt;/jk&gt;<a name="line.42"></a>
-<span class="sourceLineNo">043</span> *    )<a name="line.43"></a>
-<span class="sourceLineNo">044</span> *    &lt;jk&gt;public&lt;/jk&gt; Collection&amp;lt;Pet&amp;gt; getPets() {<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * &lt;/p&gt;<a name="line.45"></a>
-<span class="sourceLineNo">046</span> *<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * &lt;p&gt;<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * It renders the following popup-box:<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * &lt;br&gt;&lt;img class='bordered' src='doc-files/QueryMenuItem_1.png'&gt;<a name="line.49"></a>
-<span class="sourceLineNo">050</span> *<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * &lt;p&gt;<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * Tooltips are provided by hovering over the field names.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * &lt;br&gt;&lt;img class='bordered' src='doc-files/QueryMenuItem_2.png'&gt;<a name="line.53"></a>
-<span class="sourceLineNo">054</span> *<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * &lt;p&gt;<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * When submitted, the form submits a GET request against the current URI with special GET search API query parameters.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * &lt;br&gt;(e.g. &lt;js&gt;"?s=column1=Foo*&amp;amp;v=column1,column2&amp;amp;o=column1,column2-&amp;amp;p=100&amp;amp;l=100"&lt;/js&gt;).<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * &lt;br&gt;The {@link Queryable} class knows how to perform these filters against collections of POJOs.<a name="line.58"></a>
-<span class="sourceLineNo">059</span> */<a name="line.59"></a>
-<span class="sourceLineNo">060</span>public class QueryMenuItem extends MenuItemWidget {<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span>   /**<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    * Returns &lt;js&gt;"queryMenuItem"&lt;/js&gt;.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   @Override /* Widget */<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   public String getName() {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      return "queryMenuItem";<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   }<a name="line.68"></a>
-<span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span>   /**<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    * Returns CSS for the tooltips.<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   @Override<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   public String getStyle(RestRequest req) throws Exception {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      return super.getStyle(req)<a name="line.75"></a>
-<span class="sourceLineNo">076</span>         + "\n"<a name="line.76"></a>
-<span class="sourceLineNo">077</span>         + loadStyle("QueryMenuItem.css");<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   }<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>   /**<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    * Returns the HTML for rendering the query form and tooltips.<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   @Override /* Widget */<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   public String getHtml(RestRequest req) throws Exception {<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      return getResourceAsString("QueryMenuItem.html");<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   }<a name="line.86"></a>
-<span class="sourceLineNo">087</span>}<a name="line.87"></a>
+<span class="sourceLineNo">040</span> *          links={<a name="line.40"></a>
+<span class="sourceLineNo">041</span> *             &lt;js&gt;"up: ..."&lt;/js&gt;,<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *             &lt;js&gt;"options: ..."&lt;/js&gt;,<a name="line.42"></a>
+<span class="sourceLineNo">043</span> *             &lt;js&gt;"$W{queryMenuItem}"&lt;/js&gt;,<a name="line.43"></a>
+<span class="sourceLineNo">044</span> *             &lt;js&gt;"$W{contentTypeMenuItem}"&lt;/js&gt;,<a name="line.44"></a>
+<span class="sourceLineNo">045</span> *             &lt;js&gt;"$W{styleMenuItem}"&lt;/js&gt;,<a name="line.45"></a>
+<span class="sourceLineNo">046</span> *             &lt;js&gt;"source: ..."&lt;/js&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> *          }<a name="line.47"></a>
+<span class="sourceLineNo">048</span> *       ),<a name="line.48"></a>
+<span class="sourceLineNo">049</span> *       converters=Queryable.&lt;jk&gt;class&lt;/jk&gt;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> *    )<a name="line.50"></a>
+<span class="sourceLineNo">051</span> *    &lt;jk&gt;public&lt;/jk&gt; Collection&amp;lt;Pet&amp;gt; getPets() {<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * &lt;/p&gt;<a name="line.52"></a>
+<span class="sourceLineNo">053</span> *<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * &lt;p&gt;<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * It renders the following popup-box:<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * &lt;br&gt;&lt;img class='bordered' src='doc-files/QueryMenuItem_1.png'&gt;<a name="line.56"></a>
+<span class="sourceLineNo">057</span> *<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * &lt;p&gt;<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * Tooltips are provided by hovering over the field names.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * &lt;br&gt;&lt;img class='bordered' src='doc-files/QueryMenuItem_2.png'&gt;<a name="line.60"></a>
+<span class="sourceLineNo">061</span> *<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * &lt;p&gt;<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * When submitted, the form submits a GET request against the current URI with special GET search API query parameters.<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * &lt;br&gt;(e.g. &lt;js&gt;"?s=column1=Foo*&amp;amp;v=column1,column2&amp;amp;o=column1,column2-&amp;amp;p=100&amp;amp;l=100"&lt;/js&gt;).<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * &lt;br&gt;The {@link Queryable} class knows how to perform these filters against collections of POJOs.<a name="line.65"></a>
+<span class="sourceLineNo">066</span> */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>public class QueryMenuItem extends MenuItemWidget {<a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68"></a>
+<span class="sourceLineNo">069</span>   /**<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    * Returns &lt;js&gt;"queryMenuItem"&lt;/js&gt;.<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    */<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   @Override /* Widget */<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   public String getName() {<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      return "queryMenuItem";<a name="line.74"></a>
+<span class="sourceLineNo">075</span>   }<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>   /**<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    * Returns CSS for the tooltips.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    */<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   @Override<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   public String getStyle(RestRequest req) throws Exception {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      return super.getStyle(req)<a name="line.82"></a>
+<span class="sourceLineNo">083</span>         + "\n"<a name="line.83"></a>
+<span class="sourceLineNo">084</span>         + loadStyle("QueryMenuItem.css");<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   }<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>   /**<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    * Returns the HTML for rendering the query form and tooltips.<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   @Override /* Widget */<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   public String getHtml(RestRequest req) throws Exception {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      return loadHtml("QueryMenuItem.html");<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   }<a name="line.93"></a>
+<span class="sourceLineNo">094</span>}<a name="line.94"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/rest/widget/StyleMenuItem.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/widget/StyleMenuItem.html b/content/site/apidocs/src-html/org/apache/juneau/rest/widget/StyleMenuItem.html
index 0905f66..d3f8fa5 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/widget/StyleMenuItem.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/widget/StyleMenuItem.html
@@ -20,8 +20,8 @@
 <span class="sourceLineNo">012</span>// ***************************************************************************************************************************<a name="line.12"></a>
 <span class="sourceLineNo">013</span>package org.apache.juneau.rest.widget;<a name="line.13"></a>
 <span class="sourceLineNo">014</span><a name="line.14"></a>
-<span class="sourceLineNo">015</span>import org.apache.juneau.*;<a name="line.15"></a>
-<span class="sourceLineNo">016</span>import org.apache.juneau.rest.*;<a name="line.16"></a>
+<span class="sourceLineNo">015</span>import org.apache.juneau.rest.*;<a name="line.15"></a>
+<span class="sourceLineNo">016</span>import org.apache.juneau.utils.*;<a name="line.16"></a>
 <span class="sourceLineNo">017</span><a name="line.17"></a>
 <span class="sourceLineNo">018</span>/**<a name="line.18"></a>
 <span class="sourceLineNo">019</span> * Widget that returns back a list of hyperlinks for rendering the contents of a page in the various default styles.<a name="line.19"></a>
@@ -40,48 +40,54 @@
 <span class="sourceLineNo">032</span> *          StyleMenuItem.&lt;jk&gt;class&lt;/jk&gt;,<a name="line.32"></a>
 <span class="sourceLineNo">033</span> *       },<a name="line.33"></a>
 <span class="sourceLineNo">034</span> *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.34"></a>
-<span class="sourceLineNo">035</span> *          links=&lt;js&gt;"{up:'...',options:'...',query:'...',contentTypes:'...',style='$W{styleMenuItem}',source:'...'}"&lt;/js&gt;<a name="line.35"></a>
-<span class="sourceLineNo">036</span> *       )<a name="line.36"></a>
-<span class="sourceLineNo">037</span> *    )<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *    &lt;jk&gt;public&lt;/jk&gt; Collection&amp;lt;Pet&amp;gt; getPets() {<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * &lt;/p&gt;<a name="line.39"></a>
-<span class="sourceLineNo">040</span> */<a name="line.40"></a>
-<span class="sourceLineNo">041</span>public class StyleMenuItem extends MenuItemWidget {<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>   private static final String[] BUILT_IN_STYLES = {"devops", "light", "original"};<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span>   /**<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    * Returns &lt;js&gt;"styleMenuItem"&lt;/js&gt;.<a name="line.46"></a>
-<span class="sourceLineNo">047</span>    */<a name="line.47"></a>
-<span class="sourceLineNo">048</span>   @Override /* Widget */<a name="line.48"></a>
-<span class="sourceLineNo">049</span>   public String getName() {<a name="line.49"></a>
-<span class="sourceLineNo">050</span>      return "styleMenuItem";<a name="line.50"></a>
-<span class="sourceLineNo">051</span>   }<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>   /**<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    * Looks at the supported media types from the request and constructs a list of hyperlinks to render the data<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    * as plain-text.<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    */<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   @Override /* Widget */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   public String getHtml(RestRequest req) throws Exception {<a name="line.58"></a>
-<span class="sourceLineNo">059</span>      UriResolver r = req.getUriResolver();<a name="line.59"></a>
-<span class="sourceLineNo">060</span>      StringBuilder sb = new StringBuilder();<a name="line.60"></a>
-<span class="sourceLineNo">061</span>      sb.append(""<a name="line.61"></a>
-<span class="sourceLineNo">062</span>         + "&lt;div class='menu-item'&gt;"<a name="line.62"></a>
-<span class="sourceLineNo">063</span>         + "\n\t&lt;a class='link' onclick='menuClick(this)'&gt;styles&lt;/a&gt;"<a name="line.63"></a>
-<span class="sourceLineNo">064</span>         + "\n\t&lt;div class='popup-content'&gt;"<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      );<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      for (String s : BUILT_IN_STYLES) {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>         sb.append("\n\t\t&lt;a class='link' href='").append(r.resolve("request:/?stylesheet=styles/"+s+".css"))<a name="line.67"></a>
-<span class="sourceLineNo">068</span>         .append("'&gt;").append(s).append("&lt;/a&gt;&lt;br&gt;");<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      }<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      sb.append(""<a name="line.70"></a>
-<span class="sourceLineNo">071</span>         + "\n\t&lt;/div&gt;"<a name="line.71"></a>
-<span class="sourceLineNo">072</span>         + "\n&lt;/div&gt;"<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      );<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      return sb.toString();<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   }<a name="line.75"></a>
-<span class="sourceLineNo">076</span>}<a name="line.76"></a>
+<span class="sourceLineNo">035</span> *          links={<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *             &lt;js&gt;"up: ..."&lt;/js&gt;,<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *             &lt;js&gt;"options: ..."&lt;/js&gt;,<a name="line.37"></a>
+<span class="sourceLineNo">038</span> *             &lt;js&gt;"$W{queryMenuItem}"&lt;/js&gt;,<a name="line.38"></a>
+<span class="sourceLineNo">039</span> *             &lt;js&gt;"$W{contentTypeMenuItem}"&lt;/js&gt;,<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *             &lt;js&gt;"$W{styleMenuItem}"&lt;/js&gt;,<a name="line.40"></a>
+<span class="sourceLineNo">041</span> *             &lt;js&gt;"source: ..."&lt;/js&gt;<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *          }<a name="line.42"></a>
+<span class="sourceLineNo">043</span> *       )<a name="line.43"></a>
+<span class="sourceLineNo">044</span> *    )<a name="line.44"></a>
+<span class="sourceLineNo">045</span> *    &lt;jk&gt;public&lt;/jk&gt; Collection&amp;lt;Pet&amp;gt; getPets() {<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;/p&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>public class StyleMenuItem extends MenuItemWidget {<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>   private static final String[] BUILT_IN_STYLES = {"devops", "light", "original"};<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>   /**<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    * Returns &lt;js&gt;"styleMenuItem"&lt;/js&gt;.<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    */<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   @Override /* Widget */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   public String getName() {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      return "styleMenuItem";<a name="line.57"></a>
+<span class="sourceLineNo">058</span>   }<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>   /**<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    * Looks at the supported media types from the request and constructs a list of hyperlinks to render the data<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    * as plain-text.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   @Override /* Widget */<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   public String getHtml(RestRequest req) throws Exception {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      StringBuilder sb = new StringBuilder();<a name="line.66"></a>
+<span class="sourceLineNo">067</span>      sb.append(""<a name="line.67"></a>
+<span class="sourceLineNo">068</span>         + "&lt;div class='menu-item'&gt;"<a name="line.68"></a>
+<span class="sourceLineNo">069</span>         + "\n\t&lt;a class='link' onclick='menuClick(this)'&gt;styles&lt;/a&gt;"<a name="line.69"></a>
+<span class="sourceLineNo">070</span>         + "\n\t&lt;div class='popup-content'&gt;"<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      );<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      for (String s : BUILT_IN_STYLES) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>         java.net.URI uri = req.getUri(true, new AMap&lt;String,String&gt;().append("stylesheet", "styles/"+s+".css"));<a name="line.73"></a>
+<span class="sourceLineNo">074</span>         sb.append("\n\t\t&lt;a class='link' href='").append(uri).append("'&gt;").append(s).append("&lt;/a&gt;&lt;br&gt;");<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      }<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      sb.append(""<a name="line.76"></a>
+<span class="sourceLineNo">077</span>         + "\n\t&lt;/div&gt;"<a name="line.77"></a>
+<span class="sourceLineNo">078</span>         + "\n&lt;/div&gt;"<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      );<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      return sb.toString();<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   }<a name="line.81"></a>
+<span class="sourceLineNo">082</span>}<a name="line.82"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/rest/widget/Widget.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/widget/Widget.html b/content/site/apidocs/src-html/org/apache/juneau/rest/widget/Widget.html
index 7497d8c..0127ab4 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/widget/Widget.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/widget/Widget.html
@@ -57,225 +57,229 @@
 <span class="sourceLineNo">049</span> *          MyWidget.&lt;jk&gt;class&lt;/jk&gt;<a name="line.49"></a>
 <span class="sourceLineNo">050</span> *       }<a name="line.50"></a>
 <span class="sourceLineNo">051</span> *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.51"></a>
-<span class="sourceLineNo">052</span> *          links=&lt;js&gt;"{mylink:'$W{myWidget}'}"&lt;/js&gt;,<a name="line.52"></a>
-<span class="sourceLineNo">053</span> *          aside=&lt;js&gt;"Check out this widget:  $W{myWidget}"&lt;/js&gt;<a name="line.53"></a>
-<span class="sourceLineNo">054</span> *       )<a name="line.54"></a>
-<span class="sourceLineNo">055</span> *    )<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * &lt;/p&gt;<a name="line.56"></a>
-<span class="sourceLineNo">057</span> *<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * &lt;p&gt;<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * The following shows an example of a widget that renders an image located in the &lt;code&gt;htdocs&lt;/code&gt; static files<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * directory in your classpath (see {@link RestResource#staticFiles()}):<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * &lt;p class='bcode'&gt;<a name="line.61"></a>
-<span class="sourceLineNo">062</span> *    &lt;jk&gt;public class&lt;/jk&gt; MyWidget &lt;jk&gt;extends&lt;/jk&gt; Widget {<a name="line.62"></a>
-<span class="sourceLineNo">063</span> *<a name="line.63"></a>
-<span class="sourceLineNo">064</span> *       &lt;ja&gt;@Override&lt;/ja&gt;<a name="line.64"></a>
-<span class="sourceLineNo">065</span> *       &lt;jk&gt;public&lt;/jk&gt; String getName(RestRequest req) {<a name="line.65"></a>
-<span class="sourceLineNo">066</span> *          return &lt;js&gt;"myWidget"&lt;/js&gt;;<a name="line.66"></a>
-<span class="sourceLineNo">067</span> *       }<a name="line.67"></a>
-<span class="sourceLineNo">068</span> *<a name="line.68"></a>
-<span class="sourceLineNo">069</span> *       &lt;ja&gt;@Override&lt;/ja&gt;<a name="line.69"></a>
-<span class="sourceLineNo">070</span> *       &lt;jk&gt;public&lt;/jk&gt; String getHtml(RestRequest req) &lt;jk&gt;throws&lt;/jk&gt; Exception {<a name="line.70"></a>
-<span class="sourceLineNo">071</span> *          UriResolver r = req.getUriResolver();<a name="line.71"></a>
-<span class="sourceLineNo">072</span> *          &lt;jk&gt;return&lt;/jk&gt; &lt;js&gt;"&amp;lt;img class='myimage' onclick='myalert(this)' src='"&lt;/js&gt;+r.resolve(&lt;js&gt;"servlet:/htdocs/myimage.png"&lt;/js&gt;)+&lt;js&gt;"'&amp;gt;"&lt;/js&gt;;<a name="line.72"></a>
-<span class="sourceLineNo">073</span> *       }<a name="line.73"></a>
-<span class="sourceLineNo">074</span> *<a name="line.74"></a>
-<span class="sourceLineNo">075</span> *       &lt;ja&gt;@Override&lt;/ja&gt;<a name="line.75"></a>
-<span class="sourceLineNo">076</span> *       &lt;jk&gt;public&lt;/jk&gt; String getScript(RestRequest req) &lt;jk&gt;throws&lt;/jk&gt; Exception {<a name="line.76"></a>
-<span class="sourceLineNo">077</span> *          &lt;jk&gt;return&lt;/jk&gt; &lt;js&gt;""&lt;/js&gt;<a name="line.77"></a>
-<span class="sourceLineNo">078</span> *             + &lt;js&gt;"\n function myalert(imageElement) {"&lt;/js&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span> *             + &lt;js&gt;"\n   alert('cool!');"&lt;/js&gt;<a name="line.79"></a>
-<span class="sourceLineNo">080</span> *             + &lt;js&gt;"\n }"&lt;/js&gt;;<a name="line.80"></a>
-<span class="sourceLineNo">081</span> *       }<a name="line.81"></a>
-<span class="sourceLineNo">082</span> *<a name="line.82"></a>
-<span class="sourceLineNo">083</span> *       &lt;ja&gt;@Override&lt;/ja&gt;<a name="line.83"></a>
-<span class="sourceLineNo">084</span> *       &lt;jk&gt;public&lt;/jk&gt; String getStyle(RestRequest req) &lt;jk&gt;throws&lt;/jk&gt; Exception {<a name="line.84"></a>
-<span class="sourceLineNo">085</span> *          &lt;jk&gt;return&lt;/jk&gt; &lt;js&gt;""&lt;/js&gt;<a name="line.85"></a>
-<span class="sourceLineNo">086</span> *             + &lt;js&gt;"\n .myimage {"&lt;/js&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</span> *             + &lt;js&gt;"\n   border: 10px solid red;"&lt;/js&gt;<a name="line.87"></a>
-<span class="sourceLineNo">088</span> *             + &lt;js&gt;"\n }"&lt;/js&gt;;<a name="line.88"></a>
-<span class="sourceLineNo">089</span> *       }<a name="line.89"></a>
-<span class="sourceLineNo">090</span> *    }<a name="line.90"></a>
-<span class="sourceLineNo">091</span> * &lt;/p&gt;<a name="line.91"></a>
-<span class="sourceLineNo">092</span> *<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * &lt;p&gt;<a name="line.93"></a>
-<span class="sourceLineNo">094</span> * Note the {@link #getResourceAsString(String)} and {@link #getResourceAsString(String, Locale)} convenience methods<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * provided for quickly loading javascript and css files from the classpath or file system.<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * These are useful if your script or styles are complex and you want them loaded from files.<a name="line.96"></a>
-<span class="sourceLineNo">097</span> *<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * &lt;p&gt;<a name="line.98"></a>
-<span class="sourceLineNo">099</span> * &lt;p class='bcode'&gt;<a name="line.99"></a>
-<span class="sourceLineNo">100</span> *    &lt;jk&gt;public class&lt;/jk&gt; MyWidget &lt;jk&gt;extends&lt;/jk&gt; Widget {<a name="line.100"></a>
+<span class="sourceLineNo">052</span> *          links={<a name="line.52"></a>
+<span class="sourceLineNo">053</span> *             &lt;js&gt;"$W{myWidget}"&lt;/js&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> *          },<a name="line.54"></a>
+<span class="sourceLineNo">055</span> *          aside={<a name="line.55"></a>
+<span class="sourceLineNo">056</span> *             &lt;js&gt;"Check out this widget:  $W{myWidget}"&lt;/js&gt;<a name="line.56"></a>
+<span class="sourceLineNo">057</span> *          }<a name="line.57"></a>
+<span class="sourceLineNo">058</span> *       )<a name="line.58"></a>
+<span class="sourceLineNo">059</span> *    )<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * &lt;/p&gt;<a name="line.60"></a>
+<span class="sourceLineNo">061</span> *<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * &lt;p&gt;<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * The following shows an example of a widget that renders an image located in the &lt;code&gt;htdocs&lt;/code&gt; static files<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * directory in your classpath (see {@link RestResource#staticFiles()}):<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * &lt;p class='bcode'&gt;<a name="line.65"></a>
+<span class="sourceLineNo">066</span> *    &lt;jk&gt;public class&lt;/jk&gt; MyWidget &lt;jk&gt;extends&lt;/jk&gt; Widget {<a name="line.66"></a>
+<span class="sourceLineNo">067</span> *<a name="line.67"></a>
+<span class="sourceLineNo">068</span> *       &lt;ja&gt;@Override&lt;/ja&gt;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> *       &lt;jk&gt;public&lt;/jk&gt; String getName(RestRequest req) {<a name="line.69"></a>
+<span class="sourceLineNo">070</span> *          return &lt;js&gt;"myWidget"&lt;/js&gt;;<a name="line.70"></a>
+<span class="sourceLineNo">071</span> *       }<a name="line.71"></a>
+<span class="sourceLineNo">072</span> *<a name="line.72"></a>
+<span class="sourceLineNo">073</span> *       &lt;ja&gt;@Override&lt;/ja&gt;<a name="line.73"></a>
+<span class="sourceLineNo">074</span> *       &lt;jk&gt;public&lt;/jk&gt; String getHtml(RestRequest req) &lt;jk&gt;throws&lt;/jk&gt; Exception {<a name="line.74"></a>
+<span class="sourceLineNo">075</span> *          UriResolver r = req.getUriResolver();<a name="line.75"></a>
+<span class="sourceLineNo">076</span> *          &lt;jk&gt;return&lt;/jk&gt; &lt;js&gt;"&amp;lt;img class='myimage' onclick='myalert(this)' src='"&lt;/js&gt;+r.resolve(&lt;js&gt;"servlet:/htdocs/myimage.png"&lt;/js&gt;)+&lt;js&gt;"'&amp;gt;"&lt;/js&gt;;<a name="line.76"></a>
+<span class="sourceLineNo">077</span> *       }<a name="line.77"></a>
+<span class="sourceLineNo">078</span> *<a name="line.78"></a>
+<span class="sourceLineNo">079</span> *       &lt;ja&gt;@Override&lt;/ja&gt;<a name="line.79"></a>
+<span class="sourceLineNo">080</span> *       &lt;jk&gt;public&lt;/jk&gt; String getScript(RestRequest req) &lt;jk&gt;throws&lt;/jk&gt; Exception {<a name="line.80"></a>
+<span class="sourceLineNo">081</span> *          &lt;jk&gt;return&lt;/jk&gt; &lt;js&gt;""&lt;/js&gt;<a name="line.81"></a>
+<span class="sourceLineNo">082</span> *             + &lt;js&gt;"\n function myalert(imageElement) {"&lt;/js&gt;<a name="line.82"></a>
+<span class="sourceLineNo">083</span> *             + &lt;js&gt;"\n   alert('cool!');"&lt;/js&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> *             + &lt;js&gt;"\n }"&lt;/js&gt;;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> *       }<a name="line.85"></a>
+<span class="sourceLineNo">086</span> *<a name="line.86"></a>
+<span class="sourceLineNo">087</span> *       &lt;ja&gt;@Override&lt;/ja&gt;<a name="line.87"></a>
+<span class="sourceLineNo">088</span> *       &lt;jk&gt;public&lt;/jk&gt; String getStyle(RestRequest req) &lt;jk&gt;throws&lt;/jk&gt; Exception {<a name="line.88"></a>
+<span class="sourceLineNo">089</span> *          &lt;jk&gt;return&lt;/jk&gt; &lt;js&gt;""&lt;/js&gt;<a name="line.89"></a>
+<span class="sourceLineNo">090</span> *             + &lt;js&gt;"\n .myimage {"&lt;/js&gt;<a name="line.90"></a>
+<span class="sourceLineNo">091</span> *             + &lt;js&gt;"\n   border: 10px solid red;"&lt;/js&gt;<a name="line.91"></a>
+<span class="sourceLineNo">092</span> *             + &lt;js&gt;"\n }"&lt;/js&gt;;<a name="line.92"></a>
+<span class="sourceLineNo">093</span> *       }<a name="line.93"></a>
+<span class="sourceLineNo">094</span> *    }<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * &lt;/p&gt;<a name="line.95"></a>
+<span class="sourceLineNo">096</span> *<a name="line.96"></a>
+<span class="sourceLineNo">097</span> * &lt;p&gt;<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * Note the {@link #getResourceAsString(String)} and {@link #getResourceAsString(String, Locale)} convenience methods<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * provided for quickly loading javascript and css files from the classpath or file system.<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * These are useful if your script or styles are complex and you want them loaded from files.<a name="line.100"></a>
 <span class="sourceLineNo">101</span> *<a name="line.101"></a>
-<span class="sourceLineNo">102</span> *       ...<a name="line.102"></a>
-<span class="sourceLineNo">103</span> *<a name="line.103"></a>
-<span class="sourceLineNo">104</span> *       &lt;ja&gt;@Override&lt;/ja&gt;<a name="line.104"></a>
-<span class="sourceLineNo">105</span> *       &lt;jk&gt;public&lt;/jk&gt; String getScript(RestRequest req) &lt;jk&gt;throws&lt;/jk&gt; Exception {<a name="line.105"></a>
-<span class="sourceLineNo">106</span> *          &lt;jk&gt;return&lt;/jk&gt; getResourceAsString(&lt;js&gt;"MyWidget.js"&lt;/js&gt;);<a name="line.106"></a>
-<span class="sourceLineNo">107</span> *       }<a name="line.107"></a>
-<span class="sourceLineNo">108</span> *<a name="line.108"></a>
-<span class="sourceLineNo">109</span> *       &lt;ja&gt;@Override&lt;/ja&gt;<a name="line.109"></a>
-<span class="sourceLineNo">110</span> *       &lt;jk&gt;public&lt;/jk&gt; String getStyle(RestRequest req) &lt;jk&gt;throws&lt;/jk&gt; Exception {<a name="line.110"></a>
-<span class="sourceLineNo">111</span> *          &lt;jk&gt;return&lt;/jk&gt; getResourceAsString(&lt;js&gt;"MyWidget.css"&lt;/js&gt;);<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> * &lt;/p&gt;<a name="line.114"></a>
-<span class="sourceLineNo">115</span> */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>public abstract class Widget {<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>   private final ResourceFinder resourceFinder = new ResourceFinder(getClass());<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>   /**<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    * The widget key.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    *<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    * &lt;p&gt;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    * (i.e. The contents of the &lt;js&gt;"$W{...}"&lt;/js&gt; variable).<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    *<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    * &lt;p&gt;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    * The returned value must not be &lt;jk&gt;null&lt;/jk&gt;.<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    *<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    * @return The widget key.<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    */<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   public abstract String getName();<a name="line.131"></a>
-<span class="sourceLineNo">132</span><a name="line.132"></a>
-<span class="sourceLineNo">133</span>   /**<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    * Resolves the HTML content for this widget.<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    *<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    * &lt;p&gt;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    * A returned value of &lt;jk&gt;null&lt;/jk&gt; will cause nothing to be added to the page.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    *<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    * @param req The HTTP request object.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    * @return The HTML content of this widget.<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    * @throws Exception<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    */<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   public String getHtml(RestRequest req) throws Exception {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      return null;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   }<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>   /**<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    * Resolves any Javascript that should be added to the &lt;xt&gt;&amp;lt;head&amp;gt;/&amp;lt;script&amp;gt;&lt;/xt&gt; element.<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    *<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    * &lt;p&gt;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    * A returned value of &lt;jk&gt;null&lt;/jk&gt; will cause nothing to be added to the page.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    *<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    * @param req The HTTP request object.<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    * @return The Javascript needed by this widget.<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    * @throws Exception<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   public String getScript(RestRequest req) throws Exception {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      return null;<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>   /**<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    * Resolves any CSS styles that should be added to the &lt;xt&gt;&amp;lt;head&amp;gt;/&amp;lt;style&amp;gt;&lt;/xt&gt; element.<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    *<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    * &lt;p&gt;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    * A returned value of &lt;jk&gt;null&lt;/jk&gt; will cause nothing to be added to the page.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    *<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    * @param req The HTTP request object.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    * @return The CSS styles needed by this widget.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    * @throws Exception<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    */<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   public String getStyle(RestRequest req) throws Exception {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      return null;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   }<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span>   /**<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    * Retrieves the specified classpath resource and returns the contents as a string.<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    *<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    * &lt;p&gt;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    * Same as {@link Class#getResourceAsStream(String)} except if it doesn't find the resource on this class, searches<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    * up the parent hierarchy chain.<a name="line.180"></a>
+<span class="sourceLineNo">102</span> * &lt;p&gt;<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * &lt;p class='bcode'&gt;<a name="line.103"></a>
+<span class="sourceLineNo">104</span> *    &lt;jk&gt;public class&lt;/jk&gt; MyWidget &lt;jk&gt;extends&lt;/jk&gt; Widget {<a name="line.104"></a>
+<span class="sourceLineNo">105</span> *<a name="line.105"></a>
+<span class="sourceLineNo">106</span> *       ...<a name="line.106"></a>
+<span class="sourceLineNo">107</span> *<a name="line.107"></a>
+<span class="sourceLineNo">108</span> *       &lt;ja&gt;@Override&lt;/ja&gt;<a name="line.108"></a>
+<span class="sourceLineNo">109</span> *       &lt;jk&gt;public&lt;/jk&gt; String getScript(RestRequest req) &lt;jk&gt;throws&lt;/jk&gt; Exception {<a name="line.109"></a>
+<span class="sourceLineNo">110</span> *          &lt;jk&gt;return&lt;/jk&gt; getResourceAsString(&lt;js&gt;"MyWidget.js"&lt;/js&gt;);<a name="line.110"></a>
+<span class="sourceLineNo">111</span> *       }<a name="line.111"></a>
+<span class="sourceLineNo">112</span> *<a name="line.112"></a>
+<span class="sourceLineNo">113</span> *       &lt;ja&gt;@Override&lt;/ja&gt;<a name="line.113"></a>
+<span class="sourceLineNo">114</span> *       &lt;jk&gt;public&lt;/jk&gt; String getStyle(RestRequest req) &lt;jk&gt;throws&lt;/jk&gt; Exception {<a name="line.114"></a>
+<span class="sourceLineNo">115</span> *          &lt;jk&gt;return&lt;/jk&gt; getResourceAsString(&lt;js&gt;"MyWidget.css"&lt;/js&gt;);<a name="line.115"></a>
+<span class="sourceLineNo">116</span> *       }<a name="line.116"></a>
+<span class="sourceLineNo">117</span> *    }<a name="line.117"></a>
+<span class="sourceLineNo">118</span> * &lt;/p&gt;<a name="line.118"></a>
+<span class="sourceLineNo">119</span> */<a name="line.119"></a>
+<span class="sourceLineNo">120</span>public abstract class Widget {<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>   private final ResourceFinder resourceFinder = new ResourceFinder(getClass());<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>   /**<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    * The widget key.<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    *<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    * &lt;p&gt;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    * (i.e. The contents of the &lt;js&gt;"$W{...}"&lt;/js&gt; variable).<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    *<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    * &lt;p&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    * The returned value must not be &lt;jk&gt;null&lt;/jk&gt;.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    *<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    * @return The widget key.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    */<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   public abstract String getName();<a name="line.135"></a>
+<span class="sourceLineNo">136</span><a name="line.136"></a>
+<span class="sourceLineNo">137</span>   /**<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    * Resolves the HTML content for this widget.<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    *<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    * &lt;p&gt;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    * A returned value of &lt;jk&gt;null&lt;/jk&gt; will cause nothing to be added to the page.<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    *<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    * @param req The HTTP request object.<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    * @return The HTML content of this widget.<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    * @throws Exception<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    */<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   public String getHtml(RestRequest req) throws Exception {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      return null;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   }<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>   /**<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    * Resolves any Javascript that should be added to the &lt;xt&gt;&amp;lt;head&amp;gt;/&amp;lt;script&amp;gt;&lt;/xt&gt; element.<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    *<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    * &lt;p&gt;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    * A returned value of &lt;jk&gt;null&lt;/jk&gt; will cause nothing to be added to the page.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    *<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    * @param req The HTTP request object.<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    * @return The Javascript needed by this widget.<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    * @throws Exception<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   public String getScript(RestRequest req) throws Exception {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      return null;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   }<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>    * Resolves any CSS styles that should be added to the &lt;xt&gt;&amp;lt;head&amp;gt;/&amp;lt;style&amp;gt;&lt;/xt&gt; element.<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    *<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    * &lt;p&gt;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    * A returned value of &lt;jk&gt;null&lt;/jk&gt; will cause nothing to be added to the page.<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    *<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    * @param req The HTTP request object.<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    * @return The CSS styles needed by this widget.<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    * @throws Exception<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    */<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   public String getStyle(RestRequest req) throws Exception {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      return null;<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>   /**<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    * Retrieves the specified classpath resource and returns the contents as a string.<a name="line.180"></a>
 <span class="sourceLineNo">181</span>    *<a name="line.181"></a>
 <span class="sourceLineNo">182</span>    * &lt;p&gt;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    * If the resource cannot be found in the classpath, then an attempt is made to look relative to the JVM working directory.<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    * &lt;br&gt;Path traversals outside the working directory are not allowed for security reasons.<a name="line.184"></a>
+<span class="sourceLineNo">183</span>    * Same as {@link Class#getResourceAsStream(String)} except if it doesn't find the resource on this class, searches<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    * up the parent hierarchy chain.<a name="line.184"></a>
 <span class="sourceLineNo">185</span>    *<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    * @param name Name of the desired resource.<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    * @return The resource converted to a string, or &lt;jk&gt;null&lt;/jk&gt; if the resource could not be found.<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    * @throws IOException<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    */<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   protected String getResourceAsString(String name) throws IOException {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      return resourceFinder.getResourceAsString(name);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   }<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>   /**<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    * Same as {@link #getResourceAsString(String)} except also looks for localized-versions of the file.<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    *<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    * &lt;p&gt;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    * If the &lt;code&gt;locale&lt;/code&gt; is specified, then we look for resources whose name matches that locale.<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    * &lt;br&gt;For example, if looking for the resource &lt;js&gt;"MyResource.txt"&lt;/js&gt; for the Japanese locale, we will look for<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    * files in the following order:<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    * &lt;ol&gt;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    *    &lt;li&gt;&lt;js&gt;"MyResource_ja_JP.txt"&lt;/js&gt;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    *    &lt;li&gt;&lt;js&gt;"MyResource_ja.txt"&lt;/js&gt;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    *    &lt;li&gt;&lt;js&gt;"MyResource.txt"&lt;/js&gt;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    * &lt;/ol&gt;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    *<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    *<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    * @param name Name of the desired resource.<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    * @param locale The locale.  Can be &lt;jk&gt;null&lt;/jk&gt;.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    * @return The resource converted to a string, or &lt;jk&gt;null&lt;/jk&gt; if the resource could not be found.<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    * @throws IOException<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   protected String getResourceAsString(String name, Locale locale) throws IOException {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      return resourceFinder.getResourceAsString(name, locale);<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   }<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>   /**<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    * Convenience method for calling {@link #getResourceAsString(String)} except also strips Javascript comments from<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    * the file.<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    *<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    * &lt;p&gt;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    * Comments are assumed to be Java-style block comments: &lt;js&gt;"/*"&lt;/js&gt;.<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    *<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    * @param name Name of the desired resource.<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    * @return The resource converted to a string, or &lt;jk&gt;null&lt;/jk&gt; if the resource could not be found.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    * @throws IOException<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    */<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   protected String loadScript(String name) throws IOException {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      String s = getResourceAsString(name);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      if (s != null)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>         s = s.replaceAll("(?s)\\/\\*(.*?)\\*\\/\\s*", "");<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      return s;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>   /**<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    * Convenience method for calling {@link #getResourceAsString(String)} except also strips CSS comments from<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    * the file.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    *<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    * &lt;p&gt;<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    * Comments are assumed to be Java-style block comments: &lt;js&gt;"/*"&lt;/js&gt;.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    *<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    * @param name Name of the desired resource.<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    * @return The resource converted to a string, or &lt;jk&gt;null&lt;/jk&gt; if the resource could not be found.<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    * @throws IOException<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    */<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   protected String loadStyle(String name) throws IOException {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>      String s = getResourceAsString(name);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      if (s != null)<a name="line.248"></a>
-<span class="sourceLineNo">249</span>         s = s.replaceAll("(?s)\\/\\*(.*?)\\*\\/\\s*", "");<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      return s;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   }<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>   /**<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    * Convenience method for calling {@link #getResourceAsString(String)} except also strips HTML comments from the<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    * file.<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    *<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    * &lt;p&gt;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    * Comment are assumed to be &lt;js&gt;"&lt;!-- --&gt;"&lt;/js&gt; code blocks.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    *<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    * @param name Name of the desired resource.<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    * @return The resource converted to a string, or &lt;jk&gt;null&lt;/jk&gt; if the resource could not be found.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    * @throws IOException<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    */<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   protected String loadHtml(String name) throws IOException {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      String s = getResourceAsString(name);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      if (s != null)<a name="line.266"></a>
-<span class="sourceLineNo">267</span>         s = s.replaceAll("(?s)&lt;!--(.*?)--&gt;\\s*", "");<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      return s;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   }<a name="line.269"></a>
-<span class="sourceLineNo">270</span>}<a name="line.270"></a>
+<span class="sourceLineNo">186</span>    * &lt;p&gt;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    * If the resource cannot be found in the classpath, then an attempt is made to look relative to the JVM working directory.<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    * &lt;br&gt;Path traversals outside the working directory are not allowed for security reasons.<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    *<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    * @param name Name of the desired resource.<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    * @return The resource converted to a string, or &lt;jk&gt;null&lt;/jk&gt; if the resource could not be found.<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    * @throws IOException<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    */<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   protected String getResourceAsString(String name) throws IOException {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      return resourceFinder.getResourceAsString(name);<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   }<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>   /**<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    * Same as {@link #getResourceAsString(String)} except also looks for localized-versions of the file.<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    *<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    * &lt;p&gt;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    * If the &lt;code&gt;locale&lt;/code&gt; is specified, then we look for resources whose name matches that locale.<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    * &lt;br&gt;For example, if looking for the resource &lt;js&gt;"MyResource.txt"&lt;/js&gt; for the Japanese locale, we will look for<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    * files in the following order:<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    * &lt;ol&gt;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    *    &lt;li&gt;&lt;js&gt;"MyResource_ja_JP.txt"&lt;/js&gt;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    *    &lt;li&gt;&lt;js&gt;"MyResource_ja.txt"&lt;/js&gt;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    *    &lt;li&gt;&lt;js&gt;"MyResource.txt"&lt;/js&gt;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    * &lt;/ol&gt;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    *<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    *<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    * @param name Name of the desired resource.<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    * @param locale The locale.  Can be &lt;jk&gt;null&lt;/jk&gt;.<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    * @return The resource converted to a string, or &lt;jk&gt;null&lt;/jk&gt; if the resource could not be found.<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    * @throws IOException<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    */<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   protected String getResourceAsString(String name, Locale locale) throws IOException {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      return resourceFinder.getResourceAsString(name, locale);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>   /**<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    * Convenience method for calling {@link #getResourceAsString(String)} except also strips Javascript comments from<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    * the file.<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    *<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    * &lt;p&gt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    * Comments are assumed to be Java-style block comments: &lt;js&gt;"/*"&lt;/js&gt;.<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    *<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    * @param name Name of the desired resource.<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    * @return The resource converted to a string, or &lt;jk&gt;null&lt;/jk&gt; if the resource could not be found.<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    * @throws IOException<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    */<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   protected String loadScript(String name) throws IOException {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      String s = getResourceAsString(name);<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      if (s != null)<a name="line.234"></a>
+<span class="sourceLineNo">235</span>         s = s.replaceAll("(?s)\\/\\*(.*?)\\*\\/\\s*", "");<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      return s;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   }<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>   /**<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    * Convenience method for calling {@link #getResourceAsString(String)} except also strips CSS comments from<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    * the file.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    *<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    * &lt;p&gt;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    * Comments are assumed to be Java-style block comments: &lt;js&gt;"/*"&lt;/js&gt;.<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    *<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    * @param name Name of the desired resource.<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    * @return The resource converted to a string, or &lt;jk&gt;null&lt;/jk&gt; if the resource could not be found.<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    * @throws IOException<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   protected String loadStyle(String name) throws IOException {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      String s = getResourceAsString(name);<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      if (s != null)<a name="line.252"></a>
+<span class="sourceLineNo">253</span>         s = s.replaceAll("(?s)\\/\\*(.*?)\\*\\/\\s*", "");<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      return s;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   }<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>   /**<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    * Convenience method for calling {@link #getResourceAsString(String)} except also strips HTML comments from the<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    * file.<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    *<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    * &lt;p&gt;<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    * Comment are assumed to be &lt;js&gt;"&lt;!-- --&gt;"&lt;/js&gt; code blocks.<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    *<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    * @param name Name of the desired resource.<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    * @return The resource converted to a string, or &lt;jk&gt;null&lt;/jk&gt; if the resource could not be found.<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    * @throws IOException<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    */<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   protected String loadHtml(String name) throws IOException {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      String s = getResourceAsString(name);<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      if (s != null)<a name="line.270"></a>
+<span class="sourceLineNo">271</span>         s = s.replaceAll("(?s)&lt;!--(.*?)--&gt;\\s*", "");<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      return s;<a name="line.272"></a>
+<span class="sourceLineNo">273</span>   }<a name="line.273"></a>
+<span class="sourceLineNo">274</span>}<a name="line.274"></a>
 
 
 


[13/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocSerializerSession.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocSerializerSession.html b/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocSerializerSession.html
index 0cf6b84..4bbbc49 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocSerializerSession.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocSerializerSession.html
@@ -43,244 +43,241 @@
 <span class="sourceLineNo">035</span>public final class HtmlDocSerializerSession extends HtmlSerializerSession {<a name="line.35"></a>
 <span class="sourceLineNo">036</span><a name="line.36"></a>
 <span class="sourceLineNo">037</span>   private final String title, description, branding, header, nav, aside, footer, noResultsMessage;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>   private final String[] style, stylesheet, script;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>   private final Map&lt;String,Object&gt; links;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>   private final boolean nowrap;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>   private final HtmlDocTemplate template;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>   /**<a name="line.43"></a>
-<span class="sourceLineNo">044</span>    * Create a new session using properties specified in the context.<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    *<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    * @param ctx<a name="line.46"></a>
-<span class="sourceLineNo">047</span>    *    The context creating this session object.<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    *    The context contains all the configuration settings for this object.<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    * @param output<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    *    The output object.<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    *    See {@link JsonSerializerSession#getWriter()} for valid class types.<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    * @param op<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    *    The override properties.<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    *    These override any context properties defined in the context.<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    * @param javaMethod The java method that called this serializer, usually the method in a REST servlet.<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    * @param locale<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    *    The session locale.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    *    If &lt;jk&gt;null&lt;/jk&gt;, then the locale defined on the context is used.<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    * @param timeZone<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    *    The session timezone.<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    *    If &lt;jk&gt;null&lt;/jk&gt;, then the timezone defined on the context is used.<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    * @param mediaType The session media type (e.g. &lt;js&gt;"application/json"&lt;/js&gt;).<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    * @param uriContext<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    *    The URI context.<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    *    Identifies the current request URI used for resolution of URIs to absolute or root-relative form.<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   @SuppressWarnings({ "unchecked", "rawtypes" })<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   protected HtmlDocSerializerSession(HtmlDocSerializerContext ctx, ObjectMap op, Object output, Method javaMethod,<a name="line.68"></a>
-<span class="sourceLineNo">069</span>         Locale locale, TimeZone timeZone, MediaType mediaType, UriContext uriContext) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      super(ctx, op, output, javaMethod, locale, timeZone, mediaType, uriContext);<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      if (op == null || op.isEmpty()) {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>         title = ctx.title;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>         description = ctx.description;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>         branding = ctx.branding;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>         header = ctx.header;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>         nav = ctx.nav;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>         aside = ctx.aside;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>         footer = ctx.footer;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>         links = ctx.links;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>         style = ctx.style;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>         stylesheet = ctx.stylesheet;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>         script = ctx.script;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>         nowrap = ctx.nowrap;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>         noResultsMessage = ctx.noResultsMessage;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>         template = ClassUtils.newInstance(HtmlDocTemplate.class, ctx.template);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      } else {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>         title = op.getString(HTMLDOC_title, ctx.title);<a name="line.87"></a>
-<span class="sourceLineNo">088</span>         description = op.getString(HTMLDOC_description, ctx.description);<a name="line.88"></a>
-<span class="sourceLineNo">089</span>         branding = op.getString(HTMLDOC_branding, ctx.branding);<a name="line.89"></a>
-<span class="sourceLineNo">090</span>         header = op.getString(HTMLDOC_header, ctx.nav);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>         nav = op.getString(HTMLDOC_nav, ctx.nav);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>         aside = op.getString(HTMLDOC_aside, ctx.aside);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>         footer = op.getString(HTMLDOC_footer, ctx.footer);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>         Map m = op.getMap(HTMLDOC_links, ctx.links);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>         links = ObjectUtils.isEmpty(m) ? null : new LinkedHashMap(m);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>         style = op.getStringArray(HTMLDOC_style, ctx.style);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>         stylesheet = op.getStringArray(HTMLDOC_stylesheet, ctx.stylesheet);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>         script = op.getStringArray(HTMLDOC_script, ctx.script);<a name="line.98"></a>
-<span class="sourceLineNo">099</span>         nowrap = op.getBoolean(HTMLDOC_nowrap, ctx.nowrap);<a name="line.99"></a>
-<span class="sourceLineNo">100</span>         noResultsMessage = op.getString(HTMLDOC_noResultsMessage, ctx.noResultsMessage);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>         template = ClassUtils.newInstance(HtmlDocTemplate.class, op.get(HTMLDOC_template, ctx.template));<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      }<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   }<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>   /**<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_style} setting value in this context.<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    *<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    * @return<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_style} setting value in this context.<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    *    An empty array if not specified.<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    *    Never &lt;jk&gt;null&lt;/jk&gt;.<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    */<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   public final String[] getStyle() {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      return style;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>   /**<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_stylesheet} setting value in this context.<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    *<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    * @return<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_stylesheet} setting value in this context.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    *    An empty array if not specified.<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    *    Never &lt;jk&gt;null&lt;/jk&gt;.<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    */<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   public final String[] getStylesheet() {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      return stylesheet;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   }<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>   /**<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_script} setting value in this context.<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    *<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    * @return<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_script} setting value in this context.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    *    An empty array if not specified.<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    *    Never &lt;jk&gt;null&lt;/jk&gt;.<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    */<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   public final String[] getScript() {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      return script;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>   /**<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_nowrap} setting value in this context.<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    *<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    * @return The {@link HtmlDocSerializerContext#HTMLDOC_nowrap} setting value in this context.<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    */<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   public final boolean isNoWrap() {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      return nowrap;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>   /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_title} setting value in this context.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    *<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    * @return<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_title} setting value in this context.<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.  Never an empty string.<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   public final String getTitle() {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      return title;<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>   /**<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_description} setting value in this context.<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    *<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    * @return<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_description} setting value in this context.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    *    Never an empty string.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    */<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   public final String getDescription() {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      return description;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   }<a name="line.171"></a>
-<span class="sourceLineNo">172</span><a name="line.172"></a>
-<span class="sourceLineNo">173</span>   /**<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_branding} setting value in this context.<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    *<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    * @return<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_branding} setting value in this context.<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    *    Never an empty string.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    */<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   public final String getBranding() {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      return branding;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   }<a name="line.183"></a>
-<span class="sourceLineNo">184</span><a name="line.184"></a>
-<span class="sourceLineNo">185</span>   /**<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_header} setting value in this context.<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    *<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    * @return<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_header} setting value in this context.<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    *     Never an empty string.<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   public final String getHeader() {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      return header;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   }<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>   /**<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_links} setting value in this context.<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    *<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    * @return<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_links} setting value in this context.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    *    Never an empty map.<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   public final Map&lt;String,Object&gt; getLinks() {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      return links;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   }<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>   /**<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    * Returns the template to use for generating the HTML page.<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    *<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    * @return<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    *    The HTML page generator.<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    *    Never &lt;jk&gt;null&lt;/jk&gt;.<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    */<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   public final HtmlDocTemplate getTemplate() {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      return template;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   }<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>   /**<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_nav} setting value in this context.<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    *<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    * @return<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_nav} setting value in this context.<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    *    Never an empty string.<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    */<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   public final String getNav() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return nav;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>   /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_aside} setting value in this context.<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    *<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    * @return<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_aside} setting value in this context.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    *    Never an empty string.<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   public final String getAside() {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      return aside;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   }<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>   /**<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_footer} setting value in this context.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    *<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    * @return<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_footer} setting value in this context.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    *    Never an empty string.<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    */<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   public final String getFooter() {<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      return footer;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   }<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>   /**<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_noResultsMessage} setting value in this context.<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    *<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    * @return<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_noResultsMessage} setting value in this context.<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    *    Never an empty string.<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    */<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   public final String getNoResultsMessage() {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      return noResultsMessage;<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   }<a name="line.266"></a>
-<span class="sourceLineNo">267</span><a name="line.267"></a>
-<span class="sourceLineNo">268</span>   @Override /* XmlSerializerSession */<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   public HtmlWriter getWriter() throws Exception {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      Object output = getOutput();<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      if (output instanceof HtmlWriter)<a name="line.271"></a>
-<span class="sourceLineNo">272</span>         return (HtmlWriter)output;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      return new HtmlWriter(super.getWriter(), isUseWhitespace(), getMaxIndent(), isTrimStrings(), getQuoteChar(), getUriResolver());<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>}<a name="line.275"></a>
+<span class="sourceLineNo">038</span>   private final String[] style, stylesheet, script, links;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>   private final boolean nowrap;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>   private final HtmlDocTemplate template;<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>   /**<a name="line.42"></a>
+<span class="sourceLineNo">043</span>    * Create a new session using properties specified in the context.<a name="line.43"></a>
+<span class="sourceLineNo">044</span>    *<a name="line.44"></a>
+<span class="sourceLineNo">045</span>    * @param ctx<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    *    The context creating this session object.<a name="line.46"></a>
+<span class="sourceLineNo">047</span>    *    The context contains all the configuration settings for this object.<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    * @param output<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    *    The output object.<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    *    See {@link JsonSerializerSession#getWriter()} for valid class types.<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    * @param op<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    *    The override properties.<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    *    These override any context properties defined in the context.<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    * @param javaMethod The java method that called this serializer, usually the method in a REST servlet.<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    * @param locale<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    *    The session locale.<a name="line.56"></a>
+<span class="sourceLineNo">057</span>    *    If &lt;jk&gt;null&lt;/jk&gt;, then the locale defined on the context is used.<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    * @param timeZone<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    *    The session timezone.<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    *    If &lt;jk&gt;null&lt;/jk&gt;, then the timezone defined on the context is used.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    * @param mediaType The session media type (e.g. &lt;js&gt;"application/json"&lt;/js&gt;).<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    * @param uriContext<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    *    The URI context.<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    *    Identifies the current request URI used for resolution of URIs to absolute or root-relative form.<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   protected HtmlDocSerializerSession(HtmlDocSerializerContext ctx, ObjectMap op, Object output, Method javaMethod,<a name="line.66"></a>
+<span class="sourceLineNo">067</span>         Locale locale, TimeZone timeZone, MediaType mediaType, UriContext uriContext) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      super(ctx, op, output, javaMethod, locale, timeZone, mediaType, uriContext);<a name="line.68"></a>
+<span class="sourceLineNo">069</span>      if (op == null || op.isEmpty()) {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>         title = ctx.title;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>         description = ctx.description;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>         branding = ctx.branding;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>         header = ctx.header;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>         nav = ctx.nav;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>         aside = ctx.aside;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>         footer = ctx.footer;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>         links = ctx.links;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>         style = ctx.style;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>         stylesheet = ctx.stylesheet;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>         script = ctx.script;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>         nowrap = ctx.nowrap;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>         noResultsMessage = ctx.noResultsMessage;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>         template = ClassUtils.newInstance(HtmlDocTemplate.class, ctx.template);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>      } else {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>         title = op.getString(HTMLDOC_title, ctx.title);<a name="line.85"></a>
+<span class="sourceLineNo">086</span>         description = op.getString(HTMLDOC_description, ctx.description);<a name="line.86"></a>
+<span class="sourceLineNo">087</span>         branding = op.getString(HTMLDOC_branding, ctx.branding);<a name="line.87"></a>
+<span class="sourceLineNo">088</span>         header = op.getString(HTMLDOC_header, ctx.nav);<a name="line.88"></a>
+<span class="sourceLineNo">089</span>         nav = op.getString(HTMLDOC_nav, ctx.nav);<a name="line.89"></a>
+<span class="sourceLineNo">090</span>         aside = op.getString(HTMLDOC_aside, ctx.aside);<a name="line.90"></a>
+<span class="sourceLineNo">091</span>         footer = op.getString(HTMLDOC_footer, ctx.footer);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>         links = op.getStringArray(HTMLDOC_links, ctx.links);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>         style = op.getStringArray(HTMLDOC_style, ctx.style);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>         stylesheet = op.getStringArray(HTMLDOC_stylesheet, ctx.stylesheet);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>         script = op.getStringArray(HTMLDOC_script, ctx.script);<a name="line.95"></a>
+<span class="sourceLineNo">096</span>         nowrap = op.getBoolean(HTMLDOC_nowrap, ctx.nowrap);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>         noResultsMessage = op.getString(HTMLDOC_noResultsMessage, ctx.noResultsMessage);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>         template = ClassUtils.newInstance(HtmlDocTemplate.class, op.get(HTMLDOC_template, ctx.template));<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      }<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   }<a name="line.100"></a>
+<span class="sourceLineNo">101</span><a name="line.101"></a>
+<span class="sourceLineNo">102</span>   /**<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_style} setting value in this context.<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    *<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    * @return<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_style} setting value in this context.<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    *    An empty array if not specified.<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    *    Never &lt;jk&gt;null&lt;/jk&gt;.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    */<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   public final String[] getStyle() {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      return style;<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>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_stylesheet} setting value in this context.<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    *<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    * @return<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_stylesheet} setting value in this context.<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    *    An empty array if not specified.<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    *    Never &lt;jk&gt;null&lt;/jk&gt;.<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    */<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   public final String[] getStylesheet() {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      return stylesheet;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   }<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>   /**<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_script} setting value in this context.<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    *<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    * @return<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_script} setting value in this context.<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    *    An empty array if not specified.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    *    Never &lt;jk&gt;null&lt;/jk&gt;.<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    */<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   public final String[] getScript() {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      return script;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   }<a name="line.136"></a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span>   /**<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_nowrap} setting value in this context.<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    *<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    * @return The {@link HtmlDocSerializerContext#HTMLDOC_nowrap} setting value in this context.<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    */<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   public final boolean isNoWrap() {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      return nowrap;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>   /**<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_title} setting value in this context.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    *<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    * @return<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_title} setting value in this context.<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.  Never an empty string.<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    */<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   public final String getTitle() {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      return title;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>   /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_description} setting value in this context.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    *<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    * @return<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_description} setting value in this context.<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    *    Never an empty string.<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    */<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   public final String getDescription() {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      return description;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>   }<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>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_branding} setting value in this context.<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    *<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    * @return<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_branding} setting value in this context.<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    *    Never an empty string.<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    */<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   public final String getBranding() {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      return branding;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   }<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>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_header} setting value in this context.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    *<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    * @return<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_header} setting value in this context.<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    *     Never an empty string.<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    */<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   public final String getHeader() {<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      return header;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>   /**<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_links} setting value in this context.<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    *<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    * @return<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_links} setting value in this context.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    *    Never an empty map.<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    */<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   public final String[] getLinks() {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      return links;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>   /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    * Returns the template to use for generating the HTML page.<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    *<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    * @return<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    *    The HTML page generator.<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    *    Never &lt;jk&gt;null&lt;/jk&gt;.<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    */<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   public final HtmlDocTemplate getTemplate() {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      return template;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   }<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>   /**<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_nav} setting value in this context.<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    *<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    * @return<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_nav} setting value in this context.<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    *    Never an empty string.<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    */<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   public final String getNav() {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      return nav;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>   }<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>   /**<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_aside} setting value in this context.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    *<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    * @return<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_aside} setting value in this context.<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    *    Never an empty string.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   public final String getAside() {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      return aside;<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   }<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span>   /**<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_footer} setting value in this context.<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    *<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    * @return<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_footer} setting value in this context.<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    *    Never an empty string.<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    */<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   public final String getFooter() {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>      return footer;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   }<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span>   /**<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    * Returns the {@link HtmlDocSerializerContext#HTMLDOC_noResultsMessage} setting value in this context.<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    *<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    * @return<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    *    The {@link HtmlDocSerializerContext#HTMLDOC_noResultsMessage} setting value in this context.<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    *    &lt;jk&gt;null&lt;/jk&gt; if not specified.<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    *    Never an empty string.<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    */<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   public final String getNoResultsMessage() {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      return noResultsMessage;<a name="line.262"></a>
+<span class="sourceLineNo">263</span>   }<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>   @Override /* XmlSerializerSession */<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   public HtmlWriter getWriter() throws Exception {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      Object output = getOutput();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      if (output instanceof HtmlWriter)<a name="line.268"></a>
+<span class="sourceLineNo">269</span>         return (HtmlWriter)output;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      return new HtmlWriter(super.getWriter(), isUseWhitespace(), getMaxIndent(), isTrimStrings(), getQuoteChar(), getUriResolver());<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   }<a name="line.271"></a>
+<span class="sourceLineNo">272</span>}<a name="line.272"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocTemplate.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocTemplate.html b/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocTemplate.html
index 9b24947..e30e5b7 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocTemplate.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocTemplate.html
@@ -38,8 +38,8 @@
 <span class="sourceLineNo">030</span> *       &amp;lt;/head&amp;gt;<a name="line.30"></a>
 <span class="sourceLineNo">031</span> *       &amp;lt;body&amp;gt;<a name="line.31"></a>
 <span class="sourceLineNo">032</span> *          &amp;lt;header&amp;gt;<a name="line.32"></a>
-<span class="sourceLineNo">033</span> *             &amp;lt;h3 &lt;xa&gt;class&lt;/xa&gt;=&lt;xs&gt;'title'&lt;/xs&gt;&amp;gt;&lt;xv&gt;Page title&lt;/xv&gt;&amp;lt;/h3&amp;gt;<a name="line.33"></a>
-<span class="sourceLineNo">034</span> *             &amp;lt;h5 &lt;xa&gt;class&lt;/xa&gt;=&lt;xs&gt;'description'&lt;/xs&gt;&amp;gt;&lt;xv&gt;Page description&lt;/xv&gt;&amp;lt;/h5&amp;gt;<a name="line.34"></a>
+<span class="sourceLineNo">033</span> *             &amp;lt;h1&amp;gt;&lt;xv&gt;Page title&lt;/xv&gt;&amp;lt;/h1&amp;gt;<a name="line.33"></a>
+<span class="sourceLineNo">034</span> *             &amp;lt;h2&amp;gt;&lt;xv&gt;Page description&lt;/xv&gt;&amp;lt;/h2&amp;gt;<a name="line.34"></a>
 <span class="sourceLineNo">035</span> *             &lt;xv&gt;Arbitrary page branding&lt;/xv&gt;<a name="line.35"></a>
 <span class="sourceLineNo">036</span> *          &amp;lt;/header&amp;gt;<a name="line.36"></a>
 <span class="sourceLineNo">037</span> *          &amp;lt;nav&amp;gt;<a name="line.37"></a>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html b/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html
index 6281e76..0cfbf83 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html
@@ -20,207 +20,212 @@
 <span class="sourceLineNo">012</span>// ***************************************************************************************************************************<a name="line.12"></a>
 <span class="sourceLineNo">013</span>package org.apache.juneau.html;<a name="line.13"></a>
 <span class="sourceLineNo">014</span><a name="line.14"></a>
-<span class="sourceLineNo">015</span>import java.util.Map;<a name="line.15"></a>
+<span class="sourceLineNo">015</span>import org.apache.juneau.internal.*;<a name="line.15"></a>
 <span class="sourceLineNo">016</span><a name="line.16"></a>
-<span class="sourceLineNo">017</span>import org.apache.juneau.internal.*;<a name="line.17"></a>
-<span class="sourceLineNo">018</span><a name="line.18"></a>
-<span class="sourceLineNo">019</span>/**<a name="line.19"></a>
-<span class="sourceLineNo">020</span> * A basic template for the HTML doc serializer.<a name="line.20"></a>
-<span class="sourceLineNo">021</span> *<a name="line.21"></a>
-<span class="sourceLineNo">022</span> * &lt;p&gt;<a name="line.22"></a>
-<span class="sourceLineNo">023</span> * This class can be subclassed to customize page rendering.<a name="line.23"></a>
-<span class="sourceLineNo">024</span> */<a name="line.24"></a>
-<span class="sourceLineNo">025</span>public class HtmlDocTemplateBasic implements HtmlDocTemplate {<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>   @Override /* HtmlDocTemplate */<a name="line.27"></a>
-<span class="sourceLineNo">028</span>   public void head(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.28"></a>
-<span class="sourceLineNo">029</span>      if (hasStyle(session)) {<a name="line.29"></a>
-<span class="sourceLineNo">030</span>         w.sTag(1, "style").nl(1);<a name="line.30"></a>
-<span class="sourceLineNo">031</span>         style(session, w, s, o);<a name="line.31"></a>
-<span class="sourceLineNo">032</span>         w.ie(1).eTag("style").nl(1);<a name="line.32"></a>
-<span class="sourceLineNo">033</span>      }<a name="line.33"></a>
-<span class="sourceLineNo">034</span>      if (hasScript(session)) {<a name="line.34"></a>
-<span class="sourceLineNo">035</span>         w.sTag(1, "script").nl(1);<a name="line.35"></a>
-<span class="sourceLineNo">036</span>         script(session, w, s, o);<a name="line.36"></a>
-<span class="sourceLineNo">037</span>         w.ie(1).eTag("script").nl(1);<a name="line.37"></a>
-<span class="sourceLineNo">038</span>      }<a name="line.38"></a>
-<span class="sourceLineNo">039</span>   }<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>   @Override /* HtmlDocTemplate */<a name="line.41"></a>
-<span class="sourceLineNo">042</span>   public void style(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>      String[] stylesheet = session.getStylesheet();<a name="line.44"></a>
-<span class="sourceLineNo">045</span>      if (! ArrayUtils.contains("NONE", stylesheet))<a name="line.45"></a>
-<span class="sourceLineNo">046</span>         for (String ss : stylesheet)<a name="line.46"></a>
-<span class="sourceLineNo">047</span>            w.append(2, "@import ").q().append(session.resolveUri(ss)).q().appendln("; ");<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>      if (session.isNoWrap())<a name="line.49"></a>
-<span class="sourceLineNo">050</span>         w.appendln("div.data * {white-space:nowrap;} ");<a name="line.50"></a>
-<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span>      if (session.getStyle() != null)<a name="line.52"></a>
-<span class="sourceLineNo">053</span>         for (String style : session.getStyle())<a name="line.53"></a>
-<span class="sourceLineNo">054</span>            w.append(style).appendln(" ");<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   }<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span>   @Override /* HtmlDocTemplate */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   public void script(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>      if (session.getScript() != null)<a name="line.60"></a>
-<span class="sourceLineNo">061</span>         for (String script : session.getScript())<a name="line.61"></a>
-<span class="sourceLineNo">062</span>            w.append(script);<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   }<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>   @Override /* HtmlDocTemplate */<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   public void body(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>      if (hasHeader(session)) {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>         w.sTag(1, "header").nl(1);<a name="line.69"></a>
-<span class="sourceLineNo">070</span>         header(session, w, s, o);<a name="line.70"></a>
-<span class="sourceLineNo">071</span>         w.ie(1).eTag("header").nl(1);<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      }<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>      if (hasNav(session)) {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>         w.sTag(1, "nav").nl(1);<a name="line.75"></a>
-<span class="sourceLineNo">076</span>         nav(session, w, s, o);<a name="line.76"></a>
-<span class="sourceLineNo">077</span>         w.ie(1).eTag("nav").nl(1);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      }<a name="line.78"></a>
+<span class="sourceLineNo">017</span>/**<a name="line.17"></a>
+<span class="sourceLineNo">018</span> * A basic template for the HTML doc serializer.<a name="line.18"></a>
+<span class="sourceLineNo">019</span> *<a name="line.19"></a>
+<span class="sourceLineNo">020</span> * &lt;p&gt;<a name="line.20"></a>
+<span class="sourceLineNo">021</span> * This class can be subclassed to customize page rendering.<a name="line.21"></a>
+<span class="sourceLineNo">022</span> */<a name="line.22"></a>
+<span class="sourceLineNo">023</span>public class HtmlDocTemplateBasic implements HtmlDocTemplate {<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>   @Override /* HtmlDocTemplate */<a name="line.25"></a>
+<span class="sourceLineNo">026</span>   public void head(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.26"></a>
+<span class="sourceLineNo">027</span>      if (hasStyle(session)) {<a name="line.27"></a>
+<span class="sourceLineNo">028</span>         w.sTag(2, "style").nl(2);<a name="line.28"></a>
+<span class="sourceLineNo">029</span>         style(session, w, s, o);<a name="line.29"></a>
+<span class="sourceLineNo">030</span>         w.ie(2).eTag("style").nl(2);<a name="line.30"></a>
+<span class="sourceLineNo">031</span>      }<a name="line.31"></a>
+<span class="sourceLineNo">032</span>      if (hasScript(session)) {<a name="line.32"></a>
+<span class="sourceLineNo">033</span>         w.sTag(2, "script").nl(2);<a name="line.33"></a>
+<span class="sourceLineNo">034</span>         script(session, w, s, o);<a name="line.34"></a>
+<span class="sourceLineNo">035</span>         w.ie(2).eTag("script").nl(2);<a name="line.35"></a>
+<span class="sourceLineNo">036</span>      }<a name="line.36"></a>
+<span class="sourceLineNo">037</span>   }<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>   @Override /* HtmlDocTemplate */<a name="line.39"></a>
+<span class="sourceLineNo">040</span>   public void style(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>      String[] stylesheet = session.getStylesheet();<a name="line.42"></a>
+<span class="sourceLineNo">043</span>      if (! ArrayUtils.contains("NONE", stylesheet))<a name="line.43"></a>
+<span class="sourceLineNo">044</span>         for (String ss : stylesheet)<a name="line.44"></a>
+<span class="sourceLineNo">045</span>            w.append(3, "@import ").q().append(session.resolveUri(ss)).q().appendln("; ");<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>      if (session.isNoWrap())<a name="line.47"></a>
+<span class="sourceLineNo">048</span>         w.appendln(3, "div.data * {white-space:nowrap;} ");<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>      if (session.getStyle() != null)<a name="line.50"></a>
+<span class="sourceLineNo">051</span>         for (String style : session.getStyle())<a name="line.51"></a>
+<span class="sourceLineNo">052</span>            w.append(3, style).appendln(" ");<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   }<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>   @Override /* HtmlDocTemplate */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   public void script(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>      if (session.getScript() != null)<a name="line.58"></a>
+<span class="sourceLineNo">059</span>         for (String script : session.getScript())<a name="line.59"></a>
+<span class="sourceLineNo">060</span>            w.append(3, script);<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   }<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>   @Override /* HtmlDocTemplate */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   public void body(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>      if (hasHeader(session)) {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>         w.sTag(2, "header").nl(2);<a name="line.67"></a>
+<span class="sourceLineNo">068</span>         header(session, w, s, o);<a name="line.68"></a>
+<span class="sourceLineNo">069</span>         w.ie(2).eTag("header").nl(2);<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      }<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span>      if (hasNav(session)) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>         w.sTag(2, "nav").nl(2);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>         nav(session, w, s, o);<a name="line.74"></a>
+<span class="sourceLineNo">075</span>         w.ie(2).eTag("nav").nl(2);<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      }<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>      w.sTag(2, "section").nl(2);<a name="line.78"></a>
 <span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>      w.sTag(1, "section").nl(1);<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>      w.sTag(2, "article").nl(2);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>      article(session, w, s, o);<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      w.ie(2).eTag("article").nl(2);<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>      if (hasAside(session)) {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>         w.sTag(2, "aside").nl(2);<a name="line.87"></a>
-<span class="sourceLineNo">088</span>         aside(session, w, s, o);<a name="line.88"></a>
-<span class="sourceLineNo">089</span>         w.ie(2).eTag("aside").nl(2);<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      }<a name="line.90"></a>
+<span class="sourceLineNo">080</span>      w.sTag(3, "article").nl(3);<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      article(session, w, s, o);<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      w.ie(3).eTag("article").nl(3);<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>      if (hasAside(session)) {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>         w.sTag(3, "aside").nl(3);<a name="line.85"></a>
+<span class="sourceLineNo">086</span>         aside(session, w, s, o);<a name="line.86"></a>
+<span class="sourceLineNo">087</span>         w.ie(3).eTag("aside").nl(3);<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      }<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>      w.ie(2).eTag("section").nl(2);<a name="line.90"></a>
 <span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>      w.ie(1).eTag("section").nl(1);<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>      if (hasFooter(session)) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>         w.sTag(1, "footer").nl(1);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>         footer(session, w, s, o);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>         w.ie(1).eTag("footer").nl(1);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      }<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   }<a name="line.99"></a>
-<span class="sourceLineNo">100</span><a name="line.100"></a>
-<span class="sourceLineNo">101</span>   @Override /* HtmlDocTemplate */<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   public void header(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      // Write the title of the page.<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      String header = session.getHeader();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      if (header != null) {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>         if (exists(header))<a name="line.106"></a>
-<span class="sourceLineNo">107</span>            w.append(2, header).nl(2);<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      } else {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>         String title = session.getTitle();<a name="line.109"></a>
-<span class="sourceLineNo">110</span>         String description = session.getDescription();<a name="line.110"></a>
-<span class="sourceLineNo">111</span>         String branding = session.getBranding();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>         if (exists(title))<a name="line.112"></a>
-<span class="sourceLineNo">113</span>            w.oTag(3, "h3").attr("class", "title").append('&gt;').append(title).eTag("h3").nl(3);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>         if (exists(description))<a name="line.114"></a>
-<span class="sourceLineNo">115</span>            w.oTag(3, "h5").attr("class", "description").append('&gt;').append(description).eTag("h5").nl(3);<a name="line.115"></a>
-<span class="sourceLineNo">116</span>         if (exists(branding))<a name="line.116"></a>
-<span class="sourceLineNo">117</span>            w.append(3, branding).nl(3);<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><a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>   @Override /* HtmlDocTemplate */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   public void nav(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      String nav = session.getNav();<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      if (nav != null) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>         if (exists(nav))<a name="line.126"></a>
-<span class="sourceLineNo">127</span>            w.append(2, nav).nl(2);<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      } else {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>         Map&lt;String,Object&gt; htmlLinks = session.getLinks();<a name="line.129"></a>
-<span class="sourceLineNo">130</span>         boolean first = true;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>         if (htmlLinks != null) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>            for (Map.Entry&lt;String,Object&gt; e : htmlLinks.entrySet()) {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>               String v = e.getValue().toString();<a name="line.133"></a>
-<span class="sourceLineNo">134</span>               if (! first)<a name="line.134"></a>
-<span class="sourceLineNo">135</span>                  w.append(3, " - ").nl(3);<a name="line.135"></a>
-<span class="sourceLineNo">136</span>               first = false;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>               if (v.startsWith("&lt;"))<a name="line.137"></a>
-<span class="sourceLineNo">138</span>                  w.append(v);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>               else<a name="line.139"></a>
-<span class="sourceLineNo">140</span>                  w.oTag("a").attr("class", "link").attr("href", session.resolveUri(v), true).cTag()<a name="line.140"></a>
-<span class="sourceLineNo">141</span>                     .text(e.getKey(), true).eTag("a");<a name="line.141"></a>
-<span class="sourceLineNo">142</span>            }<a name="line.142"></a>
-<span class="sourceLineNo">143</span>         }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      }<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   }<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>   @Override /* HtmlDocTemplate */<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   public void aside(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      String aside = session.getAside();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      if (exists(aside))<a name="line.150"></a>
-<span class="sourceLineNo">151</span>         w.append(aside);<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 /* HtmlDocTemplate */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   public void article(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      // To allow for page formatting using CSS, we encapsulate the data inside two div tags:<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      // &lt;div class='outerdata'&gt;&lt;div class='data' id='data'&gt;...&lt;/div&gt;&lt;/div&gt;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      w.oTag(3, "div").attr("class","outerdata").append('&gt;').nl(3);<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      w.oTag(4, "div").attr("class","data").attr("id", "data").append('&gt;').nl(4);<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>      if (o == null) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>         w.append(5, "&lt;null/&gt;").nl(5);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      } else if (ObjectUtils.isEmpty(o)){<a name="line.163"></a>
-<span class="sourceLineNo">164</span>         String m = session.getNoResultsMessage();<a name="line.164"></a>
-<span class="sourceLineNo">165</span>         if (exists(m))<a name="line.165"></a>
-<span class="sourceLineNo">166</span>            w.append(5, m).nl(5);<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      } else {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>         s.parentSerialize(session, o);<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>      w.ie(4).eTag("div").nl(4);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      w.ie(4).eTag("div").nl(3);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   }<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span>   @Override /* HtmlDocTemplate */<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   public void footer(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      String footer = session.getFooter();<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      if (exists(footer))<a name="line.178"></a>
-<span class="sourceLineNo">179</span>         w.append(footer);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   }<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>   @Override /* HtmlDocTemplate */<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   public boolean hasStyle(HtmlDocSerializerSession session) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      return true;<a name="line.184"></a>
+<span class="sourceLineNo">092</span>      if (hasFooter(session)) {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>         w.sTag(2, "footer").nl(2);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>         footer(session, w, s, o);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>         w.ie(2).eTag("footer").nl(2);<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      }<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   }<a name="line.97"></a>
+<span class="sourceLineNo">098</span><a name="line.98"></a>
+<span class="sourceLineNo">099</span>   @Override /* HtmlDocTemplate */<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   public void header(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      // Write the title of the page.<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      String header = session.getHeader();<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      if (header != null) {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>         if (exists(header))<a name="line.104"></a>
+<span class="sourceLineNo">105</span>            w.append(3, header).nl(3);<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      } else {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>         String title = session.getTitle();<a name="line.107"></a>
+<span class="sourceLineNo">108</span>         String description = session.getDescription();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>         String branding = session.getBranding();<a name="line.109"></a>
+<span class="sourceLineNo">110</span>         if (exists(title))<a name="line.110"></a>
+<span class="sourceLineNo">111</span>            w.oTag(3, "h1").append('&gt;').append(title).eTag("h1").nl(3);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>         if (exists(description))<a name="line.112"></a>
+<span class="sourceLineNo">113</span>            w.oTag(3, "h2").append('&gt;').append(description).eTag("h2").nl(3);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>         if (exists(branding))<a name="line.114"></a>
+<span class="sourceLineNo">115</span>            w.append(3, branding).nl(3);<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      }<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>   @Override /* HtmlDocTemplate */<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   public void nav(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      String nav = session.getNav();<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      if (nav != null) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>         if (exists(nav))<a name="line.124"></a>
+<span class="sourceLineNo">125</span>            w.append(3, nav).nl(3);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      } else {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>         String[] links = session.getLinks();<a name="line.127"></a>
+<span class="sourceLineNo">128</span>         if (links.length &gt; 0) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>            w.sTag(3, "ol").nl(3);<a name="line.129"></a>
+<span class="sourceLineNo">130</span>            for (String l : links) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>               w.sTag(4, "li");<a name="line.131"></a>
+<span class="sourceLineNo">132</span>               if (l.matches("(?s)\\S+\\:.*")) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>                  int i = l.indexOf(':');<a name="line.133"></a>
+<span class="sourceLineNo">134</span>                  String key = l.substring(0, i);<a name="line.134"></a>
+<span class="sourceLineNo">135</span>                  String val = l.substring(i+1).trim();<a name="line.135"></a>
+<span class="sourceLineNo">136</span>                  if (val.startsWith("&lt;"))<a name="line.136"></a>
+<span class="sourceLineNo">137</span>                     w.nl(4).appendln(5, val);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>                  else<a name="line.138"></a>
+<span class="sourceLineNo">139</span>                     w.oTag("a").attr("href", session.resolveUri(val), true).cTag().text(key, true).eTag("a");<a name="line.139"></a>
+<span class="sourceLineNo">140</span>                  w.eTag("li").nl(4);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>               } else {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>                  w.nl(4).appendln(5, l);<a name="line.142"></a>
+<span class="sourceLineNo">143</span>                  w.eTag(4, "li").nl(4);<a name="line.143"></a>
+<span class="sourceLineNo">144</span>               }<a name="line.144"></a>
+<span class="sourceLineNo">145</span>            }<a name="line.145"></a>
+<span class="sourceLineNo">146</span>            w.eTag(3, "ol").nl(3);<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>   }<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>   @Override /* HtmlDocTemplate */<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   public void aside(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      String aside = session.getAside();<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      if (exists(aside))<a name="line.154"></a>
+<span class="sourceLineNo">155</span>         w.append(4, aside);<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>   @Override /* HtmlDocTemplate */<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   public void article(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      // To allow for page formatting using CSS, we encapsulate the data inside two div tags:<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      // &lt;div class='outerdata'&gt;&lt;div class='data' id='data'&gt;...&lt;/div&gt;&lt;/div&gt;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      w.oTag(4, "div").attr("class","outerdata").append('&gt;').nl(4);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      w.oTag(5, "div").attr("class","data").attr("id", "data").append('&gt;').nl(5);<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>      if (o == null) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>         w.append(6, "&lt;null/&gt;").nl(6);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      } else if (ObjectUtils.isEmpty(o)){<a name="line.167"></a>
+<span class="sourceLineNo">168</span>         String m = session.getNoResultsMessage();<a name="line.168"></a>
+<span class="sourceLineNo">169</span>         if (exists(m))<a name="line.169"></a>
+<span class="sourceLineNo">170</span>            w.append(6, m).nl(6);<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      } else {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>         session.indent = 6;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>         s.parentSerialize(session, o);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      }<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>      w.ie(5).eTag("div").nl(5);<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      w.ie(4).eTag("div").nl(4);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   }<a name="line.178"></a>
+<span class="sourceLineNo">179</span><a name="line.179"></a>
+<span class="sourceLineNo">180</span>   @Override /* HtmlDocTemplate */<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   public void footer(HtmlDocSerializerSession session, HtmlWriter w, HtmlDocSerializer s, Object o) throws Exception {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      String footer = session.getFooter();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      if (exists(footer))<a name="line.183"></a>
+<span class="sourceLineNo">184</span>         w.append(3, footer).nl(3);<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>   @Override /* HtmlDocTemplate */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   public boolean hasScript(HtmlDocSerializerSession session) {<a name="line.188"></a>
+<span class="sourceLineNo">188</span>   public boolean hasStyle(HtmlDocSerializerSession session) {<a name="line.188"></a>
 <span class="sourceLineNo">189</span>      return true;<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>   @Override /* HtmlDocTemplate */<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   public boolean hasHeader(HtmlDocSerializerSession session) {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      return exists(session.getHeader()) || exists(session.getTitle()) || exists(session.getDescription());<a name="line.194"></a>
+<span class="sourceLineNo">193</span>   public boolean hasScript(HtmlDocSerializerSession session) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      return true;<a name="line.194"></a>
 <span class="sourceLineNo">195</span>   }<a name="line.195"></a>
 <span class="sourceLineNo">196</span><a name="line.196"></a>
 <span class="sourceLineNo">197</span>   @Override /* HtmlDocTemplate */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   public boolean hasNav(HtmlDocSerializerSession session) {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return exists(session.getNav()) || session.getLinks() != null;<a name="line.199"></a>
+<span class="sourceLineNo">198</span>   public boolean hasHeader(HtmlDocSerializerSession session) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      return exists(session.getHeader()) || exists(session.getTitle()) || exists(session.getDescription());<a name="line.199"></a>
 <span class="sourceLineNo">200</span>   }<a name="line.200"></a>
 <span class="sourceLineNo">201</span><a name="line.201"></a>
 <span class="sourceLineNo">202</span>   @Override /* HtmlDocTemplate */<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   public boolean hasAside(HtmlDocSerializerSession session) {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      return exists(session.getAside());<a name="line.204"></a>
+<span class="sourceLineNo">203</span>   public boolean hasNav(HtmlDocSerializerSession session) {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      return exists(session.getNav()) || session.getLinks().length &gt; 0;<a name="line.204"></a>
 <span class="sourceLineNo">205</span>   }<a name="line.205"></a>
 <span class="sourceLineNo">206</span><a name="line.206"></a>
 <span class="sourceLineNo">207</span>   @Override /* HtmlDocTemplate */<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   public boolean hasFooter(HtmlDocSerializerSession session) {<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      return exists(session.getFooter());<a name="line.209"></a>
+<span class="sourceLineNo">208</span>   public boolean hasAside(HtmlDocSerializerSession session) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      return exists(session.getAside());<a name="line.209"></a>
 <span class="sourceLineNo">210</span>   }<a name="line.210"></a>
 <span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>   private static boolean exists(String s) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      return s != null &amp;&amp; ! "NONE".equals(s);<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   }<a name="line.214"></a>
-<span class="sourceLineNo">215</span>}<a name="line.215"></a>
+<span class="sourceLineNo">212</span>   @Override /* HtmlDocTemplate */<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   public boolean hasFooter(HtmlDocSerializerSession session) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      return exists(session.getFooter());<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   }<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>   private static boolean exists(String s) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      return s != null &amp;&amp; ! "NONE".equals(s);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   }<a name="line.219"></a>
+<span class="sourceLineNo">220</span>}<a name="line.220"></a>
 
 
 


[05/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/rest/RestRequest.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/RestRequest.html b/content/site/apidocs/src-html/org/apache/juneau/rest/RestRequest.html
index c9a5a01..157e2f9 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/RestRequest.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/RestRequest.html
@@ -27,901 +27,933 @@
 <span class="sourceLineNo">019</span><a name="line.19"></a>
 <span class="sourceLineNo">020</span>import java.io.*;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.lang.reflect.*;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.nio.charset.*;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.text.*;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.*;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.logging.*;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import javax.servlet.*;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import javax.servlet.http.*;<a name="line.28"></a>
-<span class="sourceLineNo">029</span><a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.juneau.*;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.juneau.dto.swagger.*;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.juneau.encoders.*;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.juneau.http.*;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.juneau.ini.*;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.juneau.parser.*;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.juneau.rest.widget.*;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.juneau.serializer.*;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.juneau.svl.*;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.juneau.uon.*;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.juneau.urlencoding.*;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.juneau.utils.*;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>/**<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * Represents an HTTP request for a REST resource.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> *<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * &lt;p&gt;<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * Equivalent to {@link HttpServletRequest} except with some additional convenience methods.<a name="line.47"></a>
-<span class="sourceLineNo">048</span> *<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * &lt;p&gt;<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * For reference, given the URL &lt;js&gt;"http://localhost:9080/contextRoot/servletPath/foo?bar=baz#qux"&lt;/js&gt;, the<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * following methods return the following values....<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * &lt;table class='styled'&gt;<a name="line.52"></a>
-<span class="sourceLineNo">053</span> *    &lt;tr&gt;&lt;th&gt;Method&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;<a name="line.53"></a>
-<span class="sourceLineNo">054</span> *    &lt;tr&gt;&lt;td&gt;{@code getContextPath()}&lt;/td&gt;&lt;td&gt;{@code /contextRoot}&lt;/td&gt;&lt;/tr&gt;<a name="line.54"></a>
-<span class="sourceLineNo">055</span> *    &lt;tr&gt;&lt;td&gt;{@code getPathInfo()}&lt;/td&gt;&lt;td&gt;{@code /foo}&lt;/td&gt;&lt;/tr&gt;<a name="line.55"></a>
-<span class="sourceLineNo">056</span> *    &lt;tr&gt;&lt;td&gt;{@code getPathTranslated()}&lt;/td&gt;&lt;td&gt;{@code path-to-deployed-war-on-filesystem/foo}&lt;/td&gt;&lt;/tr&gt;<a name="line.56"></a>
-<span class="sourceLineNo">057</span> *    &lt;tr&gt;&lt;td&gt;{@code getQueryString()}&lt;/td&gt;&lt;td&gt;{@code bar=baz}&lt;/td&gt;&lt;/tr&gt;<a name="line.57"></a>
-<span class="sourceLineNo">058</span> *    &lt;tr&gt;&lt;td&gt;{@code getRequestURI()}&lt;/td&gt;&lt;td&gt;{@code /contextRoot/servletPath/foo}&lt;/td&gt;&lt;/tr&gt;<a name="line.58"></a>
-<span class="sourceLineNo">059</span> *    &lt;tr&gt;&lt;td&gt;{@code getRequestURL()}&lt;/td&gt;&lt;td&gt;{@code http://localhost:9080/contextRoot/servletPath/foo}&lt;/td&gt;&lt;/tr&gt;<a name="line.59"></a>
-<span class="sourceLineNo">060</span> *    &lt;tr&gt;&lt;td&gt;{@code getServletPath()}&lt;/td&gt;&lt;td&gt;{@code /servletPath}&lt;/td&gt;&lt;/tr&gt;<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * &lt;/table&gt;<a name="line.61"></a>
-<span class="sourceLineNo">062</span> *<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * &lt;p&gt;<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * Refer to &lt;a class="doclink" href="package-summary.html#TOC"&gt;REST Servlet API&lt;/a&gt; for information about using this<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * class.<a name="line.65"></a>
-<span class="sourceLineNo">066</span> */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>@SuppressWarnings("unchecked")<a name="line.67"></a>
-<span class="sourceLineNo">068</span>public final class RestRequest extends HttpServletRequestWrapper {<a name="line.68"></a>
-<span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span>   private final RestContext context;<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>   private final String method, stylesheet;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   private RequestBody body;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   private Method javaMethod;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   private ObjectMap properties;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   private SerializerGroup serializerGroup;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   private ParserGroup parserGroup;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   private final boolean debug;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   private UrlEncodingParser urlEncodingParser;   // The parser used to parse URL attributes and parameters (beanContext also used to parse headers)<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   private BeanSession beanSession;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   private VarResolverSession varSession;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   private final RequestQuery queryParams;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   private RequestFormData formData;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   private Map&lt;String,String&gt; defFormData;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   private RequestPathMatch pathParams;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   private boolean isPost;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   private UriContext uriContext;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   private String charset, defaultCharset;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   private RequestHeaders headers;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   private ConfigFile cf;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   private Swagger swagger, fileSwagger;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   private Map&lt;String,Widget&gt; widgets;<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>   /**<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    * Constructor.<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   RestRequest(RestContext context, HttpServletRequest req) throws ServletException {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      super(req);<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      this.context = context;<a name="line.99"></a>
-<span class="sourceLineNo">100</span><a name="line.100"></a>
-<span class="sourceLineNo">101</span>      try {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>         isPost = req.getMethod().equalsIgnoreCase("POST");<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span>         // If this is a POST, we want to parse the query parameters ourselves to prevent<a name="line.104"></a>
-<span class="sourceLineNo">105</span>         // the servlet code from processing the HTTP body as URL-Encoded parameters.<a name="line.105"></a>
-<span class="sourceLineNo">106</span>         queryParams = new RequestQuery();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>         if (isPost)<a name="line.107"></a>
-<span class="sourceLineNo">108</span>            context.getUrlEncodingParser().parseIntoSimpleMap(getQueryString(), queryParams);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>         else<a name="line.109"></a>
-<span class="sourceLineNo">110</span>            queryParams.putAll(req.getParameterMap());<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
+<span class="sourceLineNo">022</span>import java.net.*;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.nio.charset.*;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.text.*;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.*;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.logging.*;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import javax.servlet.*;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import javax.servlet.http.*;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.juneau.*;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.juneau.dto.swagger.*;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.juneau.encoders.*;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.juneau.http.*;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.juneau.ini.*;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.juneau.parser.*;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.juneau.rest.widget.*;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.juneau.serializer.*;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.juneau.svl.*;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.juneau.uon.*;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.juneau.urlencoding.*;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.juneau.utils.*;<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>/**<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * Represents an HTTP request for a REST resource.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> *<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * &lt;p&gt;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * Equivalent to {@link HttpServletRequest} except with some additional convenience methods.<a name="line.48"></a>
+<span class="sourceLineNo">049</span> *<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;p&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * For reference, given the URL &lt;js&gt;"http://localhost:9080/contextRoot/servletPath/foo?bar=baz#qux"&lt;/js&gt;, the<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * following methods return the following values....<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * &lt;table class='styled'&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> *    &lt;tr&gt;&lt;th&gt;Method&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;<a name="line.54"></a>
+<span class="sourceLineNo">055</span> *    &lt;tr&gt;&lt;td&gt;{@code getContextPath()}&lt;/td&gt;&lt;td&gt;{@code /contextRoot}&lt;/td&gt;&lt;/tr&gt;<a name="line.55"></a>
+<span class="sourceLineNo">056</span> *    &lt;tr&gt;&lt;td&gt;{@code getPathInfo()}&lt;/td&gt;&lt;td&gt;{@code /foo}&lt;/td&gt;&lt;/tr&gt;<a name="line.56"></a>
+<span class="sourceLineNo">057</span> *    &lt;tr&gt;&lt;td&gt;{@code getPathTranslated()}&lt;/td&gt;&lt;td&gt;{@code path-to-deployed-war-on-filesystem/foo}&lt;/td&gt;&lt;/tr&gt;<a name="line.57"></a>
+<span class="sourceLineNo">058</span> *    &lt;tr&gt;&lt;td&gt;{@code getQueryString()}&lt;/td&gt;&lt;td&gt;{@code bar=baz}&lt;/td&gt;&lt;/tr&gt;<a name="line.58"></a>
+<span class="sourceLineNo">059</span> *    &lt;tr&gt;&lt;td&gt;{@code getRequestURI()}&lt;/td&gt;&lt;td&gt;{@code /contextRoot/servletPath/foo}&lt;/td&gt;&lt;/tr&gt;<a name="line.59"></a>
+<span class="sourceLineNo">060</span> *    &lt;tr&gt;&lt;td&gt;{@code getRequestURL()}&lt;/td&gt;&lt;td&gt;{@code http://localhost:9080/contextRoot/servletPath/foo}&lt;/td&gt;&lt;/tr&gt;<a name="line.60"></a>
+<span class="sourceLineNo">061</span> *    &lt;tr&gt;&lt;td&gt;{@code getServletPath()}&lt;/td&gt;&lt;td&gt;{@code /servletPath}&lt;/td&gt;&lt;/tr&gt;<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * &lt;/table&gt;<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * &lt;p&gt;<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * Refer to &lt;a class="doclink" href="package-summary.html#TOC"&gt;REST Servlet API&lt;/a&gt; for information about using this<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * class.<a name="line.66"></a>
+<span class="sourceLineNo">067</span> */<a name="line.67"></a>
+<span class="sourceLineNo">068</span>@SuppressWarnings("unchecked")<a name="line.68"></a>
+<span class="sourceLineNo">069</span>public final class RestRequest extends HttpServletRequestWrapper {<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>   private final RestContext context;<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>   private final String method, stylesheet;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   private RequestBody body;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>   private Method javaMethod;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>   private ObjectMap properties;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   private SerializerGroup serializerGroup;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   private ParserGroup parserGroup;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   private final boolean debug;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   private UrlEncodingParser urlEncodingParser;   // The parser used to parse URL attributes and parameters (beanContext also used to parse headers)<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   private BeanSession beanSession;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   private VarResolverSession varSession;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   private final RequestQuery queryParams;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   private RequestFormData formData;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   private Map&lt;String,String&gt; defFormData;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   private RequestPathMatch pathParams;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   private boolean isPost;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   private UriContext uriContext;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   private String charset, defaultCharset;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   private RequestHeaders headers;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   private ConfigFile cf;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   private Swagger swagger, fileSwagger;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   private Map&lt;String,Widget&gt; widgets;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>   /**<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    * Constructor.<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    */<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   RestRequest(RestContext context, HttpServletRequest req) throws ServletException {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      super(req);<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      this.context = context;<a name="line.100"></a>
+<span class="sourceLineNo">101</span><a name="line.101"></a>
+<span class="sourceLineNo">102</span>      try {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>         isPost = req.getMethod().equalsIgnoreCase("POST");<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>         // If this is a POST, we want to parse the query parameters ourselves to prevent<a name="line.105"></a>
+<span class="sourceLineNo">106</span>         // the servlet code from processing the HTTP body as URL-Encoded parameters.<a name="line.106"></a>
+<span class="sourceLineNo">107</span>         queryParams = new RequestQuery();<a name="line.107"></a>
+<span class="sourceLineNo">108</span>         if (isPost)<a name="line.108"></a>
+<span class="sourceLineNo">109</span>            context.getUrlEncodingParser().parseIntoSimpleMap(getQueryString(), queryParams);<a name="line.109"></a>
+<span class="sourceLineNo">110</span>         else<a name="line.110"></a>
+<span class="sourceLineNo">111</span>            queryParams.putAll(req.getParameterMap());<a name="line.111"></a>
 <span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>         // Get the HTTP method.<a name="line.113"></a>
-<span class="sourceLineNo">114</span>         // Can be overridden through a "method" GET attribute.<a name="line.114"></a>
-<span class="sourceLineNo">115</span>         String _method = super.getMethod();<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>         String m = getQuery().getString("method");<a name="line.117"></a>
-<span class="sourceLineNo">118</span>         if (context.allowMethodParam(m))<a name="line.118"></a>
-<span class="sourceLineNo">119</span>            _method = m;<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>         method = _method;<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span>         stylesheet = getQuery().getString("stylesheet");<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>         headers = new RequestHeaders();<a name="line.125"></a>
-<span class="sourceLineNo">126</span>         for (Enumeration&lt;String&gt; e = getHeaderNames(); e.hasMoreElements();) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>            String name = e.nextElement();<a name="line.127"></a>
-<span class="sourceLineNo">128</span>            headers.put(name, super.getHeaders(name));<a name="line.128"></a>
-<span class="sourceLineNo">129</span>         }<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>         body = new RequestBody(this);<a name="line.131"></a>
-<span class="sourceLineNo">132</span><a name="line.132"></a>
-<span class="sourceLineNo">133</span>         if (context.isAllowBodyParam()) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>            String b = getQuery().getString("body");<a name="line.134"></a>
-<span class="sourceLineNo">135</span>            if (b != null) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>               headers.put("Content-Type", UonSerializer.DEFAULT.getResponseContentType());<a name="line.136"></a>
-<span class="sourceLineNo">137</span>               body.load(b.getBytes(UTF8));<a name="line.137"></a>
-<span class="sourceLineNo">138</span>            }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>         }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>         if (context.isAllowHeaderParams())<a name="line.141"></a>
-<span class="sourceLineNo">142</span>            headers.setQueryParams(queryParams);<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>         debug = "true".equals(getQuery().getString("debug", "false")) || "true".equals(getHeaders().getString("Debug", "false"));<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>         this.pathParams = new RequestPathMatch();<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>      } catch (RestException e) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>         throw e;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      } catch (Exception e) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>         throw new ServletException(e);<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><a name="line.154"></a>
-<span class="sourceLineNo">155</span>   /*<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    * Called from RestServlet after a match has been made but before the guard or method invocation.<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   @SuppressWarnings("hiding")<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   final void init(Method javaMethod, ObjectMap properties, Map&lt;String,String&gt; defHeader,<a name="line.159"></a>
-<span class="sourceLineNo">160</span>         Map&lt;String,String&gt; defQuery, Map&lt;String,String&gt; defFormData, String defaultCharset,<a name="line.160"></a>
-<span class="sourceLineNo">161</span>         SerializerGroup mSerializers, ParserGroup mParsers, UrlEncodingParser mUrlEncodingParser,<a name="line.161"></a>
-<span class="sourceLineNo">162</span>         BeanContext beanContext, EncoderGroup encoders, Map&lt;String,Widget&gt; widgets) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      this.javaMethod = javaMethod;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      this.properties = properties;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      this.urlEncodingParser = mUrlEncodingParser;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      this.beanSession = beanContext.createSession();<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      this.pathParams<a name="line.167"></a>
-<span class="sourceLineNo">168</span>         .setParser(urlEncodingParser)<a name="line.168"></a>
-<span class="sourceLineNo">169</span>         .setBeanSession(beanSession);<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      this.queryParams<a name="line.170"></a>
-<span class="sourceLineNo">171</span>         .addDefault(defQuery)<a name="line.171"></a>
-<span class="sourceLineNo">172</span>         .setParser(urlEncodingParser)<a name="line.172"></a>
-<span class="sourceLineNo">173</span>         .setBeanSession(beanSession);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      this.headers<a name="line.174"></a>
-<span class="sourceLineNo">175</span>         .addDefault(defHeader)<a name="line.175"></a>
-<span class="sourceLineNo">176</span>         .addDefault(context.getDefaultRequestHeaders())<a name="line.176"></a>
-<span class="sourceLineNo">177</span>         .setParser(urlEncodingParser)<a name="line.177"></a>
-<span class="sourceLineNo">178</span>         .setBeanSession(beanSession);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      this.body<a name="line.179"></a>
-<span class="sourceLineNo">180</span>         .setEncoders(encoders)<a name="line.180"></a>
-<span class="sourceLineNo">181</span>         .setParsers(mParsers)<a name="line.181"></a>
-<span class="sourceLineNo">182</span>         .setHeaders(headers)<a name="line.182"></a>
-<span class="sourceLineNo">183</span>         .setBeanSession(beanSession)<a name="line.183"></a>
-<span class="sourceLineNo">184</span>         .setUrlEncodingParser(mUrlEncodingParser);<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      this.serializerGroup = mSerializers;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      this.parserGroup = mParsers;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      this.defaultCharset = defaultCharset;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      this.defFormData = defFormData;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      this.widgets = widgets;<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>      if (debug) {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>         String msg = ""<a name="line.192"></a>
-<span class="sourceLineNo">193</span>            + "\n=== HTTP Request (incoming) ===================================================="<a name="line.193"></a>
-<span class="sourceLineNo">194</span>            + toString()<a name="line.194"></a>
-<span class="sourceLineNo">195</span>            + "\n=== END ========================================================================";<a name="line.195"></a>
-<span class="sourceLineNo">196</span>         context.getLogger().log(Level.WARNING, msg);<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      }<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   }<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>
-<span class="sourceLineNo">201</span>    * Returns a string of the form &lt;js&gt;"HTTP method-name full-url"&lt;/js&gt;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    *<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    * @return A description of the request.<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   public String getDescription() {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      String qs = getQueryString();<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return "HTTP " + getMethod() + " " + getRequestURI() + (qs == null ? "" : "?" + qs);<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   }<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>   /**<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    * Same as {@link #getAttribute(String)} but returns a default value if not found.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    *<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    * @param name The request attribute name.<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    * @param def The default value if the attribute doesn't exist.<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    * @return The request attribute value.<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    */<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   public Object getAttribute(String name, Object def) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      Object o = super.getAttribute(name);<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      return (o == null ? def : o);<a name="line.219"></a>
-<span class="sourceLineNo">220</span>   }<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>   /**<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    * Shorthand method for calling {@link #setAttribute(String, Object)} fluently.<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    *<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    * @param name The request attribute name.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    * @param value The request attribute value.<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    * @return This object (for method chaining).<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    */<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   public RestRequest attr(String name, Object value) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      setAttribute(name, value);<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      return this;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>         // Get the HTTP method.<a name="line.114"></a>
+<span class="sourceLineNo">115</span>         // Can be overridden through a "method" GET attribute.<a name="line.115"></a>
+<span class="sourceLineNo">116</span>         String _method = super.getMethod();<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>         String m = getQuery().getString("method");<a name="line.118"></a>
+<span class="sourceLineNo">119</span>         if (context.allowMethodParam(m))<a name="line.119"></a>
+<span class="sourceLineNo">120</span>            _method = m;<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>         method = _method;<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>         stylesheet = getQuery().getString("stylesheet");<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>         headers = new RequestHeaders();<a name="line.126"></a>
+<span class="sourceLineNo">127</span>         for (Enumeration&lt;String&gt; e = getHeaderNames(); e.hasMoreElements();) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>            String name = e.nextElement();<a name="line.128"></a>
+<span class="sourceLineNo">129</span>            headers.put(name, super.getHeaders(name));<a name="line.129"></a>
+<span class="sourceLineNo">130</span>         }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>         body = new RequestBody(this);<a name="line.132"></a>
+<span class="sourceLineNo">133</span><a name="line.133"></a>
+<span class="sourceLineNo">134</span>         if (context.isAllowBodyParam()) {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>            String b = getQuery().getString("body");<a name="line.135"></a>
+<span class="sourceLineNo">136</span>            if (b != null) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>               headers.put("Content-Type", UonSerializer.DEFAULT.getResponseContentType());<a name="line.137"></a>
+<span class="sourceLineNo">138</span>               body.load(b.getBytes(UTF8));<a name="line.138"></a>
+<span class="sourceLineNo">139</span>            }<a name="line.139"></a>
+<span class="sourceLineNo">140</span>         }<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span>         if (context.isAllowHeaderParams())<a name="line.142"></a>
+<span class="sourceLineNo">143</span>            headers.setQueryParams(queryParams);<a name="line.143"></a>
+<span class="sourceLineNo">144</span><a name="line.144"></a>
+<span class="sourceLineNo">145</span>         debug = "true".equals(getQuery().getString("debug", "false")) || "true".equals(getHeaders().getString("Debug", "false"));<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>         this.pathParams = new RequestPathMatch();<a name="line.147"></a>
+<span class="sourceLineNo">148</span><a name="line.148"></a>
+<span class="sourceLineNo">149</span>      } catch (RestException e) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>         throw e;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      } catch (Exception e) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>         throw new ServletException(e);<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      }<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>   /*<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    * Called from RestServlet after a match has been made but before the guard or method invocation.<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    */<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   @SuppressWarnings("hiding")<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   final void init(Method javaMethod, ObjectMap properties, Map&lt;String,String&gt; defHeader,<a name="line.160"></a>
+<span class="sourceLineNo">161</span>         Map&lt;String,String&gt; defQuery, Map&lt;String,String&gt; defFormData, String defaultCharset,<a name="line.161"></a>
+<span class="sourceLineNo">162</span>         SerializerGroup mSerializers, ParserGroup mParsers, UrlEncodingParser mUrlEncodingParser,<a name="line.162"></a>
+<span class="sourceLineNo">163</span>         BeanContext beanContext, EncoderGroup encoders, Map&lt;String,Widget&gt; widgets) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      this.javaMethod = javaMethod;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      this.properties = properties;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      this.urlEncodingParser = mUrlEncodingParser;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      this.beanSession = beanContext.createSession();<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      this.pathParams<a name="line.168"></a>
+<span class="sourceLineNo">169</span>         .setParser(urlEncodingParser)<a name="line.169"></a>
+<span class="sourceLineNo">170</span>         .setBeanSession(beanSession);<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      this.queryParams<a name="line.171"></a>
+<span class="sourceLineNo">172</span>         .addDefault(defQuery)<a name="line.172"></a>
+<span class="sourceLineNo">173</span>         .setParser(urlEncodingParser)<a name="line.173"></a>
+<span class="sourceLineNo">174</span>         .setBeanSession(beanSession);<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      this.headers<a name="line.175"></a>
+<span class="sourceLineNo">176</span>         .addDefault(defHeader)<a name="line.176"></a>
+<span class="sourceLineNo">177</span>         .addDefault(context.getDefaultRequestHeaders())<a name="line.177"></a>
+<span class="sourceLineNo">178</span>         .setParser(urlEncodingParser)<a name="line.178"></a>
+<span class="sourceLineNo">179</span>         .setBeanSession(beanSession);<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      this.body<a name="line.180"></a>
+<span class="sourceLineNo">181</span>         .setEncoders(encoders)<a name="line.181"></a>
+<span class="sourceLineNo">182</span>         .setParsers(mParsers)<a name="line.182"></a>
+<span class="sourceLineNo">183</span>         .setHeaders(headers)<a name="line.183"></a>
+<span class="sourceLineNo">184</span>         .setBeanSession(beanSession)<a name="line.184"></a>
+<span class="sourceLineNo">185</span>         .setUrlEncodingParser(mUrlEncodingParser);<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      this.serializerGroup = mSerializers;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      this.parserGroup = mParsers;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>      this.defaultCharset = defaultCharset;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      this.defFormData = defFormData;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      this.widgets = widgets;<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>      if (debug) {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>         String msg = ""<a name="line.193"></a>
+<span class="sourceLineNo">194</span>            + "\n=== HTTP Request (incoming) ===================================================="<a name="line.194"></a>
+<span class="sourceLineNo">195</span>            + toString()<a name="line.195"></a>
+<span class="sourceLineNo">196</span>            + "\n=== END ========================================================================";<a name="line.196"></a>
+<span class="sourceLineNo">197</span>         context.getLogger().log(Level.WARNING, msg);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      }<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>
+<span class="sourceLineNo">201</span>   /**<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    * Returns a string of the form &lt;js&gt;"HTTP method-name full-url"&lt;/js&gt;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    *<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    * @return A description of the request.<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   public String getDescription() {<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      String qs = getQueryString();<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      return "HTTP " + getMethod() + " " + getRequestURI() + (qs == null ? "" : "?" + qs);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>   /**<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    * Same as {@link #getAttribute(String)} but returns a default value if not found.<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    *<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    * @param name The request attribute name.<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    * @param def The default value if the attribute doesn't exist.<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    * @return The request attribute value.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    */<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   public Object getAttribute(String name, Object def) {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      Object o = super.getAttribute(name);<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      return (o == null ? def : o);<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   }<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>   /**<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    * Shorthand method for calling {@link #setAttribute(String, Object)} fluently.<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    *<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    * @param name The request attribute name.<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    * @param value The request attribute value.<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    * @return This object (for method chaining).<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    */<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   public RestRequest attr(String name, Object value) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      setAttribute(name, value);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      return this;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   }<a name="line.233"></a>
 <span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>   //--------------------------------------------------------------------------------<a name="line.235"></a>
-<span class="sourceLineNo">236</span>   // Properties<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   //--------------------------------------------------------------------------------<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>   /**<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    * Servlet calls this method to initialize the properties.<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    */<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   RestRequest setProperties(ObjectMap properties) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      this.properties = properties;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      return this;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   }<a name="line.245"></a>
-<span class="sourceLineNo">246</span><a name="line.246"></a>
-<span class="sourceLineNo">247</span>   /**<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    * Retrieve the properties active for this request.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    *<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    * &lt;p&gt;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    * These properties can be modified by the request.<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    *<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    * @return The properties active for this request.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    */<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   public ObjectMap getProperties() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      return this.properties;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>   /**<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    * Shortcut for calling &lt;code&gt;getProperties().append(name, value);&lt;/code&gt; fluently.<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    *<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    * @param name The property name.<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    * @param value The property value.<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    * @return This object (for method chaining).<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   public RestRequest prop(String name, Object value) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      this.properties.append(name, value);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      return this;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   }<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>   //--------------------------------------------------------------------------------<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   // Properties<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   //--------------------------------------------------------------------------------<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>   /**<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    * Servlet calls this method to initialize the properties.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    */<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   RestRequest setProperties(ObjectMap properties) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      this.properties = properties;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      return this;<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   }<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>   /**<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    * Retrieve the properties active for this request.<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    *<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    * &lt;p&gt;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    * These properties can be modified by the request.<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    *<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    * @return The properties active for this request.<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    */<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   public ObjectMap getProperties() {<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      return this.properties;<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   }<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>   /**<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    * Shortcut for calling &lt;code&gt;getProperties().append(name, value);&lt;/code&gt; fluently.<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    *<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    * @param name The property name.<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    * @param value The property value.<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    * @return This object (for method chaining).<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    */<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   public RestRequest prop(String name, Object value) {<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      this.properties.append(name, value);<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      return this;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   }<a name="line.270"></a>
 <span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>   //--------------------------------------------------------------------------------<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   // Headers<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   //--------------------------------------------------------------------------------<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>   /**<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    * Returns the headers on this request.<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    *<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    * @return The headers on this request.  Never &lt;jk&gt;null&lt;/jk&gt;.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    */<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   public RequestHeaders getHeaders() {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      return headers;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   }<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>   @Override /* ServletRequest */<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   public String getHeader(String name) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      return getHeaders().getString(name);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   }<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>   @Override /* ServletRequest */<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   public Enumeration&lt;String&gt; getHeaders(String name) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      String[] v = headers.get(name);<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      if (v == null || v.length == 0)<a name="line.293"></a>
-<span class="sourceLineNo">294</span>         return Collections.enumeration(Collections.EMPTY_LIST);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      return Collections.enumeration(Arrays.asList(v));<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   }<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>   /**<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    * Returns the media types that are valid for &lt;code&gt;Content-Type&lt;/code&gt; headers on the request.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    *<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    * @return The set of media types registered in the parser group of this request.<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    */<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   public List&lt;MediaType&gt; getSupportedMediaTypes() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      return parserGroup.getSupportedMediaTypes();<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>   /**<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    * Sets the charset to expect on the request body.<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    */<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   @Override /* ServletRequest */<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   public void setCharacterEncoding(String charset) {<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      this.charset = charset;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>   /**<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    * Returns the charset specified on the &lt;code&gt;Content-Type&lt;/code&gt; header, or &lt;js&gt;"UTF-8"&lt;/js&gt; if not specified.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    */<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   @Override /* ServletRequest */<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   public String getCharacterEncoding() {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      if (charset == null) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>         // Determine charset<a name="line.321"></a>
-<span class="sourceLineNo">322</span>         // NOTE:  Don't use super.getCharacterEncoding() because the spec is implemented inconsistently.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>         // Jetty returns the default charset instead of null if the character is not specified on the request.<a name="line.323"></a>
-<span class="sourceLineNo">324</span>         String h = getHeader("Content-Type");<a name="line.324"></a>
-<span class="sourceLineNo">325</span>         if (h != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>            int i = h.indexOf(";charset=");<a name="line.326"></a>
-<span class="sourceLineNo">327</span>            if (i &gt; 0)<a name="line.327"></a>
-<span class="sourceLineNo">328</span>               charset = h.substring(i+9).trim();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>         }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>         if (charset == null)<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            charset = defaultCharset;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>         if (! Charset.isSupported(charset))<a name="line.332"></a>
-<span class="sourceLineNo">333</span>            throw new RestException(SC_UNSUPPORTED_MEDIA_TYPE, "Unsupported charset in header ''Content-Type'': ''{0}''", h);<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      }<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      return charset;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>   @Override /* ServletRequest */<a name="line.338"></a>
-<span class="sourceLineNo">339</span>   public Locale getLocale() {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      String h = headers.getString("Accept-Language");<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      if (h != null) {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>         MediaTypeRange[] mr = MediaTypeRange.parse(h);<a name="line.342"></a>
-<span class="sourceLineNo">343</span>         if (mr.length &gt; 0)<a name="line.343"></a>
-<span class="sourceLineNo">344</span>            return toLocale(mr[0].getMediaType().getType());<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      return super.getLocale();<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   }<a name="line.347"></a>
-<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>   @Override /* ServletRequest */<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   public Enumeration&lt;Locale&gt; getLocales() {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      String h = headers.getString("Accept-Language");<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      if (h != null) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>         MediaTypeRange[] mr = MediaTypeRange.parse(h);<a name="line.353"></a>
-<span class="sourceLineNo">354</span>         if (mr.length &gt; 0) {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>            List&lt;Locale&gt; l = new ArrayList&lt;Locale&gt;(mr.length);<a name="line.355"></a>
-<span class="sourceLineNo">356</span>            for (MediaTypeRange r : mr)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>               l.add(toLocale(r.getMediaType().getType()));<a name="line.357"></a>
-<span class="sourceLineNo">358</span>            return enumeration(l);<a name="line.358"></a>
-<span class="sourceLineNo">359</span>         }<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      }<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      return super.getLocales();<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   }<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
+<span class="sourceLineNo">272</span><a name="line.272"></a>
+<span class="sourceLineNo">273</span>   //--------------------------------------------------------------------------------<a name="line.273"></a>
+<span class="sourceLineNo">274</span>   // Headers<a name="line.274"></a>
+<span class="sourceLineNo">275</span>   //--------------------------------------------------------------------------------<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>   /**<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    * Returns the headers on this request.<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    *<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    * @return The headers on this request.  Never &lt;jk&gt;null&lt;/jk&gt;.<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    */<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   public RequestHeaders getHeaders() {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      return headers;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   }<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>   @Override /* ServletRequest */<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   public String getHeader(String name) {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      return getHeaders().getString(name);<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   }<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>   @Override /* ServletRequest */<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   public Enumeration&lt;String&gt; getHeaders(String name) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      String[] v = headers.get(name);<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      if (v == null || v.length == 0)<a name="line.294"></a>
+<span class="sourceLineNo">295</span>         return Collections.enumeration(Collections.EMPTY_LIST);<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      return Collections.enumeration(Arrays.asList(v));<a name="line.296"></a>
+<span class="sourceLineNo">297</span>   }<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>   /**<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    * Returns the media types that are valid for &lt;code&gt;Content-Type&lt;/code&gt; headers on the request.<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    *<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    * @return The set of media types registered in the parser group of this request.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    */<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   public List&lt;MediaType&gt; getSupportedMediaTypes() {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      return parserGroup.getSupportedMediaTypes();<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   }<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>   /**<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    * Sets the charset to expect on the request body.<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    */<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   @Override /* ServletRequest */<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   public void setCharacterEncoding(String charset) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      this.charset = charset;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>   /**<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    * Returns the charset specified on the &lt;code&gt;Content-Type&lt;/code&gt; header, or &lt;js&gt;"UTF-8"&lt;/js&gt; if not specified.<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    */<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   @Override /* ServletRequest */<a name="line.319"></a>
+<span class="sourceLineNo">320</span>   public String getCharacterEncoding() {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      if (charset == null) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>         // Determine charset<a name="line.322"></a>
+<span class="sourceLineNo">323</span>         // NOTE:  Don't use super.getCharacterEncoding() because the spec is implemented inconsistently.<a name="line.323"></a>
+<span class="sourceLineNo">324</span>         // Jetty returns the default charset instead of null if the character is not specified on the request.<a name="line.324"></a>
+<span class="sourceLineNo">325</span>         String h = getHeader("Content-Type");<a name="line.325"></a>
+<span class="sourceLineNo">326</span>         if (h != null) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>            int i = h.indexOf(";charset=");<a name="line.327"></a>
+<span class="sourceLineNo">328</span>            if (i &gt; 0)<a name="line.328"></a>
+<span class="sourceLineNo">329</span>               charset = h.substring(i+9).trim();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>         }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>         if (charset == null)<a name="line.331"></a>
+<span class="sourceLineNo">332</span>            charset = defaultCharset;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>         if (! Charset.isSupported(charset))<a name="line.333"></a>
+<span class="sourceLineNo">334</span>            throw new RestException(SC_UNSUPPORTED_MEDIA_TYPE, "Unsupported charset in header ''Content-Type'': ''{0}''", h);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      return charset;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   }<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>   @Override /* ServletRequest */<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   public Locale getLocale() {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      String h = headers.getString("Accept-Language");<a name="line.341"></a>
+<span class="sourceLineNo">342</span>      if (h != null) {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>         MediaTypeRange[] mr = MediaTypeRange.parse(h);<a name="line.343"></a>
+<span class="sourceLineNo">344</span>         if (mr.length &gt; 0)<a name="line.344"></a>
+<span class="sourceLineNo">345</span>            return toLocale(mr[0].getMediaType().getType());<a name="line.345"></a>
+<span class="sourceLineNo">346</span>      }<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      return super.getLocale();<a name="line.347"></a>
+<span class="sourceLineNo">348</span>   }<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>   @Override /* ServletRequest */<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   public Enumeration&lt;Locale&gt; getLocales() {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      String h = headers.getString("Accept-Language");<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      if (h != null) {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>         MediaTypeRange[] mr = MediaTypeRange.parse(h);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>         if (mr.length &gt; 0) {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>            List&lt;Locale&gt; l = new ArrayList&lt;Locale&gt;(mr.length);<a name="line.356"></a>
+<span class="sourceLineNo">357</span>            for (MediaTypeRange r : mr)<a name="line.357"></a>
+<span class="sourceLineNo">358</span>               l.add(toLocale(r.getMediaType().getType()));<a name="line.358"></a>
+<span class="sourceLineNo">359</span>            return enumeration(l);<a name="line.359"></a>
+<span class="sourceLineNo">360</span>         }<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      return super.getLocales();<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   }<a name="line.363"></a>
 <span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>   //--------------------------------------------------------------------------------<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   // Query parameters<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   //--------------------------------------------------------------------------------<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>   /**<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    * Equivalent to {@link #getParameterMap()}, but only looks for query parameters in the URL, not form posts.<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    *<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    * &lt;p&gt;<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    * This method can be used to retrieve query parameters without triggering the underlying servlet API to load and<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    * parse the request body.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    *<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    * &lt;p&gt;<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    * This object is modifiable.<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    *<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    * @return The query parameters as a modifiable map.<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    */<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   public RequestQuery getQuery() {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return queryParams;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   }<a name="line.383"></a>
-<span class="sourceLineNo">384</span><a name="line.384"></a>
-<span class="sourceLineNo">385</span>   /**<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    * Shortcut for calling &lt;code&gt;getQuery().getString(name)&lt;/code&gt;.<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    *<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    * @param name The query parameter name.<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    * @return The query parameter value, or &lt;jk&gt;null&lt;jk&gt; if not found.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   public String getQuery(String name) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      return getQuery().getString(name);<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   }<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>   //--------------------------------------------------------------------------------<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   // Query parameters<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   //--------------------------------------------------------------------------------<a name="line.368"></a>
+<span class="sourceLineNo">369</span><a name="line.369"></a>
+<span class="sourceLineNo">370</span>   /**<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    * Equivalent to {@link #getParameterMap()}, but only looks for query parameters in the URL, not form posts.<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    *<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    * &lt;p&gt;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    * This method can be used to retrieve query parameters without triggering the underlying servlet API to load and<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    * parse the request body.<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    *<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    * &lt;p&gt;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    * This object is modifiable.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    *<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    * @return The query parameters as a modifiable map.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    */<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   public RequestQuery getQuery() {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      return queryParams;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   }<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>   /**<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    * Shortcut for calling &lt;code&gt;getQuery().getString(name)&lt;/code&gt;.<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    *<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    * @param name The query parameter name.<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    * @return The query parameter value, or &lt;jk&gt;null&lt;jk&gt; if not found.<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    */<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   public String getQuery(String name) {<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      return getQuery().getString(name);<a name="line.393"></a>
+<span class="sourceLineNo">394</span>   }<a name="line.394"></a>
 <span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>   //--------------------------------------------------------------------------------<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   // Form data parameters<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   //--------------------------------------------------------------------------------<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>   /**<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    * Retrieves the URL-encoded form data from the request if the body has already been cached locally.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    *<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    * @return The URL-encoded form data from the request.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    */<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   public RequestFormData getFormData() {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      try {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>         if (formData == null) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>            formData = new RequestFormData();<a name="line.408"></a>
-<span class="sourceLineNo">409</span>            formData.setParser(urlEncodingParser).setBeanSession(beanSession);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>            if (! body.isLoaded()) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>               formData.putAll(getParameterMap());<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            } else {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>               Map&lt;String,String&gt; m = urlEncodingParser.parse(body.getReader(), Map.class, String.class, String.class);<a name="line.413"></a>
-<span class="sourceLineNo">414</span>               for (Map.Entry&lt;String,String&gt; e : m.entrySet()) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>                  formData.put(e.getKey(), e.getValue());<a name="line.415"></a>
-<span class="sourceLineNo">416</span>               }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            }<a name="line.417"></a>
-<span class="sourceLineNo">418</span>         }<a name="line.418"></a>
-<span class="sourceLineNo">419</span>         formData.addDefault(defFormData);<a name="line.419"></a>
-<span class="sourceLineNo">420</span>         return formData;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      } catch (Exception e) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span>         throw new RestException(SC_INTERNAL_SERVER_ERROR, e);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      }<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>   /**<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    * Shortcut for calling &lt;code&gt;getFormData().getString(name)&lt;/code&gt;.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    *<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    * @param name The form data parameter name.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    * @return The form data parameter value, or &lt;jk&gt;null&lt;jk&gt; if not found.<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   public String getFormData(String name) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      return getFormData().getString(name);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span>   //--------------------------------------------------------------------------------<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   // Form data parameters<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   //--------------------------------------------------------------------------------<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>   /**<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    * Retrieves the URL-encoded form data from the request if the body has already been cached locally.<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    *<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    * @return The URL-encoded form data from the request.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    */<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   public RequestFormData getFormData() {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      try {<a name="line.407"></a>
+<span class="sourceLineNo">408</span>         if (formData == null) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>            formData = new RequestFormData();<a name="line.409"></a>
+<span class="sourceLineNo">410</span>            formData.setParser(urlEncodingParser).setBeanSession(beanSession);<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            if (! body.isLoaded()) {<a name="line.411"></a>
+<span class="sourceLineNo">412</span>               formData.putAll(getParameterMap());<a name="line.412"></a>
+<span class="sourceLineNo">413</span>            } else {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>               Map&lt;String,String&gt; m = urlEncodingParser.parse(body.getReader(), Map.class, String.class, String.class);<a name="line.414"></a>
+<span class="sourceLineNo">415</span>               for (Map.Entry&lt;String,String&gt; e : m.entrySet()) {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>                  formData.put(e.getKey(), e.getValue());<a name="line.416"></a>
+<span class="sourceLineNo">417</span>               }<a name="line.417"></a>
+<span class="sourceLineNo">418</span>            }<a name="line.418"></a>
+<span class="sourceLineNo">419</span>         }<a name="line.419"></a>
+<span class="sourceLineNo">420</span>         formData.addDefault(defFormData);<a name="line.420"></a>
+<span class="sourceLineNo">421</span>         return formData;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      } catch (Exception e) {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>         throw new RestException(SC_INTERNAL_SERVER_ERROR, e);<a name="line.423"></a>
+<span class="sourceLineNo">424</span>      }<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   }<a name="line.425"></a>
+<span class="sourceLineNo">426</span><a name="line.426"></a>
+<span class="sourceLineNo">427</span>   /**<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    * Shortcut for calling &lt;code&gt;getFormData().getString(name)&lt;/code&gt;.<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    *<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    * @param name The form data parameter name.<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    * @return The form data parameter value, or &lt;jk&gt;null&lt;jk&gt; if not found.<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    */<a name="line.432"></a>
+<span class="sourceLineNo">433</span>   public String getFormData(String name) {<a name="line.433"></a>
+<span class="sourceLineNo">434</span>      return getFormData().getString(name);<a name="line.434"></a>
+<span class="sourceLineNo">435</span>   }<a name="line.435"></a>
 <span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>   //--------------------------------------------------------------------------------<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   // Path parameters<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   //--------------------------------------------------------------------------------<a name="line.439"></a>
-<span class="sourceLineNo">440</span><a name="line.440"></a>
-<span class="sourceLineNo">441</span>   /**<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    * Retrieves the URL-encoded form data from the request if the body has already been cached locally.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    *<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    * @return The URL-encoded form data from the request.<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    */<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   public RequestPathMatch getPathMatch() {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      return pathParams;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   }<a name="line.448"></a>
-<span class="sourceLineNo">449</span><a name="line.449"></a>
+<span class="sourceLineNo">437</span><a name="line.437"></a>
+<span class="sourceLineNo">438</span>   //--------------------------------------------------------------------------------<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   // Path parameters<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   //--------------------------------------------------------------------------------<a name="line.440"></a>
+<span class="sourceLineNo">441</span><a name="line.441"></a>
+<span class="sourceLineNo">442</span>   /**<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    * Retrieves the URL-encoded form data from the request if the body has already been cached locally.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    *<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    * @return The URL-encoded form data from the request.<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    */<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   public RequestPathMatch getPathMatch() {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      return pathParams;<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   }<a name="line.449"></a>
 <span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>   //--------------------------------------------------------------------------------<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   // Body methods<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   //--------------------------------------------------------------------------------<a name="line.453"></a>
-<span class="sourceLineNo">454</span><a name="line.454"></a>
-<span class="sourceLineNo">455</span>   /**<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    * Returns the body of this HTTP request.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    *<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    * @return The body of this HTTP request.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    */<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   public RequestBody getBody() {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      return body;<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   }<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>   /**<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    * Returns the HTTP body content as a {@link Reader}.<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    *<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    * &lt;p&gt;<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    * If {@code allowHeaderParams} init parameter is true, then first looks for {@code &amp;body=xxx} in the URL query<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    * string.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    *<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    * &lt;p&gt;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    * Automatically handles GZipped input streams.<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    */<a name="line.473"></a>
-<span class="sourceLineNo">474</span>   @Override /* ServletRequest */<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   public BufferedReader getReader() throws IOException {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      return getBody().getReader();<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   }<a name="line.477"></a>
-<span class="sourceLineNo">478</span><a name="line.478"></a>
-<span class="sourceLineNo">479</span>   /**<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    * Returns the HTTP body content as an {@link InputStream}.<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    *<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    * &lt;p&gt;<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    * Automatically handles GZipped input streams.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    *<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    * @return The negotiated input stream.<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    * @throws IOException If any error occurred while trying to get the input stream or wrap it in the GZIP wrapper.<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    */<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   @Override /* ServletRequest */<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   public ServletInputStream getInputStream() throws IOException {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>      return getBody().getInputStream();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   }<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>   ServletInputStream getRawInputStream() throws IOException {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      return super.getInputStream();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   }<a name="line.495"></a>
-<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLineNo">451</span><a name="line.451"></a>
+<span class="sourceLineNo">452</span>   //--------------------------------------------------------------------------------<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   // Body methods<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   //--------------------------------------------------------------------------------<a name="line.454"></a>
+<span class="sourceLineNo">455</span><a name="line.455"></a>
+<span class="sourceLineNo">456</span>   /**<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    * Returns the body of this HTTP request.<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    *<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    * @return The body of this HTTP request.<a name="line.459"></a>
+<span class="sourceLineNo">460</span>    */<a name="line.460"></a>
+<span class="sourceLineNo">461</span>   public RequestBody getBody() {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      return body;<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>   /**<a name="line.465"></a>
+<span class="sourceLineNo">466</span>    * Returns the HTTP body content as a {@link Reader}.<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    *<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    * &lt;p&gt;<a name="line.468"></a>
+<span class="sourceLineNo">469</span>    * If {@code allowHeaderParams} init parameter is true, then first looks for {@code &amp;body=xxx} in the URL query<a name="line.469"></a>
+<span class="sourceLineNo">470</span>    * string.<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    *<a name="line.471"></a>
+<span class="sourceLineNo">472</span>    * &lt;p&gt;<a name="line.472"></a>
+<span class="sourceLineNo">473</span>    * Automatically handles GZipped input streams.<a name="line.473"></a>
+<span class="sourceLineNo">474</span>    */<a name="line.474"></a>
+<span class="sourceLineNo">475</span>   @Override /* ServletRequest */<a name="line.475"></a>
+<span class="sourceLineNo">476</span>   public BufferedReader getReader() throws IOException {<a name="line.476"></a>
+<span class

<TRUNCATED>


[11/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.SqReadable.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.SqReadable.html b/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.SqReadable.html
index cbb85fc..2731806 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.SqReadable.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.SqReadable.html
@@ -306,512 +306,516 @@
 <span class="sourceLineNo">298</span><a name="line.298"></a>
 <span class="sourceLineNo">299</span>         if (render != null) {<a name="line.299"></a>
 <span class="sourceLineNo">300</span>            Object o2 = render.getContent(session, o);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>            if (o2 != o)<a name="line.301"></a>
-<span class="sourceLineNo">302</span>               return serializeAnything(session, out, o2, null, typeName, 2, null, false);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>         }<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>         if (html.isAsXml() || (pMeta != null &amp;&amp; pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isAsXml())) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>            super.serializeAnything(session, out, o, null, null, null, false, XmlFormat.MIXED, false, false, null);<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>         } else if (html.isAsPlainText() || (pMeta != null &amp;&amp; pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isAsPlainText())) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>            out.write(o == null ? "null" : o.toString());<a name="line.309"></a>
-<span class="sourceLineNo">310</span>            cr = CR_SIMPLE;<a name="line.310"></a>
+<span class="sourceLineNo">301</span>            if (o2 != o) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>               session.indent -= indent;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>               session.pop();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>               out.nl(session.indent);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>               return serializeAnything(session, out, o2, null, typeName, indent, null, false);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>            }<a name="line.306"></a>
+<span class="sourceLineNo">307</span>         }<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>         if (html.isAsXml() || (pMeta != null &amp;&amp; pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isAsXml())) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>            super.serializeAnything(session, out, o, null, null, null, false, XmlFormat.MIXED, false, false, null);<a name="line.310"></a>
 <span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>         } else if (o == null || (sType.isChar() &amp;&amp; ((Character)o).charValue() == 0)) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>            out.tag("null");<a name="line.313"></a>
+<span class="sourceLineNo">312</span>         } else if (html.isAsPlainText() || (pMeta != null &amp;&amp; pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isAsPlainText())) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>            out.write(o == null ? "null" : o.toString());<a name="line.313"></a>
 <span class="sourceLineNo">314</span>            cr = CR_SIMPLE;<a name="line.314"></a>
 <span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>         } else if (sType.isNumber()) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>            if (eType.isNumber() &amp;&amp; ! isRoot)<a name="line.317"></a>
-<span class="sourceLineNo">318</span>               out.append(o);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>            else<a name="line.319"></a>
-<span class="sourceLineNo">320</span>               out.sTag("number").append(o).eTag("number");<a name="line.320"></a>
-<span class="sourceLineNo">321</span>            cr = CR_SIMPLE;<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>         } else if (sType.isBoolean()) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>            if (eType.isBoolean() &amp;&amp; ! isRoot)<a name="line.324"></a>
-<span class="sourceLineNo">325</span>               out.append(o);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>            else<a name="line.326"></a>
-<span class="sourceLineNo">327</span>               out.sTag("boolean").append(o).eTag("boolean");<a name="line.327"></a>
-<span class="sourceLineNo">328</span>            cr = CR_SIMPLE;<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>         } else if (sType.isMap() || (wType != null &amp;&amp; wType.isMap())) {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            out.nlIf(! isRoot, indent+1);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>            if (o instanceof BeanMap)<a name="line.332"></a>
-<span class="sourceLineNo">333</span>               serializeBeanMap(session, out, (BeanMap)o, eType, pMeta);<a name="line.333"></a>
-<span class="sourceLineNo">334</span>            else<a name="line.334"></a>
-<span class="sourceLineNo">335</span>               serializeMap(session, out, (Map)o, sType, eType.getKeyType(), eType.getValueType(), typeName, pMeta);<a name="line.335"></a>
-<span class="sourceLineNo">336</span><a name="line.336"></a>
-<span class="sourceLineNo">337</span>         } else if (sType.isBean()) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>            BeanMap m = session.toBeanMap(o);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>            Class&lt;?&gt; c = o.getClass();<a name="line.339"></a>
-<span class="sourceLineNo">340</span>            if (c.isAnnotationPresent(HtmlLink.class)) {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>               HtmlLink h = o.getClass().getAnnotation(HtmlLink.class);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>               Object urlProp = m.get(h.hrefProperty());<a name="line.342"></a>
-<span class="sourceLineNo">343</span>               Object nameProp = m.get(h.nameProperty());<a name="line.343"></a>
-<span class="sourceLineNo">344</span>               out.oTag("a").attrUri("href", urlProp).append('&gt;').text(nameProp).eTag("a");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>               cr = CR_SIMPLE;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>            } else {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>               out.nlIf(! isRoot, indent+2);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>               serializeBeanMap(session, out, m, eType, pMeta);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>            }<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>         } else if (sType.isCollection() || sType.isArray() || (wType != null &amp;&amp; wType.isCollection())) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>            out.nlIf(! isRoot, indent+1);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>            serializeCollection(session, out, o, sType, eType, name, pMeta);<a name="line.353"></a>
+<span class="sourceLineNo">316</span>         } else if (o == null || (sType.isChar() &amp;&amp; ((Character)o).charValue() == 0)) {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>            out.tag("null");<a name="line.317"></a>
+<span class="sourceLineNo">318</span>            cr = CR_SIMPLE;<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>         } else if (sType.isNumber()) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>            if (eType.isNumber() &amp;&amp; ! isRoot)<a name="line.321"></a>
+<span class="sourceLineNo">322</span>               out.append(o);<a name="line.322"></a>
+<span class="sourceLineNo">323</span>            else<a name="line.323"></a>
+<span class="sourceLineNo">324</span>               out.sTag("number").append(o).eTag("number");<a name="line.324"></a>
+<span class="sourceLineNo">325</span>            cr = CR_SIMPLE;<a name="line.325"></a>
+<span class="sourceLineNo">326</span><a name="line.326"></a>
+<span class="sourceLineNo">327</span>         } else if (sType.isBoolean()) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>            if (eType.isBoolean() &amp;&amp; ! isRoot)<a name="line.328"></a>
+<span class="sourceLineNo">329</span>               out.append(o);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>            else<a name="line.330"></a>
+<span class="sourceLineNo">331</span>               out.sTag("boolean").append(o).eTag("boolean");<a name="line.331"></a>
+<span class="sourceLineNo">332</span>            cr = CR_SIMPLE;<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>         } else if (sType.isMap() || (wType != null &amp;&amp; wType.isMap())) {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>            out.nlIf(! isRoot, indent+1);<a name="line.335"></a>
+<span class="sourceLineNo">336</span>            if (o instanceof BeanMap)<a name="line.336"></a>
+<span class="sourceLineNo">337</span>               serializeBeanMap(session, out, (BeanMap)o, eType, pMeta);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>            else<a name="line.338"></a>
+<span class="sourceLineNo">339</span>               serializeMap(session, out, (Map)o, sType, eType.getKeyType(), eType.getValueType(), typeName, pMeta);<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>         } else if (sType.isBean()) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>            BeanMap m = session.toBeanMap(o);<a name="line.342"></a>
+<span class="sourceLineNo">343</span>            Class&lt;?&gt; c = o.getClass();<a name="line.343"></a>
+<span class="sourceLineNo">344</span>            if (c.isAnnotationPresent(HtmlLink.class)) {<a name="line.344"></a>
+<span class="sourceLineNo">345</span>               HtmlLink h = o.getClass().getAnnotation(HtmlLink.class);<a name="line.345"></a>
+<span class="sourceLineNo">346</span>               Object urlProp = m.get(h.hrefProperty());<a name="line.346"></a>
+<span class="sourceLineNo">347</span>               Object nameProp = m.get(h.nameProperty());<a name="line.347"></a>
+<span class="sourceLineNo">348</span>               out.oTag("a").attrUri("href", urlProp).append('&gt;').text(nameProp).eTag("a");<a name="line.348"></a>
+<span class="sourceLineNo">349</span>               cr = CR_SIMPLE;<a name="line.349"></a>
+<span class="sourceLineNo">350</span>            } else {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>               out.nlIf(! isRoot, indent+2);<a name="line.351"></a>
+<span class="sourceLineNo">352</span>               serializeBeanMap(session, out, m, eType, pMeta);<a name="line.352"></a>
+<span class="sourceLineNo">353</span>            }<a name="line.353"></a>
 <span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>         } else if (session.isUri(sType, pMeta, o)) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>            String label = session.getAnchorText(pMeta, o);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>            out.oTag("a").attrUri("href", o).append('&gt;');<a name="line.357"></a>
-<span class="sourceLineNo">358</span>            out.text(label);<a name="line.358"></a>
-<span class="sourceLineNo">359</span>            out.eTag("a");<a name="line.359"></a>
-<span class="sourceLineNo">360</span>            cr = CR_SIMPLE;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>         } else {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>            if (isRoot)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>               out.sTag("string").text(session.toString(o)).eTag("string");<a name="line.364"></a>
-<span class="sourceLineNo">365</span>            else<a name="line.365"></a>
-<span class="sourceLineNo">366</span>               out.text(session.toString(o));<a name="line.366"></a>
-<span class="sourceLineNo">367</span>            cr = CR_SIMPLE;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>         }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      }<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      session.pop();<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      session.indent -= indent;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      return cr;<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>   /**<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    * Identifies what the contents were of a serialized bean.<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    */<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   static enum ContentResult {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      CR_SIMPLE,    // Simple content.  Shouldn't use whitespace.<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      CR_NORMAL     // Normal content.  Use whitespace.<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   }<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   private void serializeMap(HtmlSerializerSession session, HtmlWriter out, Map m, ClassMeta&lt;?&gt; sType,<a name="line.384"></a>
-<span class="sourceLineNo">385</span>         ClassMeta&lt;?&gt; eKeyType, ClassMeta&lt;?&gt; eValueType, String typeName, BeanPropertyMeta ppMeta) throws Exception {<a name="line.385"></a>
+<span class="sourceLineNo">355</span>         } else if (sType.isCollection() || sType.isArray() || (wType != null &amp;&amp; wType.isCollection())) {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>            out.nlIf(! isRoot, indent+1);<a name="line.356"></a>
+<span class="sourceLineNo">357</span>            serializeCollection(session, out, o, sType, eType, name, pMeta);<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>         } else if (session.isUri(sType, pMeta, o)) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>            String label = session.getAnchorText(pMeta, o);<a name="line.360"></a>
+<span class="sourceLineNo">361</span>            out.oTag("a").attrUri("href", o).append('&gt;');<a name="line.361"></a>
+<span class="sourceLineNo">362</span>            out.text(label);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>            out.eTag("a");<a name="line.363"></a>
+<span class="sourceLineNo">364</span>            cr = CR_SIMPLE;<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>         } else {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>            if (isRoot)<a name="line.367"></a>
+<span class="sourceLineNo">368</span>               out.sTag("string").text(session.toString(o)).eTag("string");<a name="line.368"></a>
+<span class="sourceLineNo">369</span>            else<a name="line.369"></a>
+<span class="sourceLineNo">370</span>               out.text(session.toString(o));<a name="line.370"></a>
+<span class="sourceLineNo">371</span>            cr = CR_SIMPLE;<a name="line.371"></a>
+<span class="sourceLineNo">372</span>         }<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      }<a name="line.373"></a>
+<span class="sourceLineNo">374</span>      session.pop();<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      session.indent -= indent;<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      return cr;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>   /**<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    * Identifies what the contents were of a serialized bean.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    */<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   static enum ContentResult {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      CR_SIMPLE,    // Simple content.  Shouldn't use whitespace.<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      CR_NORMAL     // Normal content.  Use whitespace.<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   }<a name="line.385"></a>
 <span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>      ClassMeta&lt;?&gt; keyType = eKeyType == null ? session.string() : eKeyType;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      ClassMeta&lt;?&gt; valueType = eValueType == null ? session.object() : eValueType;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      ClassMeta&lt;?&gt; aType = session.getClassMetaForObject(m);       // The actual type<a name="line.389"></a>
+<span class="sourceLineNo">387</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   private void serializeMap(HtmlSerializerSession session, HtmlWriter out, Map m, ClassMeta&lt;?&gt; sType,<a name="line.388"></a>
+<span class="sourceLineNo">389</span>         ClassMeta&lt;?&gt; eKeyType, ClassMeta&lt;?&gt; eValueType, String typeName, BeanPropertyMeta ppMeta) throws Exception {<a name="line.389"></a>
 <span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>      int i = session.getIndent();<a name="line.391"></a>
-<span class="sourceLineNo">392</span><a name="line.392"></a>
-<span class="sourceLineNo">393</span>      out.oTag(i, "table");<a name="line.393"></a>
+<span class="sourceLineNo">391</span>      ClassMeta&lt;?&gt; keyType = eKeyType == null ? session.string() : eKeyType;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      ClassMeta&lt;?&gt; valueType = eValueType == null ? session.object() : eValueType;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      ClassMeta&lt;?&gt; aType = session.getClassMetaForObject(m);       // The actual type<a name="line.393"></a>
 <span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>      if (typeName != null &amp;&amp; ppMeta != null &amp;&amp; ppMeta.getClassMeta() != aType)<a name="line.395"></a>
-<span class="sourceLineNo">396</span>         out.attr(session.getBeanTypePropertyName(sType), typeName);<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>      out.append("&gt;").nl(i+1);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      if (session.isAddKeyValueTableHeaders() &amp;&amp; ! (aType.getExtendedMeta(HtmlClassMeta.class).isNoTableHeaders()<a name="line.399"></a>
-<span class="sourceLineNo">400</span>            || (ppMeta != null &amp;&amp; ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isNoTableHeaders()))) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>         out.sTag(i+2, "th").append("key").eTag("th").nl(i+3);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>         out.sTag(i+2, "th").append("value").eTag("th").nl(i+3);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>         out.ie(i+1).eTag("tr").nl(i+2);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      for (Map.Entry e : (Set&lt;Map.Entry&gt;)m.entrySet()) {<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>         Object key = session.generalize(e.getKey(), keyType);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>         Object value = null;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>         try {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>            value = e.getValue();<a name="line.411"></a>
-<span class="sourceLineNo">412</span>         } catch (StackOverflowError t) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            throw t;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>         } catch (Throwable t) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>            session.onError(t, "Could not call getValue() on property ''{0}'', {1}", e.getKey(), t.getLocalizedMessage());<a name="line.415"></a>
-<span class="sourceLineNo">416</span>         }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span>         String link = getLink(ppMeta);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>         String style = getStyle(session, ppMeta, value);<a name="line.419"></a>
-<span class="sourceLineNo">420</span><a name="line.420"></a>
-<span class="sourceLineNo">421</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>         out.oTag(i+2, "td");<a name="line.422"></a>
-<span class="sourceLineNo">423</span>         if (style != null)<a name="line.423"></a>
-<span class="sourceLineNo">424</span>            out.attr("style", style);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>         out.cTag();<a name="line.425"></a>
-<span class="sourceLineNo">426</span>         if (link != null)<a name="line.426"></a>
-<span class="sourceLineNo">427</span>            out.oTag(i+3, "a").attrUri("href", link.replace("{#}", StringUtils.toString(value))).cTag();<a name="line.427"></a>
-<span class="sourceLineNo">428</span>         ContentResult cr = serializeAnything(session, out, key, keyType, null, 2, null, false);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>         if (link != null)<a name="line.429"></a>
-<span class="sourceLineNo">430</span>            out.eTag("a");<a name="line.430"></a>
-<span class="sourceLineNo">431</span>         if (cr == CR_NORMAL)<a name="line.431"></a>
-<span class="sourceLineNo">432</span>            out.i(i+2);<a name="line.432"></a>
-<span class="sourceLineNo">433</span>         out.eTag("td").nl(i+2);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>         out.sTag(i+2, "td");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>         cr = serializeAnything(session, out, value, valueType, (key == null ? "_x0000_" : session.toString(key)), 2, null, false);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>         if (cr == CR_NORMAL)<a name="line.436"></a>
-<span class="sourceLineNo">437</span>            out.ie(i+2);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>         out.eTag("td").nl(i+2);<a name="line.438"></a>
-<span class="sourceLineNo">439</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      }<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      out.ie(i).eTag("table").nl(i);<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   }<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>   private void serializeBeanMap(HtmlSerializerSession session, HtmlWriter out, BeanMap&lt;?&gt; m, ClassMeta&lt;?&gt; eType,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>         BeanPropertyMeta ppMeta) throws Exception {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      int i = session.getIndent();<a name="line.446"></a>
+<span class="sourceLineNo">395</span>      int i = session.getIndent();<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span>      out.oTag(i, "table");<a name="line.397"></a>
+<span class="sourceLineNo">398</span><a name="line.398"></a>
+<span class="sourceLineNo">399</span>      if (typeName != null &amp;&amp; ppMeta != null &amp;&amp; ppMeta.getClassMeta() != aType)<a name="line.399"></a>
+<span class="sourceLineNo">400</span>         out.attr(session.getBeanTypePropertyName(sType), typeName);<a name="line.400"></a>
+<span class="sourceLineNo">401</span><a name="line.401"></a>
+<span class="sourceLineNo">402</span>      out.append("&gt;").nl(i+1);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>      if (session.isAddKeyValueTableHeaders() &amp;&amp; ! (aType.getExtendedMeta(HtmlClassMeta.class).isNoTableHeaders()<a name="line.403"></a>
+<span class="sourceLineNo">404</span>            || (ppMeta != null &amp;&amp; ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isNoTableHeaders()))) {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.405"></a>
+<span class="sourceLineNo">406</span>         out.sTag(i+2, "th").append("key").eTag("th").nl(i+3);<a name="line.406"></a>
+<span class="sourceLineNo">407</span>         out.sTag(i+2, "th").append("value").eTag("th").nl(i+3);<a name="line.407"></a>
+<span class="sourceLineNo">408</span>         out.ie(i+1).eTag("tr").nl(i+2);<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      }<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      for (Map.Entry e : (Set&lt;Map.Entry&gt;)m.entrySet()) {<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span>         Object key = session.generalize(e.getKey(), keyType);<a name="line.412"></a>
+<span class="sourceLineNo">413</span>         Object value = null;<a name="line.413"></a>
+<span class="sourceLineNo">414</span>         try {<a name="line.414"></a>
+<span class="sourceLineNo">415</span>            value = e.getValue();<a name="line.415"></a>
+<span class="sourceLineNo">416</span>         } catch (StackOverflowError t) {<a name="line.416"></a>
+<span class="sourceLineNo">417</span>            throw t;<a name="line.417"></a>
+<span class="sourceLineNo">418</span>         } catch (Throwable t) {<a name="line.418"></a>
+<span class="sourceLineNo">419</span>            session.onError(t, "Could not call getValue() on property ''{0}'', {1}", e.getKey(), t.getLocalizedMessage());<a name="line.419"></a>
+<span class="sourceLineNo">420</span>         }<a name="line.420"></a>
+<span class="sourceLineNo">421</span><a name="line.421"></a>
+<span class="sourceLineNo">422</span>         String link = getLink(ppMeta);<a name="line.422"></a>
+<span class="sourceLineNo">423</span>         String style = getStyle(session, ppMeta, value);<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.425"></a>
+<span class="sourceLineNo">426</span>         out.oTag(i+2, "td");<a name="line.426"></a>
+<span class="sourceLineNo">427</span>         if (style != null)<a name="line.427"></a>
+<span class="sourceLineNo">428</span>            out.attr("style", style);<a name="line.428"></a>
+<span class="sourceLineNo">429</span>         out.cTag();<a name="line.429"></a>
+<span class="sourceLineNo">430</span>         if (link != null)<a name="line.430"></a>
+<span class="sourceLineNo">431</span>            out.oTag(i+3, "a").attrUri("href", link.replace("{#}", StringUtils.toString(value))).cTag();<a name="line.431"></a>
+<span class="sourceLineNo">432</span>         ContentResult cr = serializeAnything(session, out, key, keyType, null, 2, null, false);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>         if (link != null)<a name="line.433"></a>
+<span class="sourceLineNo">434</span>            out.eTag("a");<a name="line.434"></a>
+<span class="sourceLineNo">435</span>         if (cr == CR_NORMAL)<a name="line.435"></a>
+<span class="sourceLineNo">436</span>            out.i(i+2);<a name="line.436"></a>
+<span class="sourceLineNo">437</span>         out.eTag("td").nl(i+2);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>         out.sTag(i+2, "td");<a name="line.438"></a>
+<span class="sourceLineNo">439</span>         cr = serializeAnything(session, out, value, valueType, (key == null ? "_x0000_" : session.toString(key)), 2, null, false);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>         if (cr == CR_NORMAL)<a name="line.440"></a>
+<span class="sourceLineNo">441</span>            out.ie(i+2);<a name="line.441"></a>
+<span class="sourceLineNo">442</span>         out.eTag("td").nl(i+2);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      }<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      out.ie(i).eTag("table").nl(i);<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   }<a name="line.446"></a>
 <span class="sourceLineNo">447</span><a name="line.447"></a>
-<span class="sourceLineNo">448</span>      out.oTag(i, "table");<a name="line.448"></a>
-<span class="sourceLineNo">449</span><a name="line.449"></a>
-<span class="sourceLineNo">450</span>      String typeName = m.getMeta().getDictionaryName();<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      if (typeName != null &amp;&amp; eType != m.getClassMeta())<a name="line.451"></a>
-<span class="sourceLineNo">452</span>         out.attr(session.getBeanTypePropertyName(m.getClassMeta()), typeName);<a name="line.452"></a>
+<span class="sourceLineNo">448</span>   private void serializeBeanMap(HtmlSerializerSession session, HtmlWriter out, BeanMap&lt;?&gt; m, ClassMeta&lt;?&gt; eType,<a name="line.448"></a>
+<span class="sourceLineNo">449</span>         BeanPropertyMeta ppMeta) throws Exception {<a name="line.449"></a>
+<span class="sourceLineNo">450</span>      int i = session.getIndent();<a name="line.450"></a>
+<span class="sourceLineNo">451</span><a name="line.451"></a>
+<span class="sourceLineNo">452</span>      out.oTag(i, "table");<a name="line.452"></a>
 <span class="sourceLineNo">453</span><a name="line.453"></a>
-<span class="sourceLineNo">454</span>      out.append('&gt;').nl(i);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      if (session.isAddKeyValueTableHeaders() &amp;&amp; ! (m.getClassMeta().getExtendedMeta(HtmlClassMeta.class).isNoTableHeaders()<a name="line.455"></a>
-<span class="sourceLineNo">456</span>            || (ppMeta != null &amp;&amp; ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isNoTableHeaders()))) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>         out.sTag(i+1, "tr").nl(i+1);<a name="line.457"></a>
-<span class="sourceLineNo">458</span>         out.sTag(i+2, "th").append("key").eTag("th").nl(i+2);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>         out.sTag(i+2, "th").append("value").eTag("th").nl(i+2);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>      for (BeanPropertyValue p : m.getValues(session.isTrimNulls())) {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>         BeanPropertyMeta pMeta = p.getMeta();<a name="line.464"></a>
-<span class="sourceLineNo">465</span>         ClassMeta&lt;?&gt; cMeta = p.getClassMeta();<a name="line.465"></a>
+<span class="sourceLineNo">454</span>      String typeName = m.getMeta().getDictionaryName();<a name="line.454"></a>
+<span class="sourceLineNo">455</span>      if (typeName != null &amp;&amp; eType != m.getClassMeta())<a name="line.455"></a>
+<span class="sourceLineNo">456</span>         out.attr(session.getBeanTypePropertyName(m.getClassMeta()), typeName);<a name="line.456"></a>
+<span class="sourceLineNo">457</span><a name="line.457"></a>
+<span class="sourceLineNo">458</span>      out.append('&gt;').nl(i);<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      if (session.isAddKeyValueTableHeaders() &amp;&amp; ! (m.getClassMeta().getExtendedMeta(HtmlClassMeta.class).isNoTableHeaders()<a name="line.459"></a>
+<span class="sourceLineNo">460</span>            || (ppMeta != null &amp;&amp; ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isNoTableHeaders()))) {<a name="line.460"></a>
+<span class="sourceLineNo">461</span>         out.sTag(i+1, "tr").nl(i+1);<a name="line.461"></a>
+<span class="sourceLineNo">462</span>         out.sTag(i+2, "th").append("key").eTag("th").nl(i+2);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>         out.sTag(i+2, "th").append("value").eTag("th").nl(i+2);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      }<a name="line.465"></a>
 <span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>         String key = p.getName();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>         Object value = p.getValue();<a name="line.468"></a>
-<span class="sourceLineNo">469</span>         Throwable t = p.getThrown();<a name="line.469"></a>
-<span class="sourceLineNo">470</span>         if (t != null)<a name="line.470"></a>
-<span class="sourceLineNo">471</span>            session.onBeanGetterException(pMeta, t);<a name="line.471"></a>
-<span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span>         if (session.canIgnoreValue(cMeta, key, value))<a name="line.473"></a>
-<span class="sourceLineNo">474</span>            continue;<a name="line.474"></a>
-<span class="sourceLineNo">475</span><a name="line.475"></a>
-<span class="sourceLineNo">476</span>         String link = cMeta.isCollectionOrArray() ? null : getLink(pMeta);<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>         out.sTag(i+1, "tr").nl(i+1);<a name="line.478"></a>
-<span class="sourceLineNo">479</span>         out.sTag(i+2, "td").text(key).eTag("td").nl(i+2);<a name="line.479"></a>
-<span class="sourceLineNo">480</span>         out.oTag(i+2, "td");<a name="line.480"></a>
-<span class="sourceLineNo">481</span>         String style = getStyle(session, pMeta, value);<a name="line.481"></a>
-<span class="sourceLineNo">482</span>         if (style != null)<a name="line.482"></a>
-<span class="sourceLineNo">483</span>            out.attr("style", style);<a name="line.483"></a>
-<span class="sourceLineNo">484</span>         out.cTag();<a name="line.484"></a>
-<span class="sourceLineNo">485</span><a name="line.485"></a>
-<span class="sourceLineNo">486</span>         try {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>            if (link != null)<a name="line.487"></a>
-<span class="sourceLineNo">488</span>               out.oTag(i+3, "a").attrUri("href", m.resolveVars(link)).cTag();<a name="line.488"></a>
-<span class="sourceLineNo">489</span>            ContentResult cr = serializeAnything(session, out, value, cMeta, key, 2, pMeta, false);<a name="line.489"></a>
-<span class="sourceLineNo">490</span>            if (cr == CR_NORMAL)<a name="line.490"></a>
-<span class="sourceLineNo">491</span>               out.i(i+2);<a name="line.491"></a>
-<span class="sourceLineNo">492</span>            if (link != null)<a name="line.492"></a>
-<span class="sourceLineNo">493</span>               out.eTag("a");<a name="line.493"></a>
-<span class="sourceLineNo">494</span>         } catch (SerializeException e) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>            throw e;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>         } catch (Error e) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>            throw e;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>         } catch (Throwable e) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>            e.printStackTrace();<a name="line.499"></a>
-<span class="sourceLineNo">500</span>            session.onBeanGetterException(pMeta, e);<a name="line.500"></a>
-<span class="sourceLineNo">501</span>         }<a name="line.501"></a>
-<span class="sourceLineNo">502</span>         out.eTag("td").nl(i+2);<a name="line.502"></a>
-<span class="sourceLineNo">503</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>      }<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      out.ie(i).eTag("table").nl(i);<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   private void serializeCollection(HtmlSerializerSession session, HtmlWriter out, Object in, ClassMeta&lt;?&gt; sType,<a name="line.509"></a>
-<span class="sourceLineNo">510</span>         ClassMeta&lt;?&gt; eType, String name, BeanPropertyMeta ppMeta) throws Exception {<a name="line.510"></a>
+<span class="sourceLineNo">467</span>      for (BeanPropertyValue p : m.getValues(session.isTrimNulls())) {<a name="line.467"></a>
+<span class="sourceLineNo">468</span>         BeanPropertyMeta pMeta = p.getMeta();<a name="line.468"></a>
+<span class="sourceLineNo">469</span>         ClassMeta&lt;?&gt; cMeta = p.getClassMeta();<a name="line.469"></a>
+<span class="sourceLineNo">470</span><a name="line.470"></a>
+<span class="sourceLineNo">471</span>         String key = p.getName();<a name="line.471"></a>
+<span class="sourceLineNo">472</span>         Object value = p.getValue();<a name="line.472"></a>
+<span class="sourceLineNo">473</span>         Throwable t = p.getThrown();<a name="line.473"></a>
+<span class="sourceLineNo">474</span>         if (t != null)<a name="line.474"></a>
+<span class="sourceLineNo">475</span>            session.onBeanGetterException(pMeta, t);<a name="line.475"></a>
+<span class="sourceLineNo">476</span><a name="line.476"></a>
+<span class="sourceLineNo">477</span>         if (session.canIgnoreValue(cMeta, key, value))<a name="line.477"></a>
+<span class="sourceLineNo">478</span>            continue;<a name="line.478"></a>
+<span class="sourceLineNo">479</span><a name="line.479"></a>
+<span class="sourceLineNo">480</span>         String link = cMeta.isCollectionOrArray() ? null : getLink(pMeta);<a name="line.480"></a>
+<span class="sourceLineNo">481</span><a name="line.481"></a>
+<span class="sourceLineNo">482</span>         out.sTag(i+1, "tr").nl(i+1);<a name="line.482"></a>
+<span class="sourceLineNo">483</span>         out.sTag(i+2, "td").text(key).eTag("td").nl(i+2);<a name="line.483"></a>
+<span class="sourceLineNo">484</span>         out.oTag(i+2, "td");<a name="line.484"></a>
+<span class="sourceLineNo">485</span>         String style = getStyle(session, pMeta, value);<a name="line.485"></a>
+<span class="sourceLineNo">486</span>         if (style != null)<a name="line.486"></a>
+<span class="sourceLineNo">487</span>            out.attr("style", style);<a name="line.487"></a>
+<span class="sourceLineNo">488</span>         out.cTag();<a name="line.488"></a>
+<span class="sourceLineNo">489</span><a name="line.489"></a>
+<span class="sourceLineNo">490</span>         try {<a name="line.490"></a>
+<span class="sourceLineNo">491</span>            if (link != null)<a name="line.491"></a>
+<span class="sourceLineNo">492</span>               out.oTag(i+3, "a").attrUri("href", m.resolveVars(link)).cTag();<a name="line.492"></a>
+<span class="sourceLineNo">493</span>            ContentResult cr = serializeAnything(session, out, value, cMeta, key, 2, pMeta, false);<a name="line.493"></a>
+<span class="sourceLineNo">494</span>            if (cr == CR_NORMAL)<a name="line.494"></a>
+<span class="sourceLineNo">495</span>               out.i(i+2);<a name="line.495"></a>
+<span class="sourceLineNo">496</span>            if (link != null)<a name="line.496"></a>
+<span class="sourceLineNo">497</span>               out.eTag("a");<a name="line.497"></a>
+<span class="sourceLineNo">498</span>         } catch (SerializeException e) {<a name="line.498"></a>
+<span class="sourceLineNo">499</span>            throw e;<a name="line.499"></a>
+<span class="sourceLineNo">500</span>         } catch (Error e) {<a name="line.500"></a>
+<span class="sourceLineNo">501</span>            throw e;<a name="line.501"></a>
+<span class="sourceLineNo">502</span>         } catch (Throwable e) {<a name="line.502"></a>
+<span class="sourceLineNo">503</span>            e.printStackTrace();<a name="line.503"></a>
+<span class="sourceLineNo">504</span>            session.onBeanGetterException(pMeta, e);<a name="line.504"></a>
+<span class="sourceLineNo">505</span>         }<a name="line.505"></a>
+<span class="sourceLineNo">506</span>         out.eTag("td").nl(i+2);<a name="line.506"></a>
+<span class="sourceLineNo">507</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      }<a name="line.508"></a>
+<span class="sourceLineNo">509</span>      out.ie(i).eTag("table").nl(i);<a name="line.509"></a>
+<span class="sourceLineNo">510</span>   }<a name="line.510"></a>
 <span class="sourceLineNo">511</span><a name="line.511"></a>
-<span class="sourceLineNo">512</span>      ClassMeta&lt;?&gt; seType = sType.getElementType();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      if (seType == null)<a name="line.513"></a>
-<span class="sourceLineNo">514</span>         seType = session.object();<a name="line.514"></a>
+<span class="sourceLineNo">512</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.512"></a>
+<span class="sourceLineNo">513</span>   private void serializeCollection(HtmlSerializerSession session, HtmlWriter out, Object in, ClassMeta&lt;?&gt; sType,<a name="line.513"></a>
+<span class="sourceLineNo">514</span>         ClassMeta&lt;?&gt; eType, String name, BeanPropertyMeta ppMeta) throws Exception {<a name="line.514"></a>
 <span class="sourceLineNo">515</span><a name="line.515"></a>
-<span class="sourceLineNo">516</span>      Collection c = (sType.isCollection() ? (Collection)in : toList(sType.getInnerClass(), in));<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>      int i = session.getIndent();<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      if (c.isEmpty()) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>         out.appendln(i, "&lt;ul&gt;&lt;/ul&gt;");<a name="line.520"></a>
-<span class="sourceLineNo">521</span>         return;<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      }<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>      String type2 = null;<a name="line.524"></a>
-<span class="sourceLineNo">525</span>      if (sType != eType)<a name="line.525"></a>
-<span class="sourceLineNo">526</span>         type2 = sType.getDictionaryName();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      if (type2 == null)<a name="line.527"></a>
-<span class="sourceLineNo">528</span>         type2 = "array";<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>      c = session.sort(c);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>      HtmlBeanPropertyMeta hbpMeta = (ppMeta == null ? null : ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class));<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      String btpn = session.getBeanTypePropertyName(eType);<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>      // Look at the objects to see how we're going to handle them.  Check the first object to see how we're going to<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      // handle this.<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      // If it's a map or bean, then we'll create a table.<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      // Otherwise, we'll create a list.<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      Object[] th = getTableHeaders(session, c, hbpMeta);<a name="line.539"></a>
-<span class="sourceLineNo">540</span><a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (th != null) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span><a name="line.542"></a>
-<span class="sourceLineNo">543</span>         out.oTag(i, "table").attr(btpn, type2).append('&gt;').nl(i+1);<a name="line.543"></a>
-<span class="sourceLineNo">544</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>         for (Object key : th) {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>            out.sTag(i+2, "th");<a name="line.546"></a>
-<span class="sourceLineNo">547</span>            out.text(session.convertToType(key, String.class));<a name="line.547"></a>
-<span class="sourceLineNo">548</span>            out.eTag("th").nl(i+2);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>         }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>         for (Object o : c) {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>            ClassMeta&lt;?&gt; cm = session.getClassMetaForObject(o);<a name="line.553"></a>
-<span class="sourceLineNo">554</span><a name="line.554"></a>
-<span class="sourceLineNo">555</span>            if (cm != null &amp;&amp; cm.getPojoSwap() != null) {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>               PojoSwap f = cm.getPojoSwap();<a name="line.556"></a>
-<span class="sourceLineNo">557</span>               o = f.swap(session, o);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>               cm = cm.getSerializedClassMeta();<a name="line.558"></a>
-<span class="sourceLineNo">559</span>            }<a name="line.559"></a>
-<span class="sourceLineNo">560</span><a name="line.560"></a>
-<span class="sourceLineNo">561</span>            out.oTag(i+1, "tr");<a name="line.561"></a>
-<span class="sourceLineNo">562</span>            String typeName = (cm == null ? null : cm.getDictionaryName());<a name="line.562"></a>
-<span class="sourceLineNo">563</span>            String typeProperty = session.getBeanTypePropertyName(cm);<a name="line.563"></a>
+<span class="sourceLineNo">516</span>      ClassMeta&lt;?&gt; seType = sType.getElementType();<a name="line.516"></a>
+<span class="sourceLineNo">517</span>      if (seType == null)<a name="line.517"></a>
+<span class="sourceLineNo">518</span>         seType = session.object();<a name="line.518"></a>
+<span class="sourceLineNo">519</span><a name="line.519"></a>
+<span class="sourceLineNo">520</span>      Collection c = (sType.isCollection() ? (Collection)in : toList(sType.getInnerClass(), in));<a name="line.520"></a>
+<span class="sourceLineNo">521</span><a name="line.521"></a>
+<span class="sourceLineNo">522</span>      int i = session.getIndent();<a name="line.522"></a>
+<span class="sourceLineNo">523</span>      if (c.isEmpty()) {<a name="line.523"></a>
+<span class="sourceLineNo">524</span>         out.appendln(i, "&lt;ul&gt;&lt;/ul&gt;");<a name="line.524"></a>
+<span class="sourceLineNo">525</span>         return;<a name="line.525"></a>
+<span class="sourceLineNo">526</span>      }<a name="line.526"></a>
+<span class="sourceLineNo">527</span><a name="line.527"></a>
+<span class="sourceLineNo">528</span>      String type2 = null;<a name="line.528"></a>
+<span class="sourceLineNo">529</span>      if (sType != eType)<a name="line.529"></a>
+<span class="sourceLineNo">530</span>         type2 = sType.getDictionaryName();<a name="line.530"></a>
+<span class="sourceLineNo">531</span>      if (type2 == null)<a name="line.531"></a>
+<span class="sourceLineNo">532</span>         type2 = "array";<a name="line.532"></a>
+<span class="sourceLineNo">533</span><a name="line.533"></a>
+<span class="sourceLineNo">534</span>      c = session.sort(c);<a name="line.534"></a>
+<span class="sourceLineNo">535</span><a name="line.535"></a>
+<span class="sourceLineNo">536</span>      HtmlBeanPropertyMeta hbpMeta = (ppMeta == null ? null : ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class));<a name="line.536"></a>
+<span class="sourceLineNo">537</span>      String btpn = session.getBeanTypePropertyName(eType);<a name="line.537"></a>
+<span class="sourceLineNo">538</span><a name="line.538"></a>
+<span class="sourceLineNo">539</span>      // Look at the objects to see how we're going to handle them.  Check the first object to see how we're going to<a name="line.539"></a>
+<span class="sourceLineNo">540</span>      // handle this.<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      // If it's a map or bean, then we'll create a table.<a name="line.541"></a>
+<span class="sourceLineNo">542</span>      // Otherwise, we'll create a list.<a name="line.542"></a>
+<span class="sourceLineNo">543</span>      Object[] th = getTableHeaders(session, c, hbpMeta);<a name="line.543"></a>
+<span class="sourceLineNo">544</span><a name="line.544"></a>
+<span class="sourceLineNo">545</span>      if (th != null) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span><a name="line.546"></a>
+<span class="sourceLineNo">547</span>         out.oTag(i, "table").attr(btpn, type2).append('&gt;').nl(i+1);<a name="line.547"></a>
+<span class="sourceLineNo">548</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.548"></a>
+<span class="sourceLineNo">549</span>         for (Object key : th) {<a name="line.549"></a>
+<span class="sourceLineNo">550</span>            out.sTag(i+2, "th");<a name="line.550"></a>
+<span class="sourceLineNo">551</span>            out.text(session.convertToType(key, String.class));<a name="line.551"></a>
+<span class="sourceLineNo">552</span>            out.eTag("th").nl(i+2);<a name="line.552"></a>
+<span class="sourceLineNo">553</span>         }<a name="line.553"></a>
+<span class="sourceLineNo">554</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.554"></a>
+<span class="sourceLineNo">555</span><a name="line.555"></a>
+<span class="sourceLineNo">556</span>         for (Object o : c) {<a name="line.556"></a>
+<span class="sourceLineNo">557</span>            ClassMeta&lt;?&gt; cm = session.getClassMetaForObject(o);<a name="line.557"></a>
+<span class="sourceLineNo">558</span><a name="line.558"></a>
+<span class="sourceLineNo">559</span>            if (cm != null &amp;&amp; cm.getPojoSwap() != null) {<a name="line.559"></a>
+<span class="sourceLineNo">560</span>               PojoSwap f = cm.getPojoSwap();<a name="line.560"></a>
+<span class="sourceLineNo">561</span>               o = f.swap(session, o);<a name="line.561"></a>
+<span class="sourceLineNo">562</span>               cm = cm.getSerializedClassMeta();<a name="line.562"></a>
+<span class="sourceLineNo">563</span>            }<a name="line.563"></a>
 <span class="sourceLineNo">564</span><a name="line.564"></a>
-<span class="sourceLineNo">565</span>            if (typeName != null &amp;&amp; eType.getElementType() != cm)<a name="line.565"></a>
-<span class="sourceLineNo">566</span>               out.attr(typeProperty, typeName);<a name="line.566"></a>
-<span class="sourceLineNo">567</span>            out.cTag().nl(i+2);<a name="line.567"></a>
+<span class="sourceLineNo">565</span>            out.oTag(i+1, "tr");<a name="line.565"></a>
+<span class="sourceLineNo">566</span>            String typeName = (cm == null ? null : cm.getDictionaryName());<a name="line.566"></a>
+<span class="sourceLineNo">567</span>            String typeProperty = session.getBeanTypePropertyName(cm);<a name="line.567"></a>
 <span class="sourceLineNo">568</span><a name="line.568"></a>
-<span class="sourceLineNo">569</span>            if (cm == null) {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>               serializeAnything(session, out, o, null, null, 1, null, false);<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>            } else if (cm.isMap() &amp;&amp; ! (cm.isBeanMap())) {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>               Map m2 = session.sort((Map)o);<a name="line.573"></a>
-<span class="sourceLineNo">574</span><a name="line.574"></a>
-<span class="sourceLineNo">575</span>               for (Object k : th) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>                  out.sTag(i+2, "td");<a name="line.576"></a>
-<span class="sourceLineNo">577</span>                  ContentResult cr = serializeAnything(session, out, m2.get(k), eType.getElementType(), session.toString(k), 2, null, false);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>                  if (cr == CR_NORMAL)<a name="line.578"></a>
-<span class="sourceLineNo">579</span>                     out.i(i+2);<a name="line.579"></a>
-<span class="sourceLineNo">580</span>                  out.eTag("td").nl(i+2);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>               }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>            } else {<a name="line.582"></a>
-<span class="sourceLineNo">583</span>               BeanMap m2 = null;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>               if (o instanceof BeanMap)<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                  m2 = (BeanMap)o;<a name="line.585"></a>
-<span class="sourceLineNo">586</span>               else<a name="line.586"></a>
-<span class="sourceLineNo">587</span>                  m2 = session.toBeanMap(o);<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>               for (Object k : th) {<a name="line.589"></a>
-<span class="sourceLineNo">590</span>                  BeanMapEntry p = m2.getProperty(session.toString(k));<a name="line.590"></a>
-<span class="sourceLineNo">591</span>                  BeanPropertyMeta pMeta = p.getMeta();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>                  String link = pMeta.getClassMeta().isCollectionOrArray() ? null : getLink(pMeta);<a name="line.592"></a>
-<span class="sourceLineNo">593</span>                  Object value = p.getValue();<a name="line.593"></a>
-<span class="sourceLineNo">594</span>                  String style = getStyle(session, pMeta, value);<a name="line.594"></a>
-<span class="sourceLineNo">595</span>                  out.oTag(i+2, "td");<a name="line.595"></a>
-<span class="sourceLineNo">596</span>                  if (style != null)<a name="line.596"></a>
-<span class="sourceLineNo">597</span>                     out.attr("style", style);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>                  out.cTag();<a name="line.598"></a>
-<span class="sourceLineNo">599</span>                  if (link != null)<a name="line.599"></a>
-<span class="sourceLineNo">600</span>                     out.oTag(i+3, "a").attrUri("href", m2.resolveVars(link)).cTag();<a name="line.600"></a>
-<span class="sourceLineNo">601</span>                  ContentResult cr = serializeAnything(session, out, value, pMeta.getClassMeta(), p.getKey().toString(), 2, pMeta, false);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>                  if (cr == CR_NORMAL)<a name="line.602"></a>
-<span class="sourceLineNo">603</span>                     out.i(i+2);<a name="line.603"></a>
-<span class="sourceLineNo">604</span>                  if (link != null)<a name="line.604"></a>
-<span class="sourceLineNo">605</span>                     out.eTag("a");<a name="line.605"></a>
-<span class="sourceLineNo">606</span>                  out.eTag("td").nl(i+2);<a name="line.606"></a>
-<span class="sourceLineNo">607</span>               }<a name="line.607"></a>
-<span class="sourceLineNo">608</span>            }<a name="line.608"></a>
-<span class="sourceLineNo">609</span>            out.ie(i+1).eTag("tr").nl(i+1);<a name="line.609"></a>
-<span class="sourceLineNo">610</span>         }<a name="line.610"></a>
-<span class="sourceLineNo">611</span>         out.ie(i).eTag("table").nl(i);<a name="line.611"></a>
-<span class="sourceLineNo">612</span><a name="line.612"></a>
-<span class="sourceLineNo">613</span>      } else {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>         out.oTag(i, "ul");<a name="line.614"></a>
-<span class="sourceLineNo">615</span>         if (! type2.equals("array"))<a name="line.615"></a>
-<span class="sourceLineNo">616</span>            out.attr(btpn, type2);<a name="line.616"></a>
-<span class="sourceLineNo">617</span>         out.append('&gt;').nl(i+1);<a name="line.617"></a>
-<span class="sourceLineNo">618</span>         for (Object o : c) {<a name="line.618"></a>
-<span class="sourceLineNo">619</span>            out.oTag(i+1, "li");<a name="line.619"></a>
-<span class="sourceLineNo">620</span>            String style = getStyle(session, ppMeta, o);<a name="line.620"></a>
-<span class="sourceLineNo">621</span>            String link = getLink(ppMeta);<a name="line.621"></a>
-<span class="sourceLineNo">622</span>            if (style != null)<a name="line.622"></a>
-<span class="sourceLineNo">623</span>               out.attr("style", style);<a name="line.623"></a>
-<span class="sourceLineNo">624</span>            out.cTag();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>            if (link != null)<a name="line.625"></a>
-<span class="sourceLineNo">626</span>               out.oTag(i+2, "a").attrUri("href", link.replace("{#}", StringUtils.toString(o))).cTag();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>            ContentResult cr = serializeAnything(session, out, o, eType.getElementType(), name, 1, null, false);<a name="line.627"></a>
-<span class="sourceLineNo">628</span>            if (link != null)<a name="line.628"></a>
-<span class="sourceLineNo">629</span>               out.eTag("a");<a name="line.629"></a>
-<span class="sourceLineNo">630</span>            if (cr == CR_NORMAL)<a name="line.630"></a>
-<span class="sourceLineNo">631</span>               out.ie(i+1);<a name="line.631"></a>
-<span class="sourceLineNo">632</span>            out.eTag("li").nl(i+1);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>         }<a name="line.633"></a>
-<span class="sourceLineNo">634</span>         out.ie(i).eTag("ul").nl(i);<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      }<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   }<a name="line.636"></a>
-<span class="sourceLineNo">637</span><a name="line.637"></a>
-<span class="sourceLineNo">638</span>   private static HtmlRender&lt;?&gt; getRender(HtmlSerializerSession session, BeanPropertyMeta pMeta, Object value) {<a name="line.638"></a>
-<span class="sourceLineNo">639</span>      if (pMeta == null)<a name="line.639"></a>
-<span class="sourceLineNo">640</span>         return null;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      HtmlBeanPropertyMeta hpMeta = pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      HtmlRender&lt;?&gt; render = hpMeta.getRender();<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      if (render != null)<a name="line.643"></a>
-<span class="sourceLineNo">644</span>         return render;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      ClassMeta&lt;?&gt; cMeta = session.getClassMetaForObject(value);<a name="line.645"></a>
-<span class="sourceLineNo">646</span>      render = cMeta == null ? null : cMeta.getExtendedMeta(HtmlClassMeta.class).getRender();<a name="line.646"></a>
-<span class="sourceLineNo">647</span>      return render;<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>   @SuppressWarnings({"rawtypes","unchecked"})<a name="line.650"></a>
-<span class="sourceLineNo">651</span>   private static String getStyle(HtmlSerializerSession session, BeanPropertyMeta pMeta, Object value) {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      HtmlRender render = getRender(session, pMeta, value);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      return render == null ? null : render.getStyle(session, value);<a name="line.653"></a>
-<span class="sourceLineNo">654</span>   }<a name="line.654"></a>
-<span class="sourceLineNo">655</span><a name="line.655"></a>
-<span class="sourceLineNo">656</span>   private static String getLink(BeanPropertyMeta pMeta) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      return pMeta == null ? null : pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).getLink();<a name="line.657"></a>
+<span class="sourceLineNo">569</span>            if (typeName != null &amp;&amp; eType.getElementType() != cm)<a name="line.569"></a>
+<span class="sourceLineNo">570</span>               out.attr(typeProperty, typeName);<a name="line.570"></a>
+<span class="sourceLineNo">571</span>            out.cTag().nl(i+2);<a name="line.571"></a>
+<span class="sourceLineNo">572</span><a name="line.572"></a>
+<span class="sourceLineNo">573</span>            if (cm == null) {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>               serializeAnything(session, out, o, null, null, 1, null, false);<a name="line.574"></a>
+<span class="sourceLineNo">575</span><a name="line.575"></a>
+<span class="sourceLineNo">576</span>            } else if (cm.isMap() &amp;&amp; ! (cm.isBeanMap())) {<a name="line.576"></a>
+<span class="sourceLineNo">577</span>               Map m2 = session.sort((Map)o);<a name="line.577"></a>
+<span class="sourceLineNo">578</span><a name="line.578"></a>
+<span class="sourceLineNo">579</span>               for (Object k : th) {<a name="line.579"></a>
+<span class="sourceLineNo">580</span>                  out.sTag(i+2, "td");<a name="line.580"></a>
+<span class="sourceLineNo">581</span>                  ContentResult cr = serializeAnything(session, out, m2.get(k), eType.getElementType(), session.toString(k), 2, null, false);<a name="line.581"></a>
+<span class="sourceLineNo">582</span>                  if (cr == CR_NORMAL)<a name="line.582"></a>
+<span class="sourceLineNo">583</span>                     out.i(i+2);<a name="line.583"></a>
+<span class="sourceLineNo">584</span>                  out.eTag("td").nl(i+2);<a name="line.584"></a>
+<span class="sourceLineNo">585</span>               }<a name="line.585"></a>
+<span class="sourceLineNo">586</span>            } else {<a name="line.586"></a>
+<span class="sourceLineNo">587</span>               BeanMap m2 = null;<a name="line.587"></a>
+<span class="sourceLineNo">588</span>               if (o instanceof BeanMap)<a name="line.588"></a>
+<span class="sourceLineNo">589</span>                  m2 = (BeanMap)o;<a name="line.589"></a>
+<span class="sourceLineNo">590</span>               else<a name="line.590"></a>
+<span class="sourceLineNo">591</span>                  m2 = session.toBeanMap(o);<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span>               for (Object k : th) {<a name="line.593"></a>
+<span class="sourceLineNo">594</span>                  BeanMapEntry p = m2.getProperty(session.toString(k));<a name="line.594"></a>
+<span class="sourceLineNo">595</span>                  BeanPropertyMeta pMeta = p.getMeta();<a name="line.595"></a>
+<span class="sourceLineNo">596</span>                  String link = pMeta.getClassMeta().isCollectionOrArray() ? null : getLink(pMeta);<a name="line.596"></a>
+<span class="sourceLineNo">597</span>                  Object value = p.getValue();<a name="line.597"></a>
+<span class="sourceLineNo">598</span>                  String style = getStyle(session, pMeta, value);<a name="line.598"></a>
+<span class="sourceLineNo">599</span>                  out.oTag(i+2, "td");<a name="line.599"></a>
+<span class="sourceLineNo">600</span>                  if (style != null)<a name="line.600"></a>
+<span class="sourceLineNo">601</span>                     out.attr("style", style);<a name="line.601"></a>
+<span class="sourceLineNo">602</span>                  out.cTag();<a name="line.602"></a>
+<span class="sourceLineNo">603</span>                  if (link != null)<a name="line.603"></a>
+<span class="sourceLineNo">604</span>                     out.oTag("a").attrUri("href", m2.resolveVars(link)).cTag();<a name="line.604"></a>
+<span class="sourceLineNo">605</span>                  ContentResult cr = serializeAnything(session, out, value, pMeta.getClassMeta(), p.getKey().toString(), 2, pMeta, false);<a name="line.605"></a>
+<span class="sourceLineNo">606</span>                  if (cr == CR_NORMAL)<a name="line.606"></a>
+<span class="sourceLineNo">607</span>                     out.i(i+2);<a name="line.607"></a>
+<span class="sourceLineNo">608</span>                  if (link != null)<a name="line.608"></a>
+<span class="sourceLineNo">609</span>                     out.eTag("a");<a name="line.609"></a>
+<span class="sourceLineNo">610</span>                  out.eTag("td").nl(i+2);<a name="line.610"></a>
+<span class="sourceLineNo">611</span>               }<a name="line.611"></a>
+<span class="sourceLineNo">612</span>            }<a name="line.612"></a>
+<span class="sourceLineNo">613</span>            out.ie(i+1).eTag("tr").nl(i+1);<a name="line.613"></a>
+<span class="sourceLineNo">614</span>         }<a name="line.614"></a>
+<span class="sourceLineNo">615</span>         out.ie(i).eTag("table").nl(i);<a name="line.615"></a>
+<span class="sourceLineNo">616</span><a name="line.616"></a>
+<span class="sourceLineNo">617</span>      } else {<a name="line.617"></a>
+<span class="sourceLineNo">618</span>         out.oTag(i, "ul");<a name="line.618"></a>
+<span class="sourceLineNo">619</span>         if (! type2.equals("array"))<a name="line.619"></a>
+<span class="sourceLineNo">620</span>            out.attr(btpn, type2);<a name="line.620"></a>
+<span class="sourceLineNo">621</span>         out.append('&gt;').nl(i+1);<a name="line.621"></a>
+<span class="sourceLineNo">622</span>         for (Object o : c) {<a name="line.622"></a>
+<span class="sourceLineNo">623</span>            out.oTag(i+1, "li");<a name="line.623"></a>
+<span class="sourceLineNo">624</span>            String style = getStyle(session, ppMeta, o);<a name="line.624"></a>
+<span class="sourceLineNo">625</span>            String link = getLink(ppMeta);<a name="line.625"></a>
+<span class="sourceLineNo">626</span>            if (style != null)<a name="line.626"></a>
+<span class="sourceLineNo">627</span>               out.attr("style", style);<a name="line.627"></a>
+<span class="sourceLineNo">628</span>            out.cTag();<a name="line.628"></a>
+<span class="sourceLineNo">629</span>            if (link != null)<a name="line.629"></a>
+<span class="sourceLineNo">630</span>               out.oTag(i+2, "a").attrUri("href", link.replace("{#}", StringUtils.toString(o))).cTag();<a name="line.630"></a>
+<span class="sourceLineNo">631</span>            ContentResult cr = serializeAnything(session, out, o, eType.getElementType(), name, 1, null, false);<a name="line.631"></a>
+<span class="sourceLineNo">632</span>            if (link != null)<a name="line.632"></a>
+<span class="sourceLineNo">633</span>               out.eTag("a");<a name="line.633"></a>
+<span class="sourceLineNo">634</span>            if (cr == CR_NORMAL)<a name="line.634"></a>
+<span class="sourceLineNo">635</span>               out.ie(i+1);<a name="line.635"></a>
+<span class="sourceLineNo">636</span>            out.eTag("li").nl(i+1);<a name="line.636"></a>
+<span class="sourceLineNo">637</span>         }<a name="line.637"></a>
+<span class="sourceLineNo">638</span>         out.ie(i).eTag("ul").nl(i);<a name="line.638"></a>
+<span class="sourceLineNo">639</span>      }<a name="line.639"></a>
+<span class="sourceLineNo">640</span>   }<a name="line.640"></a>
+<span class="sourceLineNo">641</span><a name="line.641"></a>
+<span class="sourceLineNo">642</span>   private static HtmlRender&lt;?&gt; getRender(HtmlSerializerSession session, BeanPropertyMeta pMeta, Object value) {<a name="line.642"></a>
+<span class="sourceLineNo">643</span>      if (pMeta == null)<a name="line.643"></a>
+<span class="sourceLineNo">644</span>         return null;<a name="line.644"></a>
+<span class="sourceLineNo">645</span>      HtmlBeanPropertyMeta hpMeta = pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class);<a name="line.645"></a>
+<span class="sourceLineNo">646</span>      HtmlRender&lt;?&gt; render = hpMeta.getRender();<a name="line.646"></a>
+<span class="sourceLineNo">647</span>      if (render != null)<a name="line.647"></a>
+<span class="sourceLineNo">648</span>         return render;<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      ClassMeta&lt;?&gt; cMeta = session.getClassMetaForObject(value);<a name="line.649"></a>
+<span class="sourceLineNo">650</span>      render = cMeta == null ? null : cMeta.getExtendedMeta(HtmlClassMeta.class).getRender();<a name="line.650"></a>
+<span class="sourceLineNo">651</span>      return render;<a name="line.651"></a>
+<span class="sourceLineNo">652</span>   }<a name="line.652"></a>
+<span class="sourceLineNo">653</span><a name="line.653"></a>
+<span class="sourceLineNo">654</span>   @SuppressWarnings({"rawtypes","unchecked"})<a name="line.654"></a>
+<span class="sourceLineNo">655</span>   private static String getStyle(HtmlSerializerSession session, BeanPropertyMeta pMeta, Object value) {<a name="line.655"></a>
+<span class="sourceLineNo">656</span>      HtmlRender render = getRender(session, pMeta, value);<a name="line.656"></a>
+<span class="sourceLineNo">657</span>      return render == null ? null : render.getStyle(session, value);<a name="line.657"></a>
 <span class="sourceLineNo">658</span>   }<a name="line.658"></a>
 <span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>   /*<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    * Returns the table column headers for the specified collection of objects.<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    * Returns null if collection should not be serialized as a 2-dimensional table.<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    * 2-dimensional tables are used for collections of objects that all have the same set of property names.<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    */<a name="line.664"></a>
-<span class="sourceLineNo">665</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.665"></a>
-<span class="sourceLineNo">666</span>   private static Object[] getTableHeaders(SerializerSession session, Collection c, HtmlBeanPropertyMeta hbpMeta) throws Exception {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      if (c.size() == 0)<a name="line.667"></a>
-<span class="sourceLineNo">668</span>         return null;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      c = session.sort(c);<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      Object[] th;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      Set&lt;ClassMeta&gt; prevC = new HashSet&lt;ClassMeta&gt;();<a name="line.671"></a>
-<span class="sourceLineNo">672</span>      Object o1 = null;<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      for (Object o : c)<a name="line.673"></a>
-<span class="sourceLineNo">674</span>         if (o != null) {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>            o1 = o;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>            break;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>         }<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      if (o1 == null)<a name="line.678"></a>
-<span class="sourceLineNo">679</span>         return null;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      ClassMeta&lt;?&gt; cm = session.getClassMetaForObject(o1);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      if (cm.getPojoSwap() != null) {<a name="line.681"></a>
-<span class="sourceLineNo">682</span>         PojoSwap f = cm.getPojoSwap();<a name="line.682"></a>
-<span class="sourceLineNo">683</span>         o1 = f.swap(session, o1);<a name="line.683"></a>
-<span class="sourceLineNo">684</span>         cm = cm.getSerializedClassMeta();<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      }<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      if (cm == null || ! cm.isMapOrBean())<a name="line.686"></a>
-<span class="sourceLineNo">687</span>         return null;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      if (cm.getInnerClass().isAnnotationPresent(HtmlLink.class))<a name="line.688"></a>
-<span class="sourceLineNo">689</span>         return null;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      HtmlClassMeta h = cm.getExtendedMeta(HtmlClassMeta.class);<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      if (h.isNoTables() || (hbpMeta != null &amp;&amp; hbpMeta.isNoTables()))<a name="line.691"></a>
-<span class="sourceLineNo">692</span>         return null;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      if (h.isNoTableHeaders() || (hbpMeta != null &amp;&amp; hbpMeta.isNoTableHeaders()))<a name="line.693"></a>
-<span class="sourceLineNo">694</span>         return new Object[0];<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      if (session.canIgnoreValue(cm, null, o1))<a name="line.695"></a>
+<span class="sourceLineNo">660</span>   private static String getLink(BeanPropertyMeta pMeta) {<a name="line.660"></a>
+<span class="sourceLineNo">661</span>      return pMeta == null ? null : pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).getLink();<a name="line.661"></a>
+<span class="sourceLineNo">662</span>   }<a name="line.662"></a>
+<span class="sourceLineNo">663</span><a name="line.663"></a>
+<span class="sourceLineNo">664</span>   /*<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    * Returns the table column headers for the specified collection of objects.<a name="line.665"></a>
+<span class="sourceLineNo">666</span>    * Returns null if collection should not be serialized as a 2-dimensional table.<a name="line.666"></a>
+<span class="sourceLineNo">667</span>    * 2-dimensional tables are used for collections of objects that all have the same set of property names.<a name="line.667"></a>
+<span class="sourceLineNo">668</span>    */<a name="line.668"></a>
+<span class="sourceLineNo">669</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.669"></a>
+<span class="sourceLineNo">670</span>   private static Object[] getTableHeaders(SerializerSession session, Collection c, HtmlBeanPropertyMeta hbpMeta) throws Exception {<a name="line.670"></a>
+<span class="sourceLineNo">671</span>      if (c.size() == 0)<a name="line.671"></a>
+<span class="sourceLineNo">672</span>         return null;<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      c = session.sort(c);<a name="line.673"></a>
+<span class="sourceLineNo">674</span>      Object[] th;<a name="line.674"></a>
+<span class="sourceLineNo">675</span>      Set&lt;ClassMeta&gt; prevC = new HashSet&lt;ClassMeta&gt;();<a name="line.675"></a>
+<span class="sourceLineNo">676</span>      Object o1 = null;<a name="line.676"></a>
+<span class="sourceLineNo">677</span>      for (Object o : c)<a name="line.677"></a>
+<span class="sourceLineNo">678</span>         if (o != null) {<a name="line.678"></a>
+<span class="sourceLineNo">679</span>            o1 = o;<a name="line.679"></a>
+<span class="sourceLineNo">680</span>            break;<a name="line.680"></a>
+<span class="sourceLineNo">681</span>         }<a name="line.681"></a>
+<span class="sourceLineNo">682</span>      if (o1 == null)<a name="line.682"></a>
+<span class="sourceLineNo">683</span>         return null;<a name="line.683"></a>
+<span class="sourceLineNo">684</span>      ClassMeta&lt;?&gt; cm = session.getClassMetaForObject(o1);<a name="line.684"></a>
+<span class="sourceLineNo">685</span>      if (cm.getPojoSwap() != null) {<a name="line.685"></a>
+<span class="sourceLineNo">686</span>         PojoSwap f = cm.getPojoSwap();<a name="line.686"></a>
+<span class="sourceLineNo">687</span>         o1 = f.swap(session, o1);<a name="line.687"></a>
+<span class="sourceLineNo">688</span>         cm = cm.getSerializedClassMeta();<a name="line.688"></a>
+<span class="sourceLineNo">689</span>      }<a name="line.689"></a>
+<span class="sourceLineNo">690</span>      if (cm == null || ! cm.isMapOrBean())<a name="line.690"></a>
+<span class="sourceLineNo">691</span>         return null;<a name="line.691"></a>
+<span class="sourceLineNo">692</span>      if (cm.getInnerClass().isAnnotationPresent(HtmlLink.class))<a name="line.692"></a>
+<span class="sourceLineNo">693</span>         return null;<a name="line.693"></a>
+<span class="sourceLineNo">694</span>      HtmlClassMeta h = cm.getExtendedMeta(HtmlClassMeta.class);<a name="line.694"></a>
+<span class="sourceLineNo">695</span>      if (h.isNoTables() || (hbpMeta != null &amp;&amp; hbpMeta.isNoTables()))<a name="line.695"></a>
 <span class="sourceLineNo">696</span>         return null;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      if (cm.isMap() &amp;&amp; ! cm.isBeanMap()) {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>         Set&lt;Object&gt; set = new LinkedHashSet&lt;Object&gt;();<a name="line.698"></a>
-<span class="sourceLineNo">699</span>         for (Object o : c) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>            if (! session.canIgnoreValue(cm, null, o)) {<a name="line.700"></a>
-<span class="sourceLineNo">701</span>               if (! cm.isInstance(o))<a name="line.701"></a>
-<span class="sourceLineNo">702</span>                  return null;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>               Map m = session.sort((Map)o);<a name="line.703"></a>
-<span class="sourceLineNo">704</span>               for (Map.Entry e : (Set&lt;Map.Entry&gt;)m.entrySet()) {<a name="line.704"></a>
-<span class="sourceLineNo">705</span>                  if (e.getValue() != null)<a name="line.705"></a>
-<span class="sourceLineNo">706</span>                     set.add(e.getKey() == null ? null : e.getKey());<a name="line.706"></a>
-<span class="sourceLineNo">707</span>               }<a name="line.707"></a>
-<span class="sourceLineNo">708</span>            }<a name="line.708"></a>
-<span class="sourceLineNo">709</span>         }<a name="line.709"></a>
-<span class="sourceLineNo">710</span>         th = set.toArray(new Object[set.size()]);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      } else {<a name="line.711"></a>
-<span class="sourceLineNo">712</span>         Map&lt;String,Boolean&gt; m = new LinkedHashMap&lt;String,Boolean&gt;();<a name="line.712"></a>
-<span class="sourceLineNo">713</span>         for (Object o : c) {<a name="line.713"></a>
-<span class="sourceLineNo">714</span>            if (! session.canIgnoreValue(cm, null, o)) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>               if (! cm.isInstance(o))<a name="line.715"></a>
-<span class="sourceLineNo">716</span>                  return null;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>               BeanMap&lt;?&gt; bm = (o instanceof BeanMap ? (BeanMap)o : session.toBeanMap(o));<a name="line.717"></a>
-<span class="sourceLineNo">718</span>               for (Map.Entry&lt;String,Object&gt; e : bm.entrySet()) {<a name="line.718"></a>
-<span class="sourceLineNo">719</span>                  String key = e.getKey();<a name="line.719"></a>
-<span class="sourceLineNo">720</span>                  if (e.getValue() != null)<a name="line.720"></a>
-<span class="sourceLineNo">721</span>                     m.put(key, true);<a name="line.721"></a>
-<span class="sourceLineNo">722</span>                  else if (! m.containsKey(key))<a name="line.722"></a>
-<span class="sourceLineNo">723</span>                     m.put(key, false);<a name="line.723"></a>
-<span class="sourceLineNo">724</span>               }<a name="line.724"></a>
-<span class="sourceLineNo">725</span>            }<a name="line.725"></a>
-<span class="sourceLineNo">726</span>         }<a name="line.726"></a>
-<span class="sourceLineNo">727</span>         for (Iterator&lt;Boolean&gt; i = m.values().iterator(); i.hasNext();)<a name="line.727"></a>
-<span class="sourceLineNo">728</span>            if (! i.next())<a name="line.728"></a>
-<span class="sourceLineNo">729</span>               i.remove();<a name="line.729"></a>
-<span class="sourceLineNo">730</span>         th = m.keySet().toArray(new Object[m.size()]);<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>      prevC.add(cm);<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      boolean isSortable = true;<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      for (Object o : th)<a name="line.734"></a>
-<span class="sourceLineNo">735</span>         isSortable &amp;= (o instanceof Comparable);<a name="line.735"></a>
-<span class="sourceLineNo">736</span>      Set&lt;Object&gt; s = (isSortable ? new TreeSet&lt;Object&gt;() : new LinkedHashSet&lt;Object&gt;());<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      s.addAll(Arrays.asList(th));<a name="line.737"></a>
-<span class="sourceLineNo">738</span><a name="line.738"></a>
-<span class="sourceLineNo">739</span>      for (Object o : c) {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>         if (o == null)<a name="line.740"></a>
-<span class="sourceLineNo">741</span>            continue;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>         cm = session.getClassMetaForObject(o);<a name="line.742"></a>
-<span class="sourceLineNo">743</span>         if (cm != null &amp;&amp; cm.getPojoSwap() != null) {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>            PojoSwap f = cm.getPojoSwap();<a name="line.744"></a>
-<span class="sourceLineNo">745</span>            o = f.swap(session, o);<a name="line.745"></a>
-<span class="sourceLineNo">746</span>            cm = cm.getSerializedClassMeta();<a name="line.746"></a>
-<span class="sourceLineNo">747</span>         }<a name="line.747"></a>
-<span class="sourceLineNo">748</span>         if (prevC.contains(cm))<a name="line.748"></a>
-<span class="sourceLineNo">749</span>            continue;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>         if (cm == null || ! (cm.isMap() || cm.isBean()))<a name="line.750"></a>
-<span class="sourceLineNo">751</span>            return null;<a name="line.751"></a>
-<span class="sourceLineNo">752</span>         if (cm.getInnerClass().isAnnotationPresent(HtmlLink.class))<a name="line.752"></a>
-<span class="sourceLineNo">753</span>            return null;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>         if (session.canIgnoreValue(cm, null, o))<a name="line.754"></a>
+<span class="sourceLineNo">697</span>      if (h.isNoTableHeaders() || (hbpMeta != null &amp;&amp; hbpMeta.isNoTableHeaders()))<a name="line.697"></a>
+<span class="sourceLineNo">698</span>         return new Object[0];<a name="line.698"></a>
+<span class="sourceLineNo">699</span>      if (session.canIgnoreValue(cm, null, o1))<a name="line.699"></a>
+<span class="sourceLineNo">700</span>         return null;<a name="line.700"></a>
+<span class="sourceLineNo">701</span>      if (cm.isMap() &amp;&amp; ! cm.isBeanMap()) {<a name="line.701"></a>
+<span class="sourceLineNo">702</span>         Set&lt;Object&gt; set = new LinkedHashSet&lt;Object&gt;();<a name="line.702"></a>
+<span class="sourceLineNo">703</span>         for (Object o : c) {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>            if (! session.canIgnoreValue(cm, null, o)) {<a name="line.704"></a>
+<span class="sourceLineNo">705</span>               if (! cm.isInstance(o))<a name="line.705"></a>
+<span class="sourceLineNo">706</span>                  return null;<a name="line.706"></a>
+<span class="sourceLineNo">707</span>               Map m = session.sort((Map)o);<a name="line.707"></a>
+<span class="sourceLineNo">708</span>               for (Map.Entry e : (Set&lt;Map.Entry&gt;)m.entrySet()) {<a name="line.708"></a>
+<span class="sourceLineNo">709</span>                  if (e.getValue() != null)<a name="line.709"></a>
+<span class="sourceLineNo">710</span>                     set.add(e.getKey() == null ? null : e.getKey());<a name="line.710"></a>
+<span class="sourceLineNo">711</span>               }<a name="line.711"></a>
+<span class="sourceLineNo">712</span>            }<a name="line.712"></a>
+<span class="sourceLineNo">713</span>         }<a name="line.713"></a>
+<span class="sourceLineNo">714</span>         th = set.toArray(new Object[set.size()]);<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      } else {<a name="line.715"></a>
+<span class="sourceLineNo">716</span>         Map&lt;String,Boolean&gt; m = new LinkedHashMap&lt;String,Boolean&gt;();<a name="line.716"></a>
+<span class="sourceLineNo">717</span>         for (Object o : c) {<a name="line.717"></a>
+<span class="sourceLineNo">718</span>            if (! session.canIgnoreValue(cm, null, o)) {<a name="line.718"></a>
+<span class="sourceLineNo">719</span>               if (! cm.isInstance(o))<a name="line.719"></a>
+<span class="sourceLineNo">720</span>                  return null;<a name="line.720"></a>
+<span class="sourceLineNo">721</span>               BeanMap&lt;?&gt; bm = (o instanceof BeanMap ? (BeanMap)o : session.toBeanMap(o));<a name="line.721"></a>
+<span class="sourceLineNo">722</span>               for (Map.Entry&lt;String,Object&gt; e : bm.entrySet()) {<a name="line.722"></a>
+<span class="sourceLineNo">723</span>                  String key = e.getKey();<a name="line.723"></a>
+<span class="sourceLineNo">724</span>                  if (e.getValue() != null)<a name="line.724"></a>
+<span class="sourceLineNo">725</span>                     m.put(key, true);<a name="line.725"></a>
+<span class="sourceLineNo">726</span>                  else if (! m.containsKey(key))<a name="line.726"></a>
+<span class="sourceLineNo">727</span>                     m.put(key, false);<a name="line.727"></a>
+<span class="sourceLineNo">728</span>               }<a name="line.728"></a>
+<span class="sourceLineNo">729</span>            }<a name="line.729"></a>
+<span class="sourceLineNo">730</span>         }<a name="line.730"></a>
+<span class="sourceLineNo">731</span>         for (Iterator&lt;Boolean&gt; i = 

<TRUNCATED>


[19/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/RestContext.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/RestContext.html b/content/site/apidocs/org/apache/juneau/rest/RestContext.html
index bf52951..67a2f55 100644
--- a/content/site/apidocs/org/apache/juneau/rest/RestContext.html
+++ b/content/site/apidocs/org/apache/juneau/rest/RestContext.html
@@ -422,7 +422,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 </td>
 </tr>
 <tr id="i25" class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestContext.html#getHtmlLinks--">getHtmlLinks</a></span>()</code>
 <div class="block">The HTML page nav section links.</div>
 </td>
@@ -1133,7 +1133,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RestContext</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.421">RestContext</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;resource,
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.422">RestContext</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;resource,
                    <a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;config)
             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Constructor.</div>
@@ -1160,7 +1160,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getVarResolver</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/svl/VarResolver.html" title="class in org.apache.juneau.svl">VarResolver</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.848">getVarResolver</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/svl/VarResolver.html" title="class in org.apache.juneau.svl">VarResolver</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.850">getVarResolver</a>()</pre>
 <div class="block">Returns the variable resolver for this servlet.
 
  <p>
@@ -1211,7 +1211,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfigFile</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini">ConfigFile</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.864">getConfigFile</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini">ConfigFile</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.866">getConfigFile</a>()</pre>
 <div class="block">Returns the config file associated with this servlet.
 
  <p>
@@ -1232,7 +1232,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>resolveStaticFile</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/StreamResource.html" title="class in org.apache.juneau.rest">StreamResource</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.882">resolveStaticFile</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pathInfo)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/StreamResource.html" title="class in org.apache.juneau.rest">StreamResource</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.884">resolveStaticFile</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pathInfo)
                                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Resolve a static resource file.
 
@@ -1258,7 +1258,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getResource</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.935">getResource</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.937">getResource</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;locale)
                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Same as <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true#getResourceAsStream-java.lang.String-" title="class or interface in java.lang"><code>Class.getResourceAsStream(String)</code></a> except if it doesn't find the resource on this class, searches
@@ -1293,7 +1293,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getResourceAsString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.947">getResourceAsString</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.949">getResourceAsString</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;locale)
                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Reads the input stream from <a href="../../../../org/apache/juneau/rest/RestContext.html#getResource-java.lang.String-java.util.Locale-"><code>getResource(String, Locale)</code></a> into a String.</div>
@@ -1314,7 +1314,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getResource</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.966">getResource</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;c,
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.968">getResource</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;c,
                          <a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>&nbsp;mediaType,
                          <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                          <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;locale)
@@ -1345,7 +1345,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getPath</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.999">getPath</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1001">getPath</a>()</pre>
 <div class="block">Returns the path for this resource as defined by the <a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#path--"><code>RestResource.path()</code></a> annotation or
  <a href="../../../../org/apache/juneau/rest/RestConfig.html#setPath-java.lang.String-"><code>RestConfig.setPath(String)</code></a> method concatenated with those on all parent classes.
 
@@ -1366,7 +1366,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtmlTitle</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1011">getHtmlTitle</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1013">getHtmlTitle</a>()</pre>
 <div class="block">The HTML page title.
 
  <p>
@@ -1383,7 +1383,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtmlDescription</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1023">getHtmlDescription</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1025">getHtmlDescription</a>()</pre>
 <div class="block">The HTML page description.
 
  <p>
@@ -1400,7 +1400,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtmlBranding</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1035">getHtmlBranding</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1037">getHtmlBranding</a>()</pre>
 <div class="block">The HTML page branding.
 
  <p>
@@ -1417,7 +1417,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtmlHeader</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1047">getHtmlHeader</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1049">getHtmlHeader</a>()</pre>
 <div class="block">The HTML page header contents.
 
  <p>
@@ -1434,11 +1434,11 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtmlLinks</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1059">getHtmlLinks</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1061">getHtmlLinks</a>()</pre>
 <div class="block">The HTML page nav section links.
 
  <p>
- Defined by the <a href="../../../../org/apache/juneau/rest/annotation/HtmlDoc.html#links--"><code>HtmlDoc.links()</code></a> annotation or <a href="../../../../org/apache/juneau/rest/RestConfig.html#setHtmlLinks-java.lang.String-"><code>RestConfig.setHtmlLinks(String)</code></a> method.</div>
+ Defined by the <a href="../../../../org/apache/juneau/rest/annotation/HtmlDoc.html#links--"><code>HtmlDoc.links()</code></a> annotation or <a href="../../../../org/apache/juneau/rest/RestConfig.html#setHtmlLinks-java.lang.String:A-"><code>RestConfig.setHtmlLinks(String[])</code></a> method.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The HTML page nav section links.</dd>
@@ -1451,7 +1451,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtmlNav</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1071">getHtmlNav</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1073">getHtmlNav</a>()</pre>
 <div class="block">The HTML page nav section contents.
 
  <p>
@@ -1468,7 +1468,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtmlAside</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1083">getHtmlAside</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1085">getHtmlAside</a>()</pre>
 <div class="block">The HTML page aside section contents.
 
  <p>
@@ -1485,7 +1485,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtmlFooter</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1095">getHtmlFooter</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1097">getHtmlFooter</a>()</pre>
 <div class="block">The HTML page footer section contents.
 
  <p>
@@ -1502,7 +1502,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtmlStylesheet</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1107">getHtmlStylesheet</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1109">getHtmlStylesheet</a>()</pre>
 <div class="block">The HTML page stylesheet URL.
 
  <p>
@@ -1519,7 +1519,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtmlStyle</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1119">getHtmlStyle</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1121">getHtmlStyle</a>()</pre>
 <div class="block">The HTML page CSS contents.
 
  <p>
@@ -1536,7 +1536,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtmlScript</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1131">getHtmlScript</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1133">getHtmlScript</a>()</pre>
 <div class="block">The HTML page Javascript contents.
 
  <p>
@@ -1553,7 +1553,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtmlNoWrap</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1143">getHtmlNoWrap</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1145">getHtmlNoWrap</a>()</pre>
 <div class="block">The HTML page nowrap setting.
 
  <p>
@@ -1570,7 +1570,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtmlTemplate</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1155">getHtmlTemplate</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1157">getHtmlTemplate</a>()</pre>
 <div class="block">The HTML page template.
 
  <p>
@@ -1587,7 +1587,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtmlNoResultsMessage</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1168">getHtmlNoResultsMessage</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1170">getHtmlNoResultsMessage</a>()</pre>
 <div class="block">The HTML page no-results message.
 
  <p>
@@ -1605,7 +1605,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getWidgets</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/juneau/rest/widget/Widget.html" title="class in org.apache.juneau.rest.widget">Widget</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1180">getWidgets</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/juneau/rest/widget/Widget.html" title="class in org.apache.juneau.rest.widget">Widget</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1182">getWidgets</a>()</pre>
 <div class="block">The widgets used for resolving <js>"$W{...}"<js> variables.
 
  <p>
@@ -1622,7 +1622,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getLogger</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestLogger.html" title="class in org.apache.juneau.rest">RestLogger</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1196">getLogger</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestLogger.html" title="class in org.apache.juneau.rest">RestLogger</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1198">getLogger</a>()</pre>
 <div class="block">Returns the logger to use for this resource.
 
  <p>
@@ -1643,7 +1643,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getMessages</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/utils/MessageBundle.html" title="class in org.apache.juneau.utils">MessageBundle</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1211">getMessages</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/utils/MessageBundle.html" title="class in org.apache.juneau.utils">MessageBundle</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1213">getMessages</a>()</pre>
 <div class="block">Returns the resource bundle used by this resource.
 
  <p>
@@ -1663,7 +1663,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getInfoProvider</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestInfoProvider.html" title="class in org.apache.juneau.rest">RestInfoProvider</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1227">getInfoProvider</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestInfoProvider.html" title="class in org.apache.juneau.rest">RestInfoProvider</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1229">getInfoProvider</a>()</pre>
 <div class="block">Returns the REST information provider used by this resource.
 
  <p>
@@ -1684,7 +1684,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getCallHandler</h4>
-<pre>protected&nbsp;<a href="../../../../org/apache/juneau/rest/RestCallHandler.html" title="class in org.apache.juneau.rest">RestCallHandler</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1243">getCallHandler</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../org/apache/juneau/rest/RestCallHandler.html" title="class in org.apache.juneau.rest">RestCallHandler</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1245">getCallHandler</a>()</pre>
 <div class="block">Returns the REST call handler used by this resource.
 
  <p>
@@ -1705,7 +1705,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getCallRouters</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.juneau.rest.CallRouter&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1252">getCallRouters</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.juneau.rest.CallRouter&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1254">getCallRouters</a>()</pre>
 <div class="block">Returns a map of HTTP method names to call routers.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1719,7 +1719,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getResource</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1265">getResource</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1267">getResource</a>()</pre>
 <div class="block">Returns the resource object.
 
  <p>
@@ -1737,7 +1737,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getRestServlet</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestServlet.html" title="class in org.apache.juneau.rest">RestServlet</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1276">getRestServlet</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestServlet.html" title="class in org.apache.juneau.rest">RestServlet</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1278">getRestServlet</a>()</pre>
 <div class="block">Returns the resource object as a <a href="../../../../org/apache/juneau/rest/RestServlet.html" title="class in org.apache.juneau.rest"><code>RestServlet</code></a>.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1752,7 +1752,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>checkForInitException</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1285">checkForInitException</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1287">checkForInitException</a>()
                               throws <a href="../../../../org/apache/juneau/rest/RestException.html" title="class in org.apache.juneau.rest">RestException</a></pre>
 <div class="block">Throws a <a href="../../../../org/apache/juneau/rest/RestException.html" title="class in org.apache.juneau.rest"><code>RestException</code></a> if an exception occurred in the constructor of this object.</div>
 <dl>
@@ -1767,7 +1767,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getParentContext</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1299">getParentContext</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1301">getParentContext</a>()</pre>
 <div class="block">Returns the parent resource context (if this resource was initialized from a parent).
 
  <p>
@@ -1785,7 +1785,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getBeanContext</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/BeanContext.html" title="class in org.apache.juneau">BeanContext</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1308">getBeanContext</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/BeanContext.html" title="class in org.apache.juneau">BeanContext</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1310">getBeanContext</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/BeanContext.html" title="class in org.apache.juneau"><code>BeanContext</code></a> object used for parsing path variables and header values.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1799,7 +1799,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getProperties</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1330">getProperties</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1332">getProperties</a>()</pre>
 <div class="block">Returns the class-level properties associated with this servlet.
 
  <p>
@@ -1826,7 +1826,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getSerializers</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerGroup.html" title="class in org.apache.juneau.serializer">SerializerGroup</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1346">getSerializers</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerGroup.html" title="class in org.apache.juneau.serializer">SerializerGroup</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1348">getSerializers</a>()</pre>
 <div class="block">Returns the serializers registered with this resource.
 
  <p>
@@ -1847,7 +1847,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getParsers</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/parser/ParserGroup.html" title="class in org.apache.juneau.parser">ParserGroup</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1362">getParsers</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/parser/ParserGroup.html" title="class in org.apache.juneau.parser">ParserGroup</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1364">getParsers</a>()</pre>
 <div class="block">Returns the parsers registered with this resource.
 
  <p>
@@ -1868,7 +1868,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getServletInitParameter</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1372">getServletInitParameter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1374">getServletInitParameter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the servlet init parameter returned by <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletConfig.html?is-external=true#getInitParameter-java.lang.String-" title="class or interface in javax.servlet"><code>ServletConfig.getInitParameter(String)</code></a>.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1884,7 +1884,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getChildResources</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1383">getChildResources</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1385">getChildResources</a>()</pre>
 <div class="block">Returns the child resources associated with this servlet.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1899,7 +1899,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getStackTraceOccurrence</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1395">getStackTraceOccurrence</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1397">getStackTraceOccurrence</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
 <div class="block">Returns the number of times this exception was thrown based on a hash of its stacktrace.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1916,7 +1916,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>isRenderResponseStackTraces</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1408">isRenderResponseStackTraces</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1410">isRenderResponseStackTraces</a>()</pre>
 <div class="block">Returns the value of the <a href="../../../../org/apache/juneau/rest/RestContext.html#REST_renderResponseStackTraces"><code>REST_renderResponseStackTraces</code></a> setting.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1930,7 +1930,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>isAllowHeaderParams</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1417">isAllowHeaderParams</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1419">isAllowHeaderParams</a>()</pre>
 <div class="block">Returns the value of the <a href="../../../../org/apache/juneau/rest/RestContext.html#REST_allowHeaderParams"><code>REST_allowHeaderParams</code></a> setting.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1944,7 +1944,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>isAllowBodyParam</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1426">isAllowBodyParam</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1428">isAllowBodyParam</a>()</pre>
 <div class="block">Returns the value of the <a href="../../../../org/apache/juneau/rest/RestContext.html#REST_allowBodyParam"><code>REST_allowBodyParam</code></a> setting.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1958,7 +1958,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getDefaultCharset</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1435">getDefaultCharset</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1437">getDefaultCharset</a>()</pre>
 <div class="block">Returns the value of the <a href="../../../../org/apache/juneau/rest/RestContext.html#REST_defaultCharset"><code>REST_defaultCharset</code></a> setting.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1972,7 +1972,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getParamFormat</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1444">getParamFormat</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1446">getParamFormat</a>()</pre>
 <div class="block">Returns the value of the <a href="../../../../org/apache/juneau/rest/RestContext.html#REST_paramFormat"><code>REST_paramFormat</code></a> setting.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1986,7 +1986,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getClientVersionHeader</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1462">getClientVersionHeader</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1464">getClientVersionHeader</a>()</pre>
 <div class="block">Returns the name of the client version header name used by this resource.
 
  <p>
@@ -2009,7 +2009,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>allowMethodParam</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1473">allowMethodParam</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;m)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1475">allowMethodParam</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;m)</pre>
 <div class="block">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.</div>
 <dl>
@@ -2026,7 +2026,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getBeanFilters</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1489">getBeanFilters</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1491">getBeanFilters</a>()</pre>
 <div class="block">Returns the bean filters associated with this resource.
 
  <p>
@@ -2047,7 +2047,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getPojoSwaps</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1505">getPojoSwaps</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1507">getPojoSwaps</a>()</pre>
 <div class="block">Returns the POJO swaps associated with this resource.
 
  <p>
@@ -2068,7 +2068,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>findParams</h4>
-<pre>protected&nbsp;<a href="../../../../org/apache/juneau/rest/RestParam.html" title="class in org.apache.juneau.rest">RestParam</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1518">findParams</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>&nbsp;method,
+<pre>protected&nbsp;<a href="../../../../org/apache/juneau/rest/RestParam.html" title="class in org.apache.juneau.rest">RestParam</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1520">findParams</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>&nbsp;method,
                                  boolean&nbsp;methodPlainParams,
                                  <a href="../../../../org/apache/juneau/rest/UrlPathPattern.html" title="class in org.apache.juneau.rest">UrlPathPattern</a>&nbsp;pathPattern)
                           throws <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletException.html?is-external=true" title="class or interface in javax.servlet">ServletException</a></pre>
@@ -2091,7 +2091,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getUrlEncodingParser</h4>
-<pre>protected&nbsp;<a href="../../../../org/apache/juneau/urlencoding/UrlEncodingParser.html" title="class in org.apache.juneau.urlencoding">UrlEncodingParser</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1595">getUrlEncodingParser</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../org/apache/juneau/urlencoding/UrlEncodingParser.html" title="class in org.apache.juneau.urlencoding">UrlEncodingParser</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1597">getUrlEncodingParser</a>()</pre>
 <div class="block">Returns the URL-encoding parser associated with this resource.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -2105,7 +2105,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getUrlEncodingSerializer</h4>
-<pre>protected&nbsp;<a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html" title="class in org.apache.juneau.urlencoding">UrlEncodingSerializer</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1604">getUrlEncodingSerializer</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html" title="class in org.apache.juneau.urlencoding">UrlEncodingSerializer</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1606">getUrlEncodingSerializer</a>()</pre>
 <div class="block">Returns the URL-encoding serializer associated with this resource.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -2119,7 +2119,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getEncoders</h4>
-<pre>protected&nbsp;<a href="../../../../org/apache/juneau/encoders/EncoderGroup.html" title="class in org.apache.juneau.encoders">EncoderGroup</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1624">getEncoders</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../org/apache/juneau/encoders/EncoderGroup.html" title="class in org.apache.juneau.encoders">EncoderGroup</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1626">getEncoders</a>()</pre>
 <div class="block">Returns the encoders associated with this resource.
 
  <p>
@@ -2144,7 +2144,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getSupportedAcceptTypes</h4>
-<pre>protected&nbsp;<a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1638">getSupportedAcceptTypes</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1640">getSupportedAcceptTypes</a>()</pre>
 <div class="block">Returns the explicit list of supported accept types for this resource.
 
  <p>
@@ -2163,7 +2163,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getSupportedContentTypes</h4>
-<pre>protected&nbsp;<a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1652">getSupportedContentTypes</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1654">getSupportedContentTypes</a>()</pre>
 <div class="block">Returns the explicit list of supported content types for this resource.
 
  <p>
@@ -2182,7 +2182,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getDefaultRequestHeaders</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1671">getDefaultRequestHeaders</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1673">getDefaultRequestHeaders</a>()</pre>
 <div class="block">Returns the default request headers for this resource.
 
  <p>
@@ -2206,7 +2206,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getDefaultResponseHeaders</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1691">getDefaultResponseHeaders</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1693">getDefaultResponseHeaders</a>()</pre>
 <div class="block">Returns the default response headers for this resource.
 
  <p>
@@ -2231,7 +2231,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getConverters</h4>
-<pre>protected&nbsp;<a href="../../../../org/apache/juneau/rest/RestConverter.html" title="interface in org.apache.juneau.rest">RestConverter</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1710">getConverters</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../org/apache/juneau/rest/RestConverter.html" title="interface in org.apache.juneau.rest">RestConverter</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1712">getConverters</a>()</pre>
 <div class="block">Returns the converters associated with this resource at the class level.
 
  <p>
@@ -2255,7 +2255,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getGuards</h4>
-<pre>protected&nbsp;<a href="../../../../org/apache/juneau/rest/RestGuard.html" title="class in org.apache.juneau.rest">RestGuard</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1729">getGuards</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../org/apache/juneau/rest/RestGuard.html" title="class in org.apache.juneau.rest">RestGuard</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1731">getGuards</a>()</pre>
 <div class="block">Returns the guards associated with this resource at the class level.
 
  <p>
@@ -2279,7 +2279,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getResponseHandlers</h4>
-<pre>protected&nbsp;<a href="../../../../org/apache/juneau/rest/ResponseHandler.html" title="interface in org.apache.juneau.rest">ResponseHandler</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1749">getResponseHandlers</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../org/apache/juneau/rest/ResponseHandler.html" title="interface in org.apache.juneau.rest">ResponseHandler</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1751">getResponseHandlers</a>()</pre>
 <div class="block">Returns the response handlers associated with this resource.
 
  <p>
@@ -2304,7 +2304,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getMediaTypeForName</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1763">getMediaTypeForName</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1765">getMediaTypeForName</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the media type for the specified file name.
 
  <p>
@@ -2324,7 +2324,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getFavIcon</h4>
-<pre>protected&nbsp;<a href="../../../../org/apache/juneau/rest/StreamResource.html" title="class in org.apache.juneau.rest">StreamResource</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1782">getFavIcon</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../org/apache/juneau/rest/StreamResource.html" title="class in org.apache.juneau.rest">StreamResource</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1784">getFavIcon</a>()</pre>
 <div class="block">Returns the favicon of the resource.
 
  <p>
@@ -2348,7 +2348,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>isStaticFile</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1802">isStaticFile</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1804">isStaticFile</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p)</pre>
 <div class="block">Returns <jk>true</jk> if the specified path refers to a static file.
 
  <p>
@@ -2374,7 +2374,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>getCallMethods</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.juneau.rest.CallMethod&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1814">getCallMethods</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.juneau.rest.CallMethod&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1816">getCallMethods</a>()</pre>
 <div class="block">Returns the REST Java methods defined in this resource.
 
  <p>
@@ -2391,7 +2391,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>destroy</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1821">destroy</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1823">destroy</a>()</pre>
 <div class="block">Calls <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/Servlet.html?is-external=true#destroy--" title="class or interface in javax.servlet"><code>Servlet.destroy()</code></a> on any child resources defined on this resource.</div>
 </li>
 </ul>
@@ -2401,7 +2401,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockList">
 <li class="blockList">
 <h4>hasChildResources</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1834">hasChildResources</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1836">hasChildResources</a>()</pre>
 <div class="block">Returns <jk>true</jk> if this resource has any child resources associated with it.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -2415,7 +2415,7 @@ extends <a href="../../../../org/apache/juneau/Context.html" title="class in org
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getChildResource</h4>
-<pre>protected&nbsp;<a href="../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1844">getChildResource</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</pre>
+<pre>protected&nbsp;<a href="../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestContext.html#line.1846">getChildResource</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</pre>
 <div class="block">Returns the context of the child resource associated with the specified path.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>


[22/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/html/HtmlDocSerializerSession.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/html/HtmlDocSerializerSession.html b/content/site/apidocs/org/apache/juneau/html/HtmlDocSerializerSession.html
index 11d856a..f8e0e0b 100644
--- a/content/site/apidocs/org/apache/juneau/html/HtmlDocSerializerSession.html
+++ b/content/site/apidocs/org/apache/juneau/html/HtmlDocSerializerSession.html
@@ -234,7 +234,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html#getLinks--">getLinks</a></span>()</code>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_links"><code>HtmlDocSerializerContext.HTMLDOC_links</code></a> setting value in this context.</div>
 </td>
@@ -356,7 +356,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HtmlDocSerializerSession</h4>
-<pre>protected&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.68">HtmlDocSerializerSession</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html" title="class in org.apache.juneau.html">HtmlDocSerializerContext</a>&nbsp;ctx,
+<pre>protected&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.66">HtmlDocSerializerSession</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html" title="class in org.apache.juneau.html">HtmlDocSerializerContext</a>&nbsp;ctx,
                                    <a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;op,
                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;output,
                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>&nbsp;javaMethod,
@@ -398,7 +398,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getStyle</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.113">getStyle</a>()</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.110">getStyle</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_style"><code>HtmlDocSerializerContext.HTMLDOC_style</code></a> setting value in this context.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -414,7 +414,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getStylesheet</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.125">getStylesheet</a>()</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.122">getStylesheet</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_stylesheet"><code>HtmlDocSerializerContext.HTMLDOC_stylesheet</code></a> setting value in this context.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -430,7 +430,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getScript</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.137">getScript</a>()</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.134">getScript</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_script"><code>HtmlDocSerializerContext.HTMLDOC_script</code></a> setting value in this context.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -446,7 +446,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>isNoWrap</h4>
-<pre>public final&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.146">isNoWrap</a>()</pre>
+<pre>public final&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.143">isNoWrap</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_nowrap"><code>HtmlDocSerializerContext.HTMLDOC_nowrap</code></a> setting value in this context.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -460,7 +460,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getTitle</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.157">getTitle</a>()</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.154">getTitle</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_title"><code>HtmlDocSerializerContext.HTMLDOC_title</code></a> setting value in this context.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -475,7 +475,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getDescription</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.169">getDescription</a>()</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.166">getDescription</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_description"><code>HtmlDocSerializerContext.HTMLDOC_description</code></a> setting value in this context.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -491,7 +491,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getBranding</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.181">getBranding</a>()</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.178">getBranding</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_branding"><code>HtmlDocSerializerContext.HTMLDOC_branding</code></a> setting value in this context.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -507,7 +507,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getHeader</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.193">getHeader</a>()</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.190">getHeader</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_header"><code>HtmlDocSerializerContext.HTMLDOC_header</code></a> setting value in this context.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -523,7 +523,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getLinks</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.205">getLinks</a>()</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.202">getLinks</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_links"><code>HtmlDocSerializerContext.HTMLDOC_links</code></a> setting value in this context.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -539,7 +539,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getTemplate</h4>
-<pre>public final&nbsp;<a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.216">getTemplate</a>()</pre>
+<pre>public final&nbsp;<a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.213">getTemplate</a>()</pre>
 <div class="block">Returns the template to use for generating the HTML page.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -554,7 +554,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getNav</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.228">getNav</a>()</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.225">getNav</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_nav"><code>HtmlDocSerializerContext.HTMLDOC_nav</code></a> setting value in this context.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -570,7 +570,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getAside</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.240">getAside</a>()</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.237">getAside</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_aside"><code>HtmlDocSerializerContext.HTMLDOC_aside</code></a> setting value in this context.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -586,7 +586,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getFooter</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.252">getFooter</a>()</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.249">getFooter</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_footer"><code>HtmlDocSerializerContext.HTMLDOC_footer</code></a> setting value in this context.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -602,7 +602,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getNoResultsMessage</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.264">getNoResultsMessage</a>()</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.261">getNoResultsMessage</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_noResultsMessage"><code>HtmlDocSerializerContext.HTMLDOC_noResultsMessage</code></a> setting value in this context.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -618,7 +618,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getWriter</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/html/HtmlWriter.html" title="class in org.apache.juneau.html">HtmlWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.269">getWriter</a>()
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/html/HtmlWriter.html" title="class in org.apache.juneau.html">HtmlWriter</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerSession.html#line.266">getWriter</a>()
                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getWriter--">SerializerSession</a></code></span></div>
 <div class="block">Wraps the specified output object inside a writer.

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/html/HtmlDocTemplate.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/html/HtmlDocTemplate.html b/content/site/apidocs/org/apache/juneau/html/HtmlDocTemplate.html
index bdc9edf..c9fba48 100644
--- a/content/site/apidocs/org/apache/juneau/html/HtmlDocTemplate.html
+++ b/content/site/apidocs/org/apache/juneau/html/HtmlDocTemplate.html
@@ -122,8 +122,8 @@ var activeTableTab = "activeTableTab";
       &lt;/head&gt;
       &lt;body&gt;
          &lt;header&gt;
-            &lt;h3 <xa>class</xa>=<xs>'title'</xs>&gt;<xv>Page title</xv>&lt;/h3&gt;
-            &lt;h5 <xa>class</xa>=<xs>'description'</xs>&gt;<xv>Page description</xv>&lt;/h5&gt;
+            &lt;h1&gt;<xv>Page title</xv>&lt;/h1&gt;
+            &lt;h2&gt;<xv>Page description</xv>&lt;/h2&gt;
             <xv>Arbitrary page branding</xv>
          &lt;/header&gt;
          &lt;nav&gt;

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/html/HtmlDocTemplateBasic.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/html/HtmlDocTemplateBasic.html b/content/site/apidocs/org/apache/juneau/html/HtmlDocTemplateBasic.html
index f5df332..a160eee 100644
--- a/content/site/apidocs/org/apache/juneau/html/HtmlDocTemplateBasic.html
+++ b/content/site/apidocs/org/apache/juneau/html/HtmlDocTemplateBasic.html
@@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.25">HtmlDocTemplateBasic</a>
+<pre>public class <a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.23">HtmlDocTemplateBasic</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a></pre>
 <div class="block">A basic template for the HTML doc serializer.
@@ -303,7 +303,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HtmlDocTemplateBasic</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.25">HtmlDocTemplateBasic</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.23">HtmlDocTemplateBasic</a>()</pre>
 </li>
 </ul>
 </li>
@@ -320,7 +320,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>head</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.28">head</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.26">head</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
                  <a href="../../../../org/apache/juneau/html/HtmlWriter.html" title="class in org.apache.juneau.html">HtmlWriter</a>&nbsp;w,
                  <a href="../../../../org/apache/juneau/html/HtmlDocSerializer.html" title="class in org.apache.juneau.html">HtmlDocSerializer</a>&nbsp;s,
                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)
@@ -346,7 +346,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>style</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.42">style</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.40">style</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
                   <a href="../../../../org/apache/juneau/html/HtmlWriter.html" title="class in org.apache.juneau.html">HtmlWriter</a>&nbsp;w,
                   <a href="../../../../org/apache/juneau/html/HtmlDocSerializer.html" title="class in org.apache.juneau.html">HtmlDocSerializer</a>&nbsp;s,
                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)
@@ -372,7 +372,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>script</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.58">script</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.56">script</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
                    <a href="../../../../org/apache/juneau/html/HtmlWriter.html" title="class in org.apache.juneau.html">HtmlWriter</a>&nbsp;w,
                    <a href="../../../../org/apache/juneau/html/HtmlDocSerializer.html" title="class in org.apache.juneau.html">HtmlDocSerializer</a>&nbsp;s,
                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)
@@ -398,7 +398,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>body</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.66">body</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.64">body</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
                  <a href="../../../../org/apache/juneau/html/HtmlWriter.html" title="class in org.apache.juneau.html">HtmlWriter</a>&nbsp;w,
                  <a href="../../../../org/apache/juneau/html/HtmlDocSerializer.html" title="class in org.apache.juneau.html">HtmlDocSerializer</a>&nbsp;s,
                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)
@@ -424,7 +424,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>header</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.102">header</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.100">header</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
                    <a href="../../../../org/apache/juneau/html/HtmlWriter.html" title="class in org.apache.juneau.html">HtmlWriter</a>&nbsp;w,
                    <a href="../../../../org/apache/juneau/html/HtmlDocSerializer.html" title="class in org.apache.juneau.html">HtmlDocSerializer</a>&nbsp;s,
                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)
@@ -450,7 +450,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>nav</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.123">nav</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.121">nav</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
                 <a href="../../../../org/apache/juneau/html/HtmlWriter.html" title="class in org.apache.juneau.html">HtmlWriter</a>&nbsp;w,
                 <a href="../../../../org/apache/juneau/html/HtmlDocSerializer.html" title="class in org.apache.juneau.html">HtmlDocSerializer</a>&nbsp;s,
                 <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)
@@ -476,7 +476,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>aside</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.148">aside</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.152">aside</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
                   <a href="../../../../org/apache/juneau/html/HtmlWriter.html" title="class in org.apache.juneau.html">HtmlWriter</a>&nbsp;w,
                   <a href="../../../../org/apache/juneau/html/HtmlDocSerializer.html" title="class in org.apache.juneau.html">HtmlDocSerializer</a>&nbsp;s,
                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)
@@ -502,7 +502,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>article</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.155">article</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.159">article</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
                     <a href="../../../../org/apache/juneau/html/HtmlWriter.html" title="class in org.apache.juneau.html">HtmlWriter</a>&nbsp;w,
                     <a href="../../../../org/apache/juneau/html/HtmlDocSerializer.html" title="class in org.apache.juneau.html">HtmlDocSerializer</a>&nbsp;s,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)
@@ -528,7 +528,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>footer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.176">footer</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.181">footer</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session,
                    <a href="../../../../org/apache/juneau/html/HtmlWriter.html" title="class in org.apache.juneau.html">HtmlWriter</a>&nbsp;w,
                    <a href="../../../../org/apache/juneau/html/HtmlDocSerializer.html" title="class in org.apache.juneau.html">HtmlDocSerializer</a>&nbsp;s,
                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)
@@ -554,7 +554,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>hasStyle</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.183">hasStyle</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.188">hasStyle</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html#hasStyle-org.apache.juneau.html.HtmlDocSerializerSession-">HtmlDocTemplate</a></code></span></div>
 <div class="block">Returns <jk>true</jk> if this page should render a <code><xt>&lt;head&gt;</xt>/<xt>&lt;style&gt;</xt></code> element.</div>
 <dl>
@@ -573,7 +573,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>hasScript</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.188">hasScript</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.193">hasScript</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html#hasScript-org.apache.juneau.html.HtmlDocSerializerSession-">HtmlDocTemplate</a></code></span></div>
 <div class="block">Returns <jk>true</jk> if this page should render a <code><xt>&lt;head&gt;</xt>/<xt>&lt;script&gt;</xt></code> element.</div>
 <dl>
@@ -592,7 +592,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>hasHeader</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.193">hasHeader</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.198">hasHeader</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html#hasHeader-org.apache.juneau.html.HtmlDocSerializerSession-">HtmlDocTemplate</a></code></span></div>
 <div class="block">Returns <jk>true</jk> if this page should render a <code><xt>&lt;body&gt;</xt>/<xt>&lt;header&gt;</xt></code>
  element.</div>
@@ -612,7 +612,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>hasNav</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.198">hasNav</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.203">hasNav</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html#hasNav-org.apache.juneau.html.HtmlDocSerializerSession-">HtmlDocTemplate</a></code></span></div>
 <div class="block">Returns <jk>true</jk> if this page should render a <code><xt>&lt;body&gt;</xt>/<xt>&lt;nav&gt;</xt></code>
  element.</div>
@@ -632,7 +632,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>hasAside</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.203">hasAside</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.208">hasAside</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html#hasAside-org.apache.juneau.html.HtmlDocSerializerSession-">HtmlDocTemplate</a></code></span></div>
 <div class="block">Returns <jk>true</jk> if this page should render a <code><xt>&lt;body&gt;</xt>/<xt>&lt;aside&gt;</xt></code>
  element.</div>
@@ -652,7 +652,7 @@ implements <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>hasFooter</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.208">hasFooter</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocTemplateBasic.html#line.213">hasFooter</a>(<a href="../../../../org/apache/juneau/html/HtmlDocSerializerSession.html" title="class in org.apache.juneau.html">HtmlDocSerializerSession</a>&nbsp;session)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html#hasFooter-org.apache.juneau.html.HtmlDocSerializerSession-">HtmlDocTemplate</a></code></span></div>
 <div class="block">Returns <jk>true</jk> if this page should render a <code><xt>&lt;body&gt;</xt>/<xt>&lt;footer&gt;</xt></code>
  element.</div>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/html/HtmlSerializer.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/html/HtmlSerializer.html b/content/site/apidocs/org/apache/juneau/html/HtmlSerializer.html
index 93acf90..111817e 100644
--- a/content/site/apidocs/org/apache/juneau/html/HtmlSerializer.html
+++ b/content/site/apidocs/org/apache/juneau/html/HtmlSerializer.html
@@ -576,7 +576,7 @@ extends <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="cl
 <ul class="blockList">
 <li class="blockList">
 <h4>getSchemaSerializer</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/html/HtmlSerializer.html" title="class in org.apache.juneau.html">HtmlSerializer</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlSerializer.html#line.784">getSchemaSerializer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/html/HtmlSerializer.html" title="class in org.apache.juneau.html">HtmlSerializer</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlSerializer.html#line.788">getSchemaSerializer</a>()</pre>
 <div class="block">Returns the schema serializer based on the settings of this serializer.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -592,7 +592,7 @@ extends <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="cl
 <ul class="blockList">
 <li class="blockList">
 <h4>createSession</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html" title="class in org.apache.juneau.html">HtmlSerializerSession</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlSerializer.html#line.796">createSession</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;output,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/html/HtmlSerializerSession.html" title="class in org.apache.juneau.html">HtmlSerializerSession</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlSerializer.html#line.800">createSession</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;output,
                                            <a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;op,
                                            <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>&nbsp;javaMethod,
                                            <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;locale,
@@ -643,7 +643,7 @@ extends <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="cl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>doSerialize</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlSerializer.html#line.802">doSerialize</a>(<a href="../../../../org/apache/juneau/serializer/SerializerSession.html" title="class in org.apache.juneau.serializer">SerializerSession</a>&nbsp;session,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlSerializer.html#line.806">doSerialize</a>(<a href="../../../../org/apache/juneau/serializer/SerializerSession.html" title="class in org.apache.juneau.serializer">SerializerSession</a>&nbsp;session,
                            <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/serializer/Serializer.html#doSerialize-org.apache.juneau.serializer.SerializerSession-java.lang.Object-">Serializer</a></code></span></div>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/microservice/Resource.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/microservice/Resource.html b/content/site/apidocs/org/apache/juneau/microservice/Resource.html
index 3f2c939..d71fbf9 100644
--- a/content/site/apidocs/org/apache/juneau/microservice/Resource.html
+++ b/content/site/apidocs/org/apache/juneau/microservice/Resource.html
@@ -138,7 +138,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre><a href="../../../../org/apache/juneau/rest/annotation/RestResource.html" title="annotation in org.apache.juneau.rest.annotation">@RestResource</a>(<a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#htmldoc--">htmldoc</a>=,
               <a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#config--">config</a>="$S{juneau.configFile}")
-public abstract class <a href="../../../../src-html/org/apache/juneau/microservice/Resource.html#line.51">Resource</a>
+public abstract class <a href="../../../../src-html/org/apache/juneau/microservice/Resource.html#line.54">Resource</a>
 extends <a href="../../../../org/apache/juneau/rest/RestServletDefault.html" title="class in org.apache.juneau.rest">RestServletDefault</a></pre>
 <div class="block">Superclass for all REST resources.
  
@@ -263,7 +263,7 @@ extends <a href="../../../../org/apache/juneau/rest/RestServletDefault.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Resource</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/Resource.html#line.51">Resource</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/Resource.html#line.54">Resource</a>()</pre>
 </li>
 </ul>
 </li>
@@ -280,7 +280,7 @@ extends <a href="../../../../org/apache/juneau/rest/RestServletDefault.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>init</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/Resource.html#line.54">init</a>(<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;config)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/Resource.html#line.57">init</a>(<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;config)
           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/rest/RestServlet.html#init-org.apache.juneau.rest.RestConfig-">RestServlet</a></code></span></div>
 <div class="block">Resource initialization method.

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/microservice/ResourceGroup.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/microservice/ResourceGroup.html b/content/site/apidocs/org/apache/juneau/microservice/ResourceGroup.html
index a9d7f81..f955411 100644
--- a/content/site/apidocs/org/apache/juneau/microservice/ResourceGroup.html
+++ b/content/site/apidocs/org/apache/juneau/microservice/ResourceGroup.html
@@ -143,7 +143,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre><a href="../../../../org/apache/juneau/rest/annotation/RestResource.html" title="annotation in org.apache.juneau.rest.annotation">@RestResource</a>(<a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#htmldoc--">htmldoc</a>=,
               <a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#config--">config</a>="$S{juneau.configFile}")
-public abstract class <a href="../../../../src-html/org/apache/juneau/microservice/ResourceGroup.html#line.52">ResourceGroup</a>
+public abstract class <a href="../../../../src-html/org/apache/juneau/microservice/ResourceGroup.html#line.55">ResourceGroup</a>
 extends <a href="../../../../org/apache/juneau/rest/RestServletGroupDefault.html" title="class in org.apache.juneau.rest">RestServletGroupDefault</a></pre>
 <div class="block">Superclass for all REST resource groups.
  
@@ -276,7 +276,7 @@ extends <a href="../../../../org/apache/juneau/rest/RestServletGroupDefault.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ResourceGroup</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/ResourceGroup.html#line.52">ResourceGroup</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/ResourceGroup.html#line.55">ResourceGroup</a>()</pre>
 </li>
 </ul>
 </li>
@@ -293,7 +293,7 @@ extends <a href="../../../../org/apache/juneau/rest/RestServletGroupDefault.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>init</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/ResourceGroup.html#line.55">init</a>(<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;config)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/ResourceGroup.html#line.58">init</a>(<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;config)
           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/rest/RestServlet.html#init-org.apache.juneau.rest.RestConfig-">RestServlet</a></code></span></div>
 <div class="block">Resource initialization method.

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/microservice/ResourceJena.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/microservice/ResourceJena.html b/content/site/apidocs/org/apache/juneau/microservice/ResourceJena.html
index 780b729..a1e5aa0 100644
--- a/content/site/apidocs/org/apache/juneau/microservice/ResourceJena.html
+++ b/content/site/apidocs/org/apache/juneau/microservice/ResourceJena.html
@@ -128,7 +128,7 @@
 <br>
 <pre><a href="../../../../org/apache/juneau/rest/annotation/RestResource.html" title="annotation in org.apache.juneau.rest.annotation">@RestResource</a>(<a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#htmldoc--">htmldoc</a>=,
               <a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#config--">config</a>="$S{juneau.configFile}")
-public abstract class <a href="../../../../src-html/org/apache/juneau/microservice/ResourceJena.html#line.29">ResourceJena</a>
+public abstract class <a href="../../../../src-html/org/apache/juneau/microservice/ResourceJena.html#line.32">ResourceJena</a>
 extends <a href="../../../../org/apache/juneau/rest/jena/RestServletJenaDefault.html" title="class in org.apache.juneau.rest.jena">RestServletJenaDefault</a></pre>
 <div class="block">Superclass for all REST resources with RDF support.</div>
 <dl>
@@ -219,7 +219,7 @@ extends <a href="../../../../org/apache/juneau/rest/jena/RestServletJenaDefault.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ResourceJena</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/ResourceJena.html#line.29">ResourceJena</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/ResourceJena.html#line.32">ResourceJena</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/microservice/ResourceJenaGroup.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/microservice/ResourceJenaGroup.html b/content/site/apidocs/org/apache/juneau/microservice/ResourceJenaGroup.html
index c084ed5..c3bda6b 100644
--- a/content/site/apidocs/org/apache/juneau/microservice/ResourceJenaGroup.html
+++ b/content/site/apidocs/org/apache/juneau/microservice/ResourceJenaGroup.html
@@ -139,7 +139,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre><a href="../../../../org/apache/juneau/rest/annotation/RestResource.html" title="annotation in org.apache.juneau.rest.annotation">@RestResource</a>(<a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#htmldoc--">htmldoc</a>=,
               <a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#config--">config</a>="$S{juneau.configFile}")
-public abstract class <a href="../../../../src-html/org/apache/juneau/microservice/ResourceJenaGroup.html#line.53">ResourceJenaGroup</a>
+public abstract class <a href="../../../../src-html/org/apache/juneau/microservice/ResourceJenaGroup.html#line.56">ResourceJenaGroup</a>
 extends <a href="../../../../org/apache/juneau/rest/jena/RestServletJenaGroupDefault.html" title="class in org.apache.juneau.rest.jena">RestServletJenaGroupDefault</a></pre>
 <div class="block">Superclass for all REST resource groups.
  
@@ -272,7 +272,7 @@ extends <a href="../../../../org/apache/juneau/rest/jena/RestServletJenaGroupDef
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ResourceJenaGroup</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/ResourceJenaGroup.html#line.53">ResourceJenaGroup</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/ResourceJenaGroup.html#line.56">ResourceJenaGroup</a>()</pre>
 </li>
 </ul>
 </li>
@@ -289,7 +289,7 @@ extends <a href="../../../../org/apache/juneau/rest/jena/RestServletJenaGroupDef
 <ul class="blockListLast">
 <li class="blockList">
 <h4>init</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/ResourceJenaGroup.html#line.56">init</a>(<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;config)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/ResourceJenaGroup.html#line.59">init</a>(<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;config)
           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/rest/RestServlet.html#init-org.apache.juneau.rest.RestConfig-">RestServlet</a></code></span></div>
 <div class="block">Resource initialization method.

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/microservice/resources/ConfigResource.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/microservice/resources/ConfigResource.html b/content/site/apidocs/org/apache/juneau/microservice/resources/ConfigResource.html
index 50d430a..9634746 100644
--- a/content/site/apidocs/org/apache/juneau/microservice/resources/ConfigResource.html
+++ b/content/site/apidocs/org/apache/juneau/microservice/resources/ConfigResource.html
@@ -141,7 +141,7 @@ var activeTableTab = "activeTableTab";
               <a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html#title--">title</a>="Configuration",
               <a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html#description--">description</a>="Contents of configuration file.",
               <a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html#htmldoc--">htmldoc</a>=)
-public class <a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.40">ConfigResource</a>
+public class <a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.44">ConfigResource</a>
 extends <a href="../../../../../org/apache/juneau/microservice/Resource.html" title="class in org.apache.juneau.microservice">Resource</a></pre>
 <div class="block">Shows contents of the microservice configuration file.</div>
 <dl>
@@ -298,7 +298,7 @@ extends <a href="../../../../../org/apache/juneau/microservice/Resource.html" ti
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ConfigResource</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.40">ConfigResource</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.44">ConfigResource</a>()</pre>
 </li>
 </ul>
 </li>
@@ -318,7 +318,7 @@ extends <a href="../../../../../org/apache/juneau/microservice/Resource.html" ti
 <pre><a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html" title="annotation in org.apache.juneau.rest.annotation">@RestMethod</a>(<a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#name--">name</a>="GET",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#path--">path</a>="/",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#description--">description</a>="Show contents of config file.")
-public&nbsp;<a href="../../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini">ConfigFile</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.50">getConfigContents</a>()
+public&nbsp;<a href="../../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini">ConfigFile</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.54">getConfigContents</a>()
                                                                                                                                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">[GET /] - Show contents of config file.</div>
 <dl>
@@ -338,7 +338,7 @@ public&nbsp;<a href="../../../../../org/apache/juneau/ini/ConfigFile.html" title
 <pre><a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html" title="annotation in org.apache.juneau.rest.annotation">@RestMethod</a>(<a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#name--">name</a>="GET",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#path--">path</a>="/edit",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#description--">description</a>="Edit config file.")
-public&nbsp;<a href="../../../../../org/apache/juneau/dto/html5/Form.html" title="class in org.apache.juneau.dto.html5">Form</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.62">getConfigEditForm</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
+public&nbsp;<a href="../../../../../org/apache/juneau/dto/html5/Form.html" title="class in org.apache.juneau.dto.html5">Form</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.66">getConfigEditForm</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
                                                                                                                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">[GET /edit] - Show config file edit page.</div>
 <dl>
@@ -361,7 +361,7 @@ public&nbsp;<a href="../../../../../org/apache/juneau/dto/html5/Form.html" title
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#path--">path</a>="/{section}",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#description--">description</a>="Show config file section.",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#swagger--">swagger</a>=)
-public&nbsp;<a href="../../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.92">getConfigSection</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html" title="annotation in org.apache.juneau.rest.annotation">@Path</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html#value--">value</a>="section")
+public&nbsp;<a href="../../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.96">getConfigSection</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html" title="annotation in org.apache.juneau.rest.annotation">@Path</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html#value--">value</a>="section")
                                                                                                                                                                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;section)
                                                                                                                                                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">[GET /{section}] - Show config file section.</div>
@@ -385,7 +385,7 @@ public&nbsp;<a href="../../../../../org/apache/juneau/ObjectMap.html" title="cla
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#path--">path</a>="/{section}/{key}",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#description--">description</a>="Show config file entry.",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#swagger--">swagger</a>=)
-public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.113">getConfigEntry</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html" title="annotation in org.apache.juneau.rest.annotation">@Path</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html#value--">value</a>="section")
+public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.117">getConfigEntry</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html" title="annotation in org.apache.juneau.rest.annotation">@Path</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html#value--">value</a>="section")
                                                                                                                                                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;section,
                                                                                                                                                                    <a href="../../../../../org/apache/juneau/rest/annotation/Path.html" title="annotation in org.apache.juneau.rest.annotation">@Path</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html#value--">value</a>="key")
                                                                                                                                                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)
@@ -412,7 +412,7 @@ public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.h
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#path--">path</a>="/",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#description--">description</a>="Sets contents of config file from a FORM post.",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#swagger--">swagger</a>=)
-public&nbsp;<a href="../../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini">ConfigFile</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.132">setConfigContentsFormPost</a>(<a href="../../../../../org/apache/juneau/rest/annotation/FormData.html" title="annotation in org.apache.juneau.rest.annotation">@FormData</a>(<a href="../../../../../org/apache/juneau/rest/annotation/FormData.html#value--">value</a>="contents")
+public&nbsp;<a href="../../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini">ConfigFile</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.136">setConfigContentsFormPost</a>(<a href="../../../../../org/apache/juneau/rest/annotation/FormData.html" title="annotation in org.apache.juneau.rest.annotation">@FormData</a>(<a href="../../../../../org/apache/juneau/rest/annotation/FormData.html#value--">value</a>="contents")
                                                                                                                                                                                            <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;contents)
                                                                                                                                                                                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">[POST /] - Sets contents of config file from a FORM post.</div>
@@ -436,7 +436,7 @@ public&nbsp;<a href="../../../../../org/apache/juneau/ini/ConfigFile.html" title
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#path--">path</a>="/",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#description--">description</a>="Sets contents of config file.",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#swagger--">swagger</a>=)
-public&nbsp;<a href="../../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini">ConfigFile</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.151">setConfigContents</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Body.html" title="annotation in org.apache.juneau.rest.annotation">@Body</a>
+public&nbsp;<a href="../../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini">ConfigFile</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.155">setConfigContents</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Body.html" title="annotation in org.apache.juneau.rest.annotation">@Body</a>
                                                                                                                                                                  <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</a>&nbsp;contents)
                                                                                                                                                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">[PUT /] - Sets contents of config file.</div>
@@ -460,7 +460,7 @@ public&nbsp;<a href="../../../../../org/apache/juneau/ini/ConfigFile.html" title
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#path--">path</a>="/{section}",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#description--">description</a>="Add or overwrite a config file section.",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#swagger--">swagger</a>=)
-public&nbsp;<a href="../../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.173">setConfigSection</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html" title="annotation in org.apache.juneau.rest.annotation">@Path</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html#value--">value</a>="section")
+public&nbsp;<a href="../../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.177">setConfigSection</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html" title="annotation in org.apache.juneau.rest.annotation">@Path</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html#value--">value</a>="section")
                                                                                                                                                                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;section,
                                                                                                                                                                                   <a href="../../../../../org/apache/juneau/rest/annotation/Body.html" title="annotation in org.apache.juneau.rest.annotation">@Body</a>
                                                                                                                                                                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents)
@@ -487,7 +487,7 @@ public&nbsp;<a href="../../../../../org/apache/juneau/ObjectMap.html" title="cla
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#path--">path</a>="/{section}/{key}",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#description--">description</a>="Add or overwrite a config file entry.",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#swagger--">swagger</a>=)
-public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.197">setConfigSection</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html" title="annotation in org.apache.juneau.rest.annotation">@Path</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html#value--">value</a>="section")
+public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/microservice/resources/ConfigResource.html#line.201">setConfigSection</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html" title="annotation in org.apache.juneau.rest.annotation">@Path</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html#value--">value</a>="section")
                                                                                                                                                                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;section,
                                                                                                                                                                                    <a href="../../../../../org/apache/juneau/rest/annotation/Path.html" title="annotation in org.apache.juneau.rest.annotation">@Path</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Path.html#value--">value</a>="key")
                                                                                                                                                                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/microservice/resources/DirectoryResource.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/microservice/resources/DirectoryResource.html b/content/site/apidocs/org/apache/juneau/microservice/resources/DirectoryResource.html
index 3a8d06d..12e3c28 100644
--- a/content/site/apidocs/org/apache/juneau/microservice/resources/DirectoryResource.html
+++ b/content/site/apidocs/org/apache/juneau/microservice/resources/DirectoryResource.html
@@ -137,7 +137,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre><a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html" title="annotation in org.apache.juneau.rest.annotation">@RestResource</a>(<a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html#title--">title</a>="File System Explorer",<a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html#description--">description</a>="Contents of $R{attribute.path}",<a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html#messages--">messages</a>="nls/DirectoryResource",<a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html#htmldoc--">htmldoc</a>=<a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html" title="annotation in org.apache.juneau.rest.annotation">@HtmlDoc</a>(<a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html#links--">links</a>="{up:\'request:/..\',options:\'servlet:/?method=OPTIONS\'}"),<a href="../../../../../org/apache/juneau/rest/annotation/RestResou
 rce.html#properties--">properties</a>={<a href="../../../../../org/apache/juneau/rest/annotation/Property.html" title="annotation in org.apache.juneau.rest.annotation">@Property</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#name--">name</a>="HtmlSerializer.uriAnchorText",<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#value--">value</a>="PROPERTY_NAME"),<a href="../../../../../org/apache/juneau/rest/annotation/Property.html" title="annotation in org.apache.juneau.rest.annotation">@Property</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#name--">name</a>="RestServlet.allowMethodParam",<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#value--">value</a>="*"),<a href="../../../../../org/apache/juneau/rest/annotation/Property.html" title="annotation in org.apache.juneau.rest.annotation">@Property</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#name--">name<
 /a>="DirectoryResource.rootDir",<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#value--">value</a>=""),<a href="../../../../../org/apache/juneau/rest/annotation/Property.html" title="annotation in org.apache.juneau.rest.annotation">@Property</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#name--">name</a>="DirectoryResource.allowViews",<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#value--">value</a>="false"),<a href="../../../../../org/apache/juneau/rest/annotation/Property.html" title="annotation in org.apache.juneau.rest.annotation">@Property</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#name--">name</a>="DirectoryResource.allowDeletes",<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#value--">value</a>="false"),<a href="../../../../../org/apache/juneau/rest/annotation/Property.html" title="annotation in org.apache.juneau.rest.annotation">@Property</a>
 (<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#name--">name</a>="DirectoryResource.allowPuts",<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#value--">value</a>="false")})
+<pre><a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html" title="annotation in org.apache.juneau.rest.annotation">@RestResource</a>(<a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html#title--">title</a>="File System Explorer",<a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html#description--">description</a>="Contents of $R{attribute.path}",<a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html#messages--">messages</a>="nls/DirectoryResource",<a href="../../../../../org/apache/juneau/rest/annotation/RestResource.html#htmldoc--">htmldoc</a>=<a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html" title="annotation in org.apache.juneau.rest.annotation">@HtmlDoc</a>(<a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html#links--">links</a>={"up: request:/..","options: servlet:/?method=OPTIONS"}),<a href="../../../../../org/apache/juneau/rest/annotation/RestResource.
 html#properties--">properties</a>={<a href="../../../../../org/apache/juneau/rest/annotation/Property.html" title="annotation in org.apache.juneau.rest.annotation">@Property</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#name--">name</a>="HtmlSerializer.uriAnchorText",<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#value--">value</a>="PROPERTY_NAME"),<a href="../../../../../org/apache/juneau/rest/annotation/Property.html" title="annotation in org.apache.juneau.rest.annotation">@Property</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#name--">name</a>="RestServlet.allowMethodParam",<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#value--">value</a>="*"),<a href="../../../../../org/apache/juneau/rest/annotation/Property.html" title="annotation in org.apache.juneau.rest.annotation">@Property</a>(<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#name--">name</a>=
 "DirectoryResource.rootDir",<a href="../../../../../org/apache/juneau/rest/annotation/Property.html#value--">value</a>="")})
 public class <a href="../../../../../src-html/org/apache/juneau/microservice/resources/DirectoryResource.html#line.78">DirectoryResource</a>
 extends <a href="../../../../../org/apache/juneau/microservice/Resource.html" title="class in org.apache.juneau.microservice">Resource</a></pre>
 <div class="block">REST resource that allows access to a file system directory.


[10/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.html b/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.html
index cbb85fc..2731806 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.html
@@ -306,512 +306,516 @@
 <span class="sourceLineNo">298</span><a name="line.298"></a>
 <span class="sourceLineNo">299</span>         if (render != null) {<a name="line.299"></a>
 <span class="sourceLineNo">300</span>            Object o2 = render.getContent(session, o);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>            if (o2 != o)<a name="line.301"></a>
-<span class="sourceLineNo">302</span>               return serializeAnything(session, out, o2, null, typeName, 2, null, false);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>         }<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>         if (html.isAsXml() || (pMeta != null &amp;&amp; pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isAsXml())) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>            super.serializeAnything(session, out, o, null, null, null, false, XmlFormat.MIXED, false, false, null);<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>         } else if (html.isAsPlainText() || (pMeta != null &amp;&amp; pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isAsPlainText())) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>            out.write(o == null ? "null" : o.toString());<a name="line.309"></a>
-<span class="sourceLineNo">310</span>            cr = CR_SIMPLE;<a name="line.310"></a>
+<span class="sourceLineNo">301</span>            if (o2 != o) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>               session.indent -= indent;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>               session.pop();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>               out.nl(session.indent);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>               return serializeAnything(session, out, o2, null, typeName, indent, null, false);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>            }<a name="line.306"></a>
+<span class="sourceLineNo">307</span>         }<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>         if (html.isAsXml() || (pMeta != null &amp;&amp; pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isAsXml())) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>            super.serializeAnything(session, out, o, null, null, null, false, XmlFormat.MIXED, false, false, null);<a name="line.310"></a>
 <span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>         } else if (o == null || (sType.isChar() &amp;&amp; ((Character)o).charValue() == 0)) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>            out.tag("null");<a name="line.313"></a>
+<span class="sourceLineNo">312</span>         } else if (html.isAsPlainText() || (pMeta != null &amp;&amp; pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isAsPlainText())) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>            out.write(o == null ? "null" : o.toString());<a name="line.313"></a>
 <span class="sourceLineNo">314</span>            cr = CR_SIMPLE;<a name="line.314"></a>
 <span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>         } else if (sType.isNumber()) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>            if (eType.isNumber() &amp;&amp; ! isRoot)<a name="line.317"></a>
-<span class="sourceLineNo">318</span>               out.append(o);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>            else<a name="line.319"></a>
-<span class="sourceLineNo">320</span>               out.sTag("number").append(o).eTag("number");<a name="line.320"></a>
-<span class="sourceLineNo">321</span>            cr = CR_SIMPLE;<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>         } else if (sType.isBoolean()) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>            if (eType.isBoolean() &amp;&amp; ! isRoot)<a name="line.324"></a>
-<span class="sourceLineNo">325</span>               out.append(o);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>            else<a name="line.326"></a>
-<span class="sourceLineNo">327</span>               out.sTag("boolean").append(o).eTag("boolean");<a name="line.327"></a>
-<span class="sourceLineNo">328</span>            cr = CR_SIMPLE;<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>         } else if (sType.isMap() || (wType != null &amp;&amp; wType.isMap())) {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            out.nlIf(! isRoot, indent+1);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>            if (o instanceof BeanMap)<a name="line.332"></a>
-<span class="sourceLineNo">333</span>               serializeBeanMap(session, out, (BeanMap)o, eType, pMeta);<a name="line.333"></a>
-<span class="sourceLineNo">334</span>            else<a name="line.334"></a>
-<span class="sourceLineNo">335</span>               serializeMap(session, out, (Map)o, sType, eType.getKeyType(), eType.getValueType(), typeName, pMeta);<a name="line.335"></a>
-<span class="sourceLineNo">336</span><a name="line.336"></a>
-<span class="sourceLineNo">337</span>         } else if (sType.isBean()) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>            BeanMap m = session.toBeanMap(o);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>            Class&lt;?&gt; c = o.getClass();<a name="line.339"></a>
-<span class="sourceLineNo">340</span>            if (c.isAnnotationPresent(HtmlLink.class)) {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>               HtmlLink h = o.getClass().getAnnotation(HtmlLink.class);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>               Object urlProp = m.get(h.hrefProperty());<a name="line.342"></a>
-<span class="sourceLineNo">343</span>               Object nameProp = m.get(h.nameProperty());<a name="line.343"></a>
-<span class="sourceLineNo">344</span>               out.oTag("a").attrUri("href", urlProp).append('&gt;').text(nameProp).eTag("a");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>               cr = CR_SIMPLE;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>            } else {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>               out.nlIf(! isRoot, indent+2);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>               serializeBeanMap(session, out, m, eType, pMeta);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>            }<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>         } else if (sType.isCollection() || sType.isArray() || (wType != null &amp;&amp; wType.isCollection())) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>            out.nlIf(! isRoot, indent+1);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>            serializeCollection(session, out, o, sType, eType, name, pMeta);<a name="line.353"></a>
+<span class="sourceLineNo">316</span>         } else if (o == null || (sType.isChar() &amp;&amp; ((Character)o).charValue() == 0)) {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>            out.tag("null");<a name="line.317"></a>
+<span class="sourceLineNo">318</span>            cr = CR_SIMPLE;<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>         } else if (sType.isNumber()) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>            if (eType.isNumber() &amp;&amp; ! isRoot)<a name="line.321"></a>
+<span class="sourceLineNo">322</span>               out.append(o);<a name="line.322"></a>
+<span class="sourceLineNo">323</span>            else<a name="line.323"></a>
+<span class="sourceLineNo">324</span>               out.sTag("number").append(o).eTag("number");<a name="line.324"></a>
+<span class="sourceLineNo">325</span>            cr = CR_SIMPLE;<a name="line.325"></a>
+<span class="sourceLineNo">326</span><a name="line.326"></a>
+<span class="sourceLineNo">327</span>         } else if (sType.isBoolean()) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>            if (eType.isBoolean() &amp;&amp; ! isRoot)<a name="line.328"></a>
+<span class="sourceLineNo">329</span>               out.append(o);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>            else<a name="line.330"></a>
+<span class="sourceLineNo">331</span>               out.sTag("boolean").append(o).eTag("boolean");<a name="line.331"></a>
+<span class="sourceLineNo">332</span>            cr = CR_SIMPLE;<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>         } else if (sType.isMap() || (wType != null &amp;&amp; wType.isMap())) {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>            out.nlIf(! isRoot, indent+1);<a name="line.335"></a>
+<span class="sourceLineNo">336</span>            if (o instanceof BeanMap)<a name="line.336"></a>
+<span class="sourceLineNo">337</span>               serializeBeanMap(session, out, (BeanMap)o, eType, pMeta);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>            else<a name="line.338"></a>
+<span class="sourceLineNo">339</span>               serializeMap(session, out, (Map)o, sType, eType.getKeyType(), eType.getValueType(), typeName, pMeta);<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>         } else if (sType.isBean()) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>            BeanMap m = session.toBeanMap(o);<a name="line.342"></a>
+<span class="sourceLineNo">343</span>            Class&lt;?&gt; c = o.getClass();<a name="line.343"></a>
+<span class="sourceLineNo">344</span>            if (c.isAnnotationPresent(HtmlLink.class)) {<a name="line.344"></a>
+<span class="sourceLineNo">345</span>               HtmlLink h = o.getClass().getAnnotation(HtmlLink.class);<a name="line.345"></a>
+<span class="sourceLineNo">346</span>               Object urlProp = m.get(h.hrefProperty());<a name="line.346"></a>
+<span class="sourceLineNo">347</span>               Object nameProp = m.get(h.nameProperty());<a name="line.347"></a>
+<span class="sourceLineNo">348</span>               out.oTag("a").attrUri("href", urlProp).append('&gt;').text(nameProp).eTag("a");<a name="line.348"></a>
+<span class="sourceLineNo">349</span>               cr = CR_SIMPLE;<a name="line.349"></a>
+<span class="sourceLineNo">350</span>            } else {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>               out.nlIf(! isRoot, indent+2);<a name="line.351"></a>
+<span class="sourceLineNo">352</span>               serializeBeanMap(session, out, m, eType, pMeta);<a name="line.352"></a>
+<span class="sourceLineNo">353</span>            }<a name="line.353"></a>
 <span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>         } else if (session.isUri(sType, pMeta, o)) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>            String label = session.getAnchorText(pMeta, o);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>            out.oTag("a").attrUri("href", o).append('&gt;');<a name="line.357"></a>
-<span class="sourceLineNo">358</span>            out.text(label);<a name="line.358"></a>
-<span class="sourceLineNo">359</span>            out.eTag("a");<a name="line.359"></a>
-<span class="sourceLineNo">360</span>            cr = CR_SIMPLE;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>         } else {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>            if (isRoot)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>               out.sTag("string").text(session.toString(o)).eTag("string");<a name="line.364"></a>
-<span class="sourceLineNo">365</span>            else<a name="line.365"></a>
-<span class="sourceLineNo">366</span>               out.text(session.toString(o));<a name="line.366"></a>
-<span class="sourceLineNo">367</span>            cr = CR_SIMPLE;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>         }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      }<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      session.pop();<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      session.indent -= indent;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      return cr;<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>   /**<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    * Identifies what the contents were of a serialized bean.<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    */<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   static enum ContentResult {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      CR_SIMPLE,    // Simple content.  Shouldn't use whitespace.<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      CR_NORMAL     // Normal content.  Use whitespace.<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   }<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   private void serializeMap(HtmlSerializerSession session, HtmlWriter out, Map m, ClassMeta&lt;?&gt; sType,<a name="line.384"></a>
-<span class="sourceLineNo">385</span>         ClassMeta&lt;?&gt; eKeyType, ClassMeta&lt;?&gt; eValueType, String typeName, BeanPropertyMeta ppMeta) throws Exception {<a name="line.385"></a>
+<span class="sourceLineNo">355</span>         } else if (sType.isCollection() || sType.isArray() || (wType != null &amp;&amp; wType.isCollection())) {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>            out.nlIf(! isRoot, indent+1);<a name="line.356"></a>
+<span class="sourceLineNo">357</span>            serializeCollection(session, out, o, sType, eType, name, pMeta);<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>         } else if (session.isUri(sType, pMeta, o)) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>            String label = session.getAnchorText(pMeta, o);<a name="line.360"></a>
+<span class="sourceLineNo">361</span>            out.oTag("a").attrUri("href", o).append('&gt;');<a name="line.361"></a>
+<span class="sourceLineNo">362</span>            out.text(label);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>            out.eTag("a");<a name="line.363"></a>
+<span class="sourceLineNo">364</span>            cr = CR_SIMPLE;<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>         } else {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>            if (isRoot)<a name="line.367"></a>
+<span class="sourceLineNo">368</span>               out.sTag("string").text(session.toString(o)).eTag("string");<a name="line.368"></a>
+<span class="sourceLineNo">369</span>            else<a name="line.369"></a>
+<span class="sourceLineNo">370</span>               out.text(session.toString(o));<a name="line.370"></a>
+<span class="sourceLineNo">371</span>            cr = CR_SIMPLE;<a name="line.371"></a>
+<span class="sourceLineNo">372</span>         }<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      }<a name="line.373"></a>
+<span class="sourceLineNo">374</span>      session.pop();<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      session.indent -= indent;<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      return cr;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>   /**<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    * Identifies what the contents were of a serialized bean.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    */<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   static enum ContentResult {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      CR_SIMPLE,    // Simple content.  Shouldn't use whitespace.<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      CR_NORMAL     // Normal content.  Use whitespace.<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   }<a name="line.385"></a>
 <span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>      ClassMeta&lt;?&gt; keyType = eKeyType == null ? session.string() : eKeyType;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      ClassMeta&lt;?&gt; valueType = eValueType == null ? session.object() : eValueType;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      ClassMeta&lt;?&gt; aType = session.getClassMetaForObject(m);       // The actual type<a name="line.389"></a>
+<span class="sourceLineNo">387</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   private void serializeMap(HtmlSerializerSession session, HtmlWriter out, Map m, ClassMeta&lt;?&gt; sType,<a name="line.388"></a>
+<span class="sourceLineNo">389</span>         ClassMeta&lt;?&gt; eKeyType, ClassMeta&lt;?&gt; eValueType, String typeName, BeanPropertyMeta ppMeta) throws Exception {<a name="line.389"></a>
 <span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>      int i = session.getIndent();<a name="line.391"></a>
-<span class="sourceLineNo">392</span><a name="line.392"></a>
-<span class="sourceLineNo">393</span>      out.oTag(i, "table");<a name="line.393"></a>
+<span class="sourceLineNo">391</span>      ClassMeta&lt;?&gt; keyType = eKeyType == null ? session.string() : eKeyType;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      ClassMeta&lt;?&gt; valueType = eValueType == null ? session.object() : eValueType;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      ClassMeta&lt;?&gt; aType = session.getClassMetaForObject(m);       // The actual type<a name="line.393"></a>
 <span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>      if (typeName != null &amp;&amp; ppMeta != null &amp;&amp; ppMeta.getClassMeta() != aType)<a name="line.395"></a>
-<span class="sourceLineNo">396</span>         out.attr(session.getBeanTypePropertyName(sType), typeName);<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>      out.append("&gt;").nl(i+1);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      if (session.isAddKeyValueTableHeaders() &amp;&amp; ! (aType.getExtendedMeta(HtmlClassMeta.class).isNoTableHeaders()<a name="line.399"></a>
-<span class="sourceLineNo">400</span>            || (ppMeta != null &amp;&amp; ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isNoTableHeaders()))) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>         out.sTag(i+2, "th").append("key").eTag("th").nl(i+3);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>         out.sTag(i+2, "th").append("value").eTag("th").nl(i+3);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>         out.ie(i+1).eTag("tr").nl(i+2);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      for (Map.Entry e : (Set&lt;Map.Entry&gt;)m.entrySet()) {<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>         Object key = session.generalize(e.getKey(), keyType);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>         Object value = null;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>         try {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>            value = e.getValue();<a name="line.411"></a>
-<span class="sourceLineNo">412</span>         } catch (StackOverflowError t) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            throw t;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>         } catch (Throwable t) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>            session.onError(t, "Could not call getValue() on property ''{0}'', {1}", e.getKey(), t.getLocalizedMessage());<a name="line.415"></a>
-<span class="sourceLineNo">416</span>         }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span>         String link = getLink(ppMeta);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>         String style = getStyle(session, ppMeta, value);<a name="line.419"></a>
-<span class="sourceLineNo">420</span><a name="line.420"></a>
-<span class="sourceLineNo">421</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>         out.oTag(i+2, "td");<a name="line.422"></a>
-<span class="sourceLineNo">423</span>         if (style != null)<a name="line.423"></a>
-<span class="sourceLineNo">424</span>            out.attr("style", style);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>         out.cTag();<a name="line.425"></a>
-<span class="sourceLineNo">426</span>         if (link != null)<a name="line.426"></a>
-<span class="sourceLineNo">427</span>            out.oTag(i+3, "a").attrUri("href", link.replace("{#}", StringUtils.toString(value))).cTag();<a name="line.427"></a>
-<span class="sourceLineNo">428</span>         ContentResult cr = serializeAnything(session, out, key, keyType, null, 2, null, false);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>         if (link != null)<a name="line.429"></a>
-<span class="sourceLineNo">430</span>            out.eTag("a");<a name="line.430"></a>
-<span class="sourceLineNo">431</span>         if (cr == CR_NORMAL)<a name="line.431"></a>
-<span class="sourceLineNo">432</span>            out.i(i+2);<a name="line.432"></a>
-<span class="sourceLineNo">433</span>         out.eTag("td").nl(i+2);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>         out.sTag(i+2, "td");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>         cr = serializeAnything(session, out, value, valueType, (key == null ? "_x0000_" : session.toString(key)), 2, null, false);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>         if (cr == CR_NORMAL)<a name="line.436"></a>
-<span class="sourceLineNo">437</span>            out.ie(i+2);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>         out.eTag("td").nl(i+2);<a name="line.438"></a>
-<span class="sourceLineNo">439</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      }<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      out.ie(i).eTag("table").nl(i);<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   }<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>   private void serializeBeanMap(HtmlSerializerSession session, HtmlWriter out, BeanMap&lt;?&gt; m, ClassMeta&lt;?&gt; eType,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>         BeanPropertyMeta ppMeta) throws Exception {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      int i = session.getIndent();<a name="line.446"></a>
+<span class="sourceLineNo">395</span>      int i = session.getIndent();<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span>      out.oTag(i, "table");<a name="line.397"></a>
+<span class="sourceLineNo">398</span><a name="line.398"></a>
+<span class="sourceLineNo">399</span>      if (typeName != null &amp;&amp; ppMeta != null &amp;&amp; ppMeta.getClassMeta() != aType)<a name="line.399"></a>
+<span class="sourceLineNo">400</span>         out.attr(session.getBeanTypePropertyName(sType), typeName);<a name="line.400"></a>
+<span class="sourceLineNo">401</span><a name="line.401"></a>
+<span class="sourceLineNo">402</span>      out.append("&gt;").nl(i+1);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>      if (session.isAddKeyValueTableHeaders() &amp;&amp; ! (aType.getExtendedMeta(HtmlClassMeta.class).isNoTableHeaders()<a name="line.403"></a>
+<span class="sourceLineNo">404</span>            || (ppMeta != null &amp;&amp; ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isNoTableHeaders()))) {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.405"></a>
+<span class="sourceLineNo">406</span>         out.sTag(i+2, "th").append("key").eTag("th").nl(i+3);<a name="line.406"></a>
+<span class="sourceLineNo">407</span>         out.sTag(i+2, "th").append("value").eTag("th").nl(i+3);<a name="line.407"></a>
+<span class="sourceLineNo">408</span>         out.ie(i+1).eTag("tr").nl(i+2);<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      }<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      for (Map.Entry e : (Set&lt;Map.Entry&gt;)m.entrySet()) {<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span>         Object key = session.generalize(e.getKey(), keyType);<a name="line.412"></a>
+<span class="sourceLineNo">413</span>         Object value = null;<a name="line.413"></a>
+<span class="sourceLineNo">414</span>         try {<a name="line.414"></a>
+<span class="sourceLineNo">415</span>            value = e.getValue();<a name="line.415"></a>
+<span class="sourceLineNo">416</span>         } catch (StackOverflowError t) {<a name="line.416"></a>
+<span class="sourceLineNo">417</span>            throw t;<a name="line.417"></a>
+<span class="sourceLineNo">418</span>         } catch (Throwable t) {<a name="line.418"></a>
+<span class="sourceLineNo">419</span>            session.onError(t, "Could not call getValue() on property ''{0}'', {1}", e.getKey(), t.getLocalizedMessage());<a name="line.419"></a>
+<span class="sourceLineNo">420</span>         }<a name="line.420"></a>
+<span class="sourceLineNo">421</span><a name="line.421"></a>
+<span class="sourceLineNo">422</span>         String link = getLink(ppMeta);<a name="line.422"></a>
+<span class="sourceLineNo">423</span>         String style = getStyle(session, ppMeta, value);<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.425"></a>
+<span class="sourceLineNo">426</span>         out.oTag(i+2, "td");<a name="line.426"></a>
+<span class="sourceLineNo">427</span>         if (style != null)<a name="line.427"></a>
+<span class="sourceLineNo">428</span>            out.attr("style", style);<a name="line.428"></a>
+<span class="sourceLineNo">429</span>         out.cTag();<a name="line.429"></a>
+<span class="sourceLineNo">430</span>         if (link != null)<a name="line.430"></a>
+<span class="sourceLineNo">431</span>            out.oTag(i+3, "a").attrUri("href", link.replace("{#}", StringUtils.toString(value))).cTag();<a name="line.431"></a>
+<span class="sourceLineNo">432</span>         ContentResult cr = serializeAnything(session, out, key, keyType, null, 2, null, false);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>         if (link != null)<a name="line.433"></a>
+<span class="sourceLineNo">434</span>            out.eTag("a");<a name="line.434"></a>
+<span class="sourceLineNo">435</span>         if (cr == CR_NORMAL)<a name="line.435"></a>
+<span class="sourceLineNo">436</span>            out.i(i+2);<a name="line.436"></a>
+<span class="sourceLineNo">437</span>         out.eTag("td").nl(i+2);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>         out.sTag(i+2, "td");<a name="line.438"></a>
+<span class="sourceLineNo">439</span>         cr = serializeAnything(session, out, value, valueType, (key == null ? "_x0000_" : session.toString(key)), 2, null, false);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>         if (cr == CR_NORMAL)<a name="line.440"></a>
+<span class="sourceLineNo">441</span>            out.ie(i+2);<a name="line.441"></a>
+<span class="sourceLineNo">442</span>         out.eTag("td").nl(i+2);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      }<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      out.ie(i).eTag("table").nl(i);<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   }<a name="line.446"></a>
 <span class="sourceLineNo">447</span><a name="line.447"></a>
-<span class="sourceLineNo">448</span>      out.oTag(i, "table");<a name="line.448"></a>
-<span class="sourceLineNo">449</span><a name="line.449"></a>
-<span class="sourceLineNo">450</span>      String typeName = m.getMeta().getDictionaryName();<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      if (typeName != null &amp;&amp; eType != m.getClassMeta())<a name="line.451"></a>
-<span class="sourceLineNo">452</span>         out.attr(session.getBeanTypePropertyName(m.getClassMeta()), typeName);<a name="line.452"></a>
+<span class="sourceLineNo">448</span>   private void serializeBeanMap(HtmlSerializerSession session, HtmlWriter out, BeanMap&lt;?&gt; m, ClassMeta&lt;?&gt; eType,<a name="line.448"></a>
+<span class="sourceLineNo">449</span>         BeanPropertyMeta ppMeta) throws Exception {<a name="line.449"></a>
+<span class="sourceLineNo">450</span>      int i = session.getIndent();<a name="line.450"></a>
+<span class="sourceLineNo">451</span><a name="line.451"></a>
+<span class="sourceLineNo">452</span>      out.oTag(i, "table");<a name="line.452"></a>
 <span class="sourceLineNo">453</span><a name="line.453"></a>
-<span class="sourceLineNo">454</span>      out.append('&gt;').nl(i);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      if (session.isAddKeyValueTableHeaders() &amp;&amp; ! (m.getClassMeta().getExtendedMeta(HtmlClassMeta.class).isNoTableHeaders()<a name="line.455"></a>
-<span class="sourceLineNo">456</span>            || (ppMeta != null &amp;&amp; ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isNoTableHeaders()))) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>         out.sTag(i+1, "tr").nl(i+1);<a name="line.457"></a>
-<span class="sourceLineNo">458</span>         out.sTag(i+2, "th").append("key").eTag("th").nl(i+2);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>         out.sTag(i+2, "th").append("value").eTag("th").nl(i+2);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>      for (BeanPropertyValue p : m.getValues(session.isTrimNulls())) {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>         BeanPropertyMeta pMeta = p.getMeta();<a name="line.464"></a>
-<span class="sourceLineNo">465</span>         ClassMeta&lt;?&gt; cMeta = p.getClassMeta();<a name="line.465"></a>
+<span class="sourceLineNo">454</span>      String typeName = m.getMeta().getDictionaryName();<a name="line.454"></a>
+<span class="sourceLineNo">455</span>      if (typeName != null &amp;&amp; eType != m.getClassMeta())<a name="line.455"></a>
+<span class="sourceLineNo">456</span>         out.attr(session.getBeanTypePropertyName(m.getClassMeta()), typeName);<a name="line.456"></a>
+<span class="sourceLineNo">457</span><a name="line.457"></a>
+<span class="sourceLineNo">458</span>      out.append('&gt;').nl(i);<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      if (session.isAddKeyValueTableHeaders() &amp;&amp; ! (m.getClassMeta().getExtendedMeta(HtmlClassMeta.class).isNoTableHeaders()<a name="line.459"></a>
+<span class="sourceLineNo">460</span>            || (ppMeta != null &amp;&amp; ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isNoTableHeaders()))) {<a name="line.460"></a>
+<span class="sourceLineNo">461</span>         out.sTag(i+1, "tr").nl(i+1);<a name="line.461"></a>
+<span class="sourceLineNo">462</span>         out.sTag(i+2, "th").append("key").eTag("th").nl(i+2);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>         out.sTag(i+2, "th").append("value").eTag("th").nl(i+2);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      }<a name="line.465"></a>
 <span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>         String key = p.getName();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>         Object value = p.getValue();<a name="line.468"></a>
-<span class="sourceLineNo">469</span>         Throwable t = p.getThrown();<a name="line.469"></a>
-<span class="sourceLineNo">470</span>         if (t != null)<a name="line.470"></a>
-<span class="sourceLineNo">471</span>            session.onBeanGetterException(pMeta, t);<a name="line.471"></a>
-<span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span>         if (session.canIgnoreValue(cMeta, key, value))<a name="line.473"></a>
-<span class="sourceLineNo">474</span>            continue;<a name="line.474"></a>
-<span class="sourceLineNo">475</span><a name="line.475"></a>
-<span class="sourceLineNo">476</span>         String link = cMeta.isCollectionOrArray() ? null : getLink(pMeta);<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>         out.sTag(i+1, "tr").nl(i+1);<a name="line.478"></a>
-<span class="sourceLineNo">479</span>         out.sTag(i+2, "td").text(key).eTag("td").nl(i+2);<a name="line.479"></a>
-<span class="sourceLineNo">480</span>         out.oTag(i+2, "td");<a name="line.480"></a>
-<span class="sourceLineNo">481</span>         String style = getStyle(session, pMeta, value);<a name="line.481"></a>
-<span class="sourceLineNo">482</span>         if (style != null)<a name="line.482"></a>
-<span class="sourceLineNo">483</span>            out.attr("style", style);<a name="line.483"></a>
-<span class="sourceLineNo">484</span>         out.cTag();<a name="line.484"></a>
-<span class="sourceLineNo">485</span><a name="line.485"></a>
-<span class="sourceLineNo">486</span>         try {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>            if (link != null)<a name="line.487"></a>
-<span class="sourceLineNo">488</span>               out.oTag(i+3, "a").attrUri("href", m.resolveVars(link)).cTag();<a name="line.488"></a>
-<span class="sourceLineNo">489</span>            ContentResult cr = serializeAnything(session, out, value, cMeta, key, 2, pMeta, false);<a name="line.489"></a>
-<span class="sourceLineNo">490</span>            if (cr == CR_NORMAL)<a name="line.490"></a>
-<span class="sourceLineNo">491</span>               out.i(i+2);<a name="line.491"></a>
-<span class="sourceLineNo">492</span>            if (link != null)<a name="line.492"></a>
-<span class="sourceLineNo">493</span>               out.eTag("a");<a name="line.493"></a>
-<span class="sourceLineNo">494</span>         } catch (SerializeException e) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>            throw e;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>         } catch (Error e) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>            throw e;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>         } catch (Throwable e) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>            e.printStackTrace();<a name="line.499"></a>
-<span class="sourceLineNo">500</span>            session.onBeanGetterException(pMeta, e);<a name="line.500"></a>
-<span class="sourceLineNo">501</span>         }<a name="line.501"></a>
-<span class="sourceLineNo">502</span>         out.eTag("td").nl(i+2);<a name="line.502"></a>
-<span class="sourceLineNo">503</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>      }<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      out.ie(i).eTag("table").nl(i);<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   private void serializeCollection(HtmlSerializerSession session, HtmlWriter out, Object in, ClassMeta&lt;?&gt; sType,<a name="line.509"></a>
-<span class="sourceLineNo">510</span>         ClassMeta&lt;?&gt; eType, String name, BeanPropertyMeta ppMeta) throws Exception {<a name="line.510"></a>
+<span class="sourceLineNo">467</span>      for (BeanPropertyValue p : m.getValues(session.isTrimNulls())) {<a name="line.467"></a>
+<span class="sourceLineNo">468</span>         BeanPropertyMeta pMeta = p.getMeta();<a name="line.468"></a>
+<span class="sourceLineNo">469</span>         ClassMeta&lt;?&gt; cMeta = p.getClassMeta();<a name="line.469"></a>
+<span class="sourceLineNo">470</span><a name="line.470"></a>
+<span class="sourceLineNo">471</span>         String key = p.getName();<a name="line.471"></a>
+<span class="sourceLineNo">472</span>         Object value = p.getValue();<a name="line.472"></a>
+<span class="sourceLineNo">473</span>         Throwable t = p.getThrown();<a name="line.473"></a>
+<span class="sourceLineNo">474</span>         if (t != null)<a name="line.474"></a>
+<span class="sourceLineNo">475</span>            session.onBeanGetterException(pMeta, t);<a name="line.475"></a>
+<span class="sourceLineNo">476</span><a name="line.476"></a>
+<span class="sourceLineNo">477</span>         if (session.canIgnoreValue(cMeta, key, value))<a name="line.477"></a>
+<span class="sourceLineNo">478</span>            continue;<a name="line.478"></a>
+<span class="sourceLineNo">479</span><a name="line.479"></a>
+<span class="sourceLineNo">480</span>         String link = cMeta.isCollectionOrArray() ? null : getLink(pMeta);<a name="line.480"></a>
+<span class="sourceLineNo">481</span><a name="line.481"></a>
+<span class="sourceLineNo">482</span>         out.sTag(i+1, "tr").nl(i+1);<a name="line.482"></a>
+<span class="sourceLineNo">483</span>         out.sTag(i+2, "td").text(key).eTag("td").nl(i+2);<a name="line.483"></a>
+<span class="sourceLineNo">484</span>         out.oTag(i+2, "td");<a name="line.484"></a>
+<span class="sourceLineNo">485</span>         String style = getStyle(session, pMeta, value);<a name="line.485"></a>
+<span class="sourceLineNo">486</span>         if (style != null)<a name="line.486"></a>
+<span class="sourceLineNo">487</span>            out.attr("style", style);<a name="line.487"></a>
+<span class="sourceLineNo">488</span>         out.cTag();<a name="line.488"></a>
+<span class="sourceLineNo">489</span><a name="line.489"></a>
+<span class="sourceLineNo">490</span>         try {<a name="line.490"></a>
+<span class="sourceLineNo">491</span>            if (link != null)<a name="line.491"></a>
+<span class="sourceLineNo">492</span>               out.oTag(i+3, "a").attrUri("href", m.resolveVars(link)).cTag();<a name="line.492"></a>
+<span class="sourceLineNo">493</span>            ContentResult cr = serializeAnything(session, out, value, cMeta, key, 2, pMeta, false);<a name="line.493"></a>
+<span class="sourceLineNo">494</span>            if (cr == CR_NORMAL)<a name="line.494"></a>
+<span class="sourceLineNo">495</span>               out.i(i+2);<a name="line.495"></a>
+<span class="sourceLineNo">496</span>            if (link != null)<a name="line.496"></a>
+<span class="sourceLineNo">497</span>               out.eTag("a");<a name="line.497"></a>
+<span class="sourceLineNo">498</span>         } catch (SerializeException e) {<a name="line.498"></a>
+<span class="sourceLineNo">499</span>            throw e;<a name="line.499"></a>
+<span class="sourceLineNo">500</span>         } catch (Error e) {<a name="line.500"></a>
+<span class="sourceLineNo">501</span>            throw e;<a name="line.501"></a>
+<span class="sourceLineNo">502</span>         } catch (Throwable e) {<a name="line.502"></a>
+<span class="sourceLineNo">503</span>            e.printStackTrace();<a name="line.503"></a>
+<span class="sourceLineNo">504</span>            session.onBeanGetterException(pMeta, e);<a name="line.504"></a>
+<span class="sourceLineNo">505</span>         }<a name="line.505"></a>
+<span class="sourceLineNo">506</span>         out.eTag("td").nl(i+2);<a name="line.506"></a>
+<span class="sourceLineNo">507</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      }<a name="line.508"></a>
+<span class="sourceLineNo">509</span>      out.ie(i).eTag("table").nl(i);<a name="line.509"></a>
+<span class="sourceLineNo">510</span>   }<a name="line.510"></a>
 <span class="sourceLineNo">511</span><a name="line.511"></a>
-<span class="sourceLineNo">512</span>      ClassMeta&lt;?&gt; seType = sType.getElementType();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      if (seType == null)<a name="line.513"></a>
-<span class="sourceLineNo">514</span>         seType = session.object();<a name="line.514"></a>
+<span class="sourceLineNo">512</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.512"></a>
+<span class="sourceLineNo">513</span>   private void serializeCollection(HtmlSerializerSession session, HtmlWriter out, Object in, ClassMeta&lt;?&gt; sType,<a name="line.513"></a>
+<span class="sourceLineNo">514</span>         ClassMeta&lt;?&gt; eType, String name, BeanPropertyMeta ppMeta) throws Exception {<a name="line.514"></a>
 <span class="sourceLineNo">515</span><a name="line.515"></a>
-<span class="sourceLineNo">516</span>      Collection c = (sType.isCollection() ? (Collection)in : toList(sType.getInnerClass(), in));<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>      int i = session.getIndent();<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      if (c.isEmpty()) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>         out.appendln(i, "&lt;ul&gt;&lt;/ul&gt;");<a name="line.520"></a>
-<span class="sourceLineNo">521</span>         return;<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      }<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>      String type2 = null;<a name="line.524"></a>
-<span class="sourceLineNo">525</span>      if (sType != eType)<a name="line.525"></a>
-<span class="sourceLineNo">526</span>         type2 = sType.getDictionaryName();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      if (type2 == null)<a name="line.527"></a>
-<span class="sourceLineNo">528</span>         type2 = "array";<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>      c = session.sort(c);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>      HtmlBeanPropertyMeta hbpMeta = (ppMeta == null ? null : ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class));<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      String btpn = session.getBeanTypePropertyName(eType);<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>      // Look at the objects to see how we're going to handle them.  Check the first object to see how we're going to<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      // handle this.<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      // If it's a map or bean, then we'll create a table.<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      // Otherwise, we'll create a list.<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      Object[] th = getTableHeaders(session, c, hbpMeta);<a name="line.539"></a>
-<span class="sourceLineNo">540</span><a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (th != null) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span><a name="line.542"></a>
-<span class="sourceLineNo">543</span>         out.oTag(i, "table").attr(btpn, type2).append('&gt;').nl(i+1);<a name="line.543"></a>
-<span class="sourceLineNo">544</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>         for (Object key : th) {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>            out.sTag(i+2, "th");<a name="line.546"></a>
-<span class="sourceLineNo">547</span>            out.text(session.convertToType(key, String.class));<a name="line.547"></a>
-<span class="sourceLineNo">548</span>            out.eTag("th").nl(i+2);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>         }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>         for (Object o : c) {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>            ClassMeta&lt;?&gt; cm = session.getClassMetaForObject(o);<a name="line.553"></a>
-<span class="sourceLineNo">554</span><a name="line.554"></a>
-<span class="sourceLineNo">555</span>            if (cm != null &amp;&amp; cm.getPojoSwap() != null) {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>               PojoSwap f = cm.getPojoSwap();<a name="line.556"></a>
-<span class="sourceLineNo">557</span>               o = f.swap(session, o);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>               cm = cm.getSerializedClassMeta();<a name="line.558"></a>
-<span class="sourceLineNo">559</span>            }<a name="line.559"></a>
-<span class="sourceLineNo">560</span><a name="line.560"></a>
-<span class="sourceLineNo">561</span>            out.oTag(i+1, "tr");<a name="line.561"></a>
-<span class="sourceLineNo">562</span>            String typeName = (cm == null ? null : cm.getDictionaryName());<a name="line.562"></a>
-<span class="sourceLineNo">563</span>            String typeProperty = session.getBeanTypePropertyName(cm);<a name="line.563"></a>
+<span class="sourceLineNo">516</span>      ClassMeta&lt;?&gt; seType = sType.getElementType();<a name="line.516"></a>
+<span class="sourceLineNo">517</span>      if (seType == null)<a name="line.517"></a>
+<span class="sourceLineNo">518</span>         seType = session.object();<a name="line.518"></a>
+<span class="sourceLineNo">519</span><a name="line.519"></a>
+<span class="sourceLineNo">520</span>      Collection c = (sType.isCollection() ? (Collection)in : toList(sType.getInnerClass(), in));<a name="line.520"></a>
+<span class="sourceLineNo">521</span><a name="line.521"></a>
+<span class="sourceLineNo">522</span>      int i = session.getIndent();<a name="line.522"></a>
+<span class="sourceLineNo">523</span>      if (c.isEmpty()) {<a name="line.523"></a>
+<span class="sourceLineNo">524</span>         out.appendln(i, "&lt;ul&gt;&lt;/ul&gt;");<a name="line.524"></a>
+<span class="sourceLineNo">525</span>         return;<a name="line.525"></a>
+<span class="sourceLineNo">526</span>      }<a name="line.526"></a>
+<span class="sourceLineNo">527</span><a name="line.527"></a>
+<span class="sourceLineNo">528</span>      String type2 = null;<a name="line.528"></a>
+<span class="sourceLineNo">529</span>      if (sType != eType)<a name="line.529"></a>
+<span class="sourceLineNo">530</span>         type2 = sType.getDictionaryName();<a name="line.530"></a>
+<span class="sourceLineNo">531</span>      if (type2 == null)<a name="line.531"></a>
+<span class="sourceLineNo">532</span>         type2 = "array";<a name="line.532"></a>
+<span class="sourceLineNo">533</span><a name="line.533"></a>
+<span class="sourceLineNo">534</span>      c = session.sort(c);<a name="line.534"></a>
+<span class="sourceLineNo">535</span><a name="line.535"></a>
+<span class="sourceLineNo">536</span>      HtmlBeanPropertyMeta hbpMeta = (ppMeta == null ? null : ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class));<a name="line.536"></a>
+<span class="sourceLineNo">537</span>      String btpn = session.getBeanTypePropertyName(eType);<a name="line.537"></a>
+<span class="sourceLineNo">538</span><a name="line.538"></a>
+<span class="sourceLineNo">539</span>      // Look at the objects to see how we're going to handle them.  Check the first object to see how we're going to<a name="line.539"></a>
+<span class="sourceLineNo">540</span>      // handle this.<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      // If it's a map or bean, then we'll create a table.<a name="line.541"></a>
+<span class="sourceLineNo">542</span>      // Otherwise, we'll create a list.<a name="line.542"></a>
+<span class="sourceLineNo">543</span>      Object[] th = getTableHeaders(session, c, hbpMeta);<a name="line.543"></a>
+<span class="sourceLineNo">544</span><a name="line.544"></a>
+<span class="sourceLineNo">545</span>      if (th != null) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span><a name="line.546"></a>
+<span class="sourceLineNo">547</span>         out.oTag(i, "table").attr(btpn, type2).append('&gt;').nl(i+1);<a name="line.547"></a>
+<span class="sourceLineNo">548</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.548"></a>
+<span class="sourceLineNo">549</span>         for (Object key : th) {<a name="line.549"></a>
+<span class="sourceLineNo">550</span>            out.sTag(i+2, "th");<a name="line.550"></a>
+<span class="sourceLineNo">551</span>            out.text(session.convertToType(key, String.class));<a name="line.551"></a>
+<span class="sourceLineNo">552</span>            out.eTag("th").nl(i+2);<a name="line.552"></a>
+<span class="sourceLineNo">553</span>         }<a name="line.553"></a>
+<span class="sourceLineNo">554</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.554"></a>
+<span class="sourceLineNo">555</span><a name="line.555"></a>
+<span class="sourceLineNo">556</span>         for (Object o : c) {<a name="line.556"></a>
+<span class="sourceLineNo">557</span>            ClassMeta&lt;?&gt; cm = session.getClassMetaForObject(o);<a name="line.557"></a>
+<span class="sourceLineNo">558</span><a name="line.558"></a>
+<span class="sourceLineNo">559</span>            if (cm != null &amp;&amp; cm.getPojoSwap() != null) {<a name="line.559"></a>
+<span class="sourceLineNo">560</span>               PojoSwap f = cm.getPojoSwap();<a name="line.560"></a>
+<span class="sourceLineNo">561</span>               o = f.swap(session, o);<a name="line.561"></a>
+<span class="sourceLineNo">562</span>               cm = cm.getSerializedClassMeta();<a name="line.562"></a>
+<span class="sourceLineNo">563</span>            }<a name="line.563"></a>
 <span class="sourceLineNo">564</span><a name="line.564"></a>
-<span class="sourceLineNo">565</span>            if (typeName != null &amp;&amp; eType.getElementType() != cm)<a name="line.565"></a>
-<span class="sourceLineNo">566</span>               out.attr(typeProperty, typeName);<a name="line.566"></a>
-<span class="sourceLineNo">567</span>            out.cTag().nl(i+2);<a name="line.567"></a>
+<span class="sourceLineNo">565</span>            out.oTag(i+1, "tr");<a name="line.565"></a>
+<span class="sourceLineNo">566</span>            String typeName = (cm == null ? null : cm.getDictionaryName());<a name="line.566"></a>
+<span class="sourceLineNo">567</span>            String typeProperty = session.getBeanTypePropertyName(cm);<a name="line.567"></a>
 <span class="sourceLineNo">568</span><a name="line.568"></a>
-<span class="sourceLineNo">569</span>            if (cm == null) {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>               serializeAnything(session, out, o, null, null, 1, null, false);<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>            } else if (cm.isMap() &amp;&amp; ! (cm.isBeanMap())) {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>               Map m2 = session.sort((Map)o);<a name="line.573"></a>
-<span class="sourceLineNo">574</span><a name="line.574"></a>
-<span class="sourceLineNo">575</span>               for (Object k : th) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>                  out.sTag(i+2, "td");<a name="line.576"></a>
-<span class="sourceLineNo">577</span>                  ContentResult cr = serializeAnything(session, out, m2.get(k), eType.getElementType(), session.toString(k), 2, null, false);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>                  if (cr == CR_NORMAL)<a name="line.578"></a>
-<span class="sourceLineNo">579</span>                     out.i(i+2);<a name="line.579"></a>
-<span class="sourceLineNo">580</span>                  out.eTag("td").nl(i+2);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>               }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>            } else {<a name="line.582"></a>
-<span class="sourceLineNo">583</span>               BeanMap m2 = null;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>               if (o instanceof BeanMap)<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                  m2 = (BeanMap)o;<a name="line.585"></a>
-<span class="sourceLineNo">586</span>               else<a name="line.586"></a>
-<span class="sourceLineNo">587</span>                  m2 = session.toBeanMap(o);<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>               for (Object k : th) {<a name="line.589"></a>
-<span class="sourceLineNo">590</span>                  BeanMapEntry p = m2.getProperty(session.toString(k));<a name="line.590"></a>
-<span class="sourceLineNo">591</span>                  BeanPropertyMeta pMeta = p.getMeta();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>                  String link = pMeta.getClassMeta().isCollectionOrArray() ? null : getLink(pMeta);<a name="line.592"></a>
-<span class="sourceLineNo">593</span>                  Object value = p.getValue();<a name="line.593"></a>
-<span class="sourceLineNo">594</span>                  String style = getStyle(session, pMeta, value);<a name="line.594"></a>
-<span class="sourceLineNo">595</span>                  out.oTag(i+2, "td");<a name="line.595"></a>
-<span class="sourceLineNo">596</span>                  if (style != null)<a name="line.596"></a>
-<span class="sourceLineNo">597</span>                     out.attr("style", style);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>                  out.cTag();<a name="line.598"></a>
-<span class="sourceLineNo">599</span>                  if (link != null)<a name="line.599"></a>
-<span class="sourceLineNo">600</span>                     out.oTag(i+3, "a").attrUri("href", m2.resolveVars(link)).cTag();<a name="line.600"></a>
-<span class="sourceLineNo">601</span>                  ContentResult cr = serializeAnything(session, out, value, pMeta.getClassMeta(), p.getKey().toString(), 2, pMeta, false);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>                  if (cr == CR_NORMAL)<a name="line.602"></a>
-<span class="sourceLineNo">603</span>                     out.i(i+2);<a name="line.603"></a>
-<span class="sourceLineNo">604</span>                  if (link != null)<a name="line.604"></a>
-<span class="sourceLineNo">605</span>                     out.eTag("a");<a name="line.605"></a>
-<span class="sourceLineNo">606</span>                  out.eTag("td").nl(i+2);<a name="line.606"></a>
-<span class="sourceLineNo">607</span>               }<a name="line.607"></a>
-<span class="sourceLineNo">608</span>            }<a name="line.608"></a>
-<span class="sourceLineNo">609</span>            out.ie(i+1).eTag("tr").nl(i+1);<a name="line.609"></a>
-<span class="sourceLineNo">610</span>         }<a name="line.610"></a>
-<span class="sourceLineNo">611</span>         out.ie(i).eTag("table").nl(i);<a name="line.611"></a>
-<span class="sourceLineNo">612</span><a name="line.612"></a>
-<span class="sourceLineNo">613</span>      } else {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>         out.oTag(i, "ul");<a name="line.614"></a>
-<span class="sourceLineNo">615</span>         if (! type2.equals("array"))<a name="line.615"></a>
-<span class="sourceLineNo">616</span>            out.attr(btpn, type2);<a name="line.616"></a>
-<span class="sourceLineNo">617</span>         out.append('&gt;').nl(i+1);<a name="line.617"></a>
-<span class="sourceLineNo">618</span>         for (Object o : c) {<a name="line.618"></a>
-<span class="sourceLineNo">619</span>            out.oTag(i+1, "li");<a name="line.619"></a>
-<span class="sourceLineNo">620</span>            String style = getStyle(session, ppMeta, o);<a name="line.620"></a>
-<span class="sourceLineNo">621</span>            String link = getLink(ppMeta);<a name="line.621"></a>
-<span class="sourceLineNo">622</span>            if (style != null)<a name="line.622"></a>
-<span class="sourceLineNo">623</span>               out.attr("style", style);<a name="line.623"></a>
-<span class="sourceLineNo">624</span>            out.cTag();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>            if (link != null)<a name="line.625"></a>
-<span class="sourceLineNo">626</span>               out.oTag(i+2, "a").attrUri("href", link.replace("{#}", StringUtils.toString(o))).cTag();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>            ContentResult cr = serializeAnything(session, out, o, eType.getElementType(), name, 1, null, false);<a name="line.627"></a>
-<span class="sourceLineNo">628</span>            if (link != null)<a name="line.628"></a>
-<span class="sourceLineNo">629</span>               out.eTag("a");<a name="line.629"></a>
-<span class="sourceLineNo">630</span>            if (cr == CR_NORMAL)<a name="line.630"></a>
-<span class="sourceLineNo">631</span>               out.ie(i+1);<a name="line.631"></a>
-<span class="sourceLineNo">632</span>            out.eTag("li").nl(i+1);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>         }<a name="line.633"></a>
-<span class="sourceLineNo">634</span>         out.ie(i).eTag("ul").nl(i);<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      }<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   }<a name="line.636"></a>
-<span class="sourceLineNo">637</span><a name="line.637"></a>
-<span class="sourceLineNo">638</span>   private static HtmlRender&lt;?&gt; getRender(HtmlSerializerSession session, BeanPropertyMeta pMeta, Object value) {<a name="line.638"></a>
-<span class="sourceLineNo">639</span>      if (pMeta == null)<a name="line.639"></a>
-<span class="sourceLineNo">640</span>         return null;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      HtmlBeanPropertyMeta hpMeta = pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      HtmlRender&lt;?&gt; render = hpMeta.getRender();<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      if (render != null)<a name="line.643"></a>
-<span class="sourceLineNo">644</span>         return render;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      ClassMeta&lt;?&gt; cMeta = session.getClassMetaForObject(value);<a name="line.645"></a>
-<span class="sourceLineNo">646</span>      render = cMeta == null ? null : cMeta.getExtendedMeta(HtmlClassMeta.class).getRender();<a name="line.646"></a>
-<span class="sourceLineNo">647</span>      return render;<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>   @SuppressWarnings({"rawtypes","unchecked"})<a name="line.650"></a>
-<span class="sourceLineNo">651</span>   private static String getStyle(HtmlSerializerSession session, BeanPropertyMeta pMeta, Object value) {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      HtmlRender render = getRender(session, pMeta, value);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      return render == null ? null : render.getStyle(session, value);<a name="line.653"></a>
-<span class="sourceLineNo">654</span>   }<a name="line.654"></a>
-<span class="sourceLineNo">655</span><a name="line.655"></a>
-<span class="sourceLineNo">656</span>   private static String getLink(BeanPropertyMeta pMeta) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      return pMeta == null ? null : pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).getLink();<a name="line.657"></a>
+<span class="sourceLineNo">569</span>            if (typeName != null &amp;&amp; eType.getElementType() != cm)<a name="line.569"></a>
+<span class="sourceLineNo">570</span>               out.attr(typeProperty, typeName);<a name="line.570"></a>
+<span class="sourceLineNo">571</span>            out.cTag().nl(i+2);<a name="line.571"></a>
+<span class="sourceLineNo">572</span><a name="line.572"></a>
+<span class="sourceLineNo">573</span>            if (cm == null) {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>               serializeAnything(session, out, o, null, null, 1, null, false);<a name="line.574"></a>
+<span class="sourceLineNo">575</span><a name="line.575"></a>
+<span class="sourceLineNo">576</span>            } else if (cm.isMap() &amp;&amp; ! (cm.isBeanMap())) {<a name="line.576"></a>
+<span class="sourceLineNo">577</span>               Map m2 = session.sort((Map)o);<a name="line.577"></a>
+<span class="sourceLineNo">578</span><a name="line.578"></a>
+<span class="sourceLineNo">579</span>               for (Object k : th) {<a name="line.579"></a>
+<span class="sourceLineNo">580</span>                  out.sTag(i+2, "td");<a name="line.580"></a>
+<span class="sourceLineNo">581</span>                  ContentResult cr = serializeAnything(session, out, m2.get(k), eType.getElementType(), session.toString(k), 2, null, false);<a name="line.581"></a>
+<span class="sourceLineNo">582</span>                  if (cr == CR_NORMAL)<a name="line.582"></a>
+<span class="sourceLineNo">583</span>                     out.i(i+2);<a name="line.583"></a>
+<span class="sourceLineNo">584</span>                  out.eTag("td").nl(i+2);<a name="line.584"></a>
+<span class="sourceLineNo">585</span>               }<a name="line.585"></a>
+<span class="sourceLineNo">586</span>            } else {<a name="line.586"></a>
+<span class="sourceLineNo">587</span>               BeanMap m2 = null;<a name="line.587"></a>
+<span class="sourceLineNo">588</span>               if (o instanceof BeanMap)<a name="line.588"></a>
+<span class="sourceLineNo">589</span>                  m2 = (BeanMap)o;<a name="line.589"></a>
+<span class="sourceLineNo">590</span>               else<a name="line.590"></a>
+<span class="sourceLineNo">591</span>                  m2 = session.toBeanMap(o);<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span>               for (Object k : th) {<a name="line.593"></a>
+<span class="sourceLineNo">594</span>                  BeanMapEntry p = m2.getProperty(session.toString(k));<a name="line.594"></a>
+<span class="sourceLineNo">595</span>                  BeanPropertyMeta pMeta = p.getMeta();<a name="line.595"></a>
+<span class="sourceLineNo">596</span>                  String link = pMeta.getClassMeta().isCollectionOrArray() ? null : getLink(pMeta);<a name="line.596"></a>
+<span class="sourceLineNo">597</span>                  Object value = p.getValue();<a name="line.597"></a>
+<span class="sourceLineNo">598</span>                  String style = getStyle(session, pMeta, value);<a name="line.598"></a>
+<span class="sourceLineNo">599</span>                  out.oTag(i+2, "td");<a name="line.599"></a>
+<span class="sourceLineNo">600</span>                  if (style != null)<a name="line.600"></a>
+<span class="sourceLineNo">601</span>                     out.attr("style", style);<a name="line.601"></a>
+<span class="sourceLineNo">602</span>                  out.cTag();<a name="line.602"></a>
+<span class="sourceLineNo">603</span>                  if (link != null)<a name="line.603"></a>
+<span class="sourceLineNo">604</span>                     out.oTag("a").attrUri("href", m2.resolveVars(link)).cTag();<a name="line.604"></a>
+<span class="sourceLineNo">605</span>                  ContentResult cr = serializeAnything(session, out, value, pMeta.getClassMeta(), p.getKey().toString(), 2, pMeta, false);<a name="line.605"></a>
+<span class="sourceLineNo">606</span>                  if (cr == CR_NORMAL)<a name="line.606"></a>
+<span class="sourceLineNo">607</span>                     out.i(i+2);<a name="line.607"></a>
+<span class="sourceLineNo">608</span>                  if (link != null)<a name="line.608"></a>
+<span class="sourceLineNo">609</span>                     out.eTag("a");<a name="line.609"></a>
+<span class="sourceLineNo">610</span>                  out.eTag("td").nl(i+2);<a name="line.610"></a>
+<span class="sourceLineNo">611</span>               }<a name="line.611"></a>
+<span class="sourceLineNo">612</span>            }<a name="line.612"></a>
+<span class="sourceLineNo">613</span>            out.ie(i+1).eTag("tr").nl(i+1);<a name="line.613"></a>
+<span class="sourceLineNo">614</span>         }<a name="line.614"></a>
+<span class="sourceLineNo">615</span>         out.ie(i).eTag("table").nl(i);<a name="line.615"></a>
+<span class="sourceLineNo">616</span><a name="line.616"></a>
+<span class="sourceLineNo">617</span>      } else {<a name="line.617"></a>
+<span class="sourceLineNo">618</span>         out.oTag(i, "ul");<a name="line.618"></a>
+<span class="sourceLineNo">619</span>         if (! type2.equals("array"))<a name="line.619"></a>
+<span class="sourceLineNo">620</span>            out.attr(btpn, type2);<a name="line.620"></a>
+<span class="sourceLineNo">621</span>         out.append('&gt;').nl(i+1);<a name="line.621"></a>
+<span class="sourceLineNo">622</span>         for (Object o : c) {<a name="line.622"></a>
+<span class="sourceLineNo">623</span>            out.oTag(i+1, "li");<a name="line.623"></a>
+<span class="sourceLineNo">624</span>            String style = getStyle(session, ppMeta, o);<a name="line.624"></a>
+<span class="sourceLineNo">625</span>            String link = getLink(ppMeta);<a name="line.625"></a>
+<span class="sourceLineNo">626</span>            if (style != null)<a name="line.626"></a>
+<span class="sourceLineNo">627</span>               out.attr("style", style);<a name="line.627"></a>
+<span class="sourceLineNo">628</span>            out.cTag();<a name="line.628"></a>
+<span class="sourceLineNo">629</span>            if (link != null)<a name="line.629"></a>
+<span class="sourceLineNo">630</span>               out.oTag(i+2, "a").attrUri("href", link.replace("{#}", StringUtils.toString(o))).cTag();<a name="line.630"></a>
+<span class="sourceLineNo">631</span>            ContentResult cr = serializeAnything(session, out, o, eType.getElementType(), name, 1, null, false);<a name="line.631"></a>
+<span class="sourceLineNo">632</span>            if (link != null)<a name="line.632"></a>
+<span class="sourceLineNo">633</span>               out.eTag("a");<a name="line.633"></a>
+<span class="sourceLineNo">634</span>            if (cr == CR_NORMAL)<a name="line.634"></a>
+<span class="sourceLineNo">635</span>               out.ie(i+1);<a name="line.635"></a>
+<span class="sourceLineNo">636</span>            out.eTag("li").nl(i+1);<a name="line.636"></a>
+<span class="sourceLineNo">637</span>         }<a name="line.637"></a>
+<span class="sourceLineNo">638</span>         out.ie(i).eTag("ul").nl(i);<a name="line.638"></a>
+<span class="sourceLineNo">639</span>      }<a name="line.639"></a>
+<span class="sourceLineNo">640</span>   }<a name="line.640"></a>
+<span class="sourceLineNo">641</span><a name="line.641"></a>
+<span class="sourceLineNo">642</span>   private static HtmlRender&lt;?&gt; getRender(HtmlSerializerSession session, BeanPropertyMeta pMeta, Object value) {<a name="line.642"></a>
+<span class="sourceLineNo">643</span>      if (pMeta == null)<a name="line.643"></a>
+<span class="sourceLineNo">644</span>         return null;<a name="line.644"></a>
+<span class="sourceLineNo">645</span>      HtmlBeanPropertyMeta hpMeta = pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class);<a name="line.645"></a>
+<span class="sourceLineNo">646</span>      HtmlRender&lt;?&gt; render = hpMeta.getRender();<a name="line.646"></a>
+<span class="sourceLineNo">647</span>      if (render != null)<a name="line.647"></a>
+<span class="sourceLineNo">648</span>         return render;<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      ClassMeta&lt;?&gt; cMeta = session.getClassMetaForObject(value);<a name="line.649"></a>
+<span class="sourceLineNo">650</span>      render = cMeta == null ? null : cMeta.getExtendedMeta(HtmlClassMeta.class).getRender();<a name="line.650"></a>
+<span class="sourceLineNo">651</span>      return render;<a name="line.651"></a>
+<span class="sourceLineNo">652</span>   }<a name="line.652"></a>
+<span class="sourceLineNo">653</span><a name="line.653"></a>
+<span class="sourceLineNo">654</span>   @SuppressWarnings({"rawtypes","unchecked"})<a name="line.654"></a>
+<span class="sourceLineNo">655</span>   private static String getStyle(HtmlSerializerSession session, BeanPropertyMeta pMeta, Object value) {<a name="line.655"></a>
+<span class="sourceLineNo">656</span>      HtmlRender render = getRender(session, pMeta, value);<a name="line.656"></a>
+<span class="sourceLineNo">657</span>      return render == null ? null : render.getStyle(session, value);<a name="line.657"></a>
 <span class="sourceLineNo">658</span>   }<a name="line.658"></a>
 <span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>   /*<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    * Returns the table column headers for the specified collection of objects.<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    * Returns null if collection should not be serialized as a 2-dimensional table.<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    * 2-dimensional tables are used for collections of objects that all have the same set of property names.<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    */<a name="line.664"></a>
-<span class="sourceLineNo">665</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.665"></a>
-<span class="sourceLineNo">666</span>   private static Object[] getTableHeaders(SerializerSession session, Collection c, HtmlBeanPropertyMeta hbpMeta) throws Exception {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      if (c.size() == 0)<a name="line.667"></a>
-<span class="sourceLineNo">668</span>         return null;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      c = session.sort(c);<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      Object[] th;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      Set&lt;ClassMeta&gt; prevC = new HashSet&lt;ClassMeta&gt;();<a name="line.671"></a>
-<span class="sourceLineNo">672</span>      Object o1 = null;<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      for (Object o : c)<a name="line.673"></a>
-<span class="sourceLineNo">674</span>         if (o != null) {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>            o1 = o;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>            break;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>         }<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      if (o1 == null)<a name="line.678"></a>
-<span class="sourceLineNo">679</span>         return null;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      ClassMeta&lt;?&gt; cm = session.getClassMetaForObject(o1);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      if (cm.getPojoSwap() != null) {<a name="line.681"></a>
-<span class="sourceLineNo">682</span>         PojoSwap f = cm.getPojoSwap();<a name="line.682"></a>
-<span class="sourceLineNo">683</span>         o1 = f.swap(session, o1);<a name="line.683"></a>
-<span class="sourceLineNo">684</span>         cm = cm.getSerializedClassMeta();<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      }<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      if (cm == null || ! cm.isMapOrBean())<a name="line.686"></a>
-<span class="sourceLineNo">687</span>         return null;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      if (cm.getInnerClass().isAnnotationPresent(HtmlLink.class))<a name="line.688"></a>
-<span class="sourceLineNo">689</span>         return null;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      HtmlClassMeta h = cm.getExtendedMeta(HtmlClassMeta.class);<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      if (h.isNoTables() || (hbpMeta != null &amp;&amp; hbpMeta.isNoTables()))<a name="line.691"></a>
-<span class="sourceLineNo">692</span>         return null;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      if (h.isNoTableHeaders() || (hbpMeta != null &amp;&amp; hbpMeta.isNoTableHeaders()))<a name="line.693"></a>
-<span class="sourceLineNo">694</span>         return new Object[0];<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      if (session.canIgnoreValue(cm, null, o1))<a name="line.695"></a>
+<span class="sourceLineNo">660</span>   private static String getLink(BeanPropertyMeta pMeta) {<a name="line.660"></a>
+<span class="sourceLineNo">661</span>      return pMeta == null ? null : pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).getLink();<a name="line.661"></a>
+<span class="sourceLineNo">662</span>   }<a name="line.662"></a>
+<span class="sourceLineNo">663</span><a name="line.663"></a>
+<span class="sourceLineNo">664</span>   /*<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    * Returns the table column headers for the specified collection of objects.<a name="line.665"></a>
+<span class="sourceLineNo">666</span>    * Returns null if collection should not be serialized as a 2-dimensional table.<a name="line.666"></a>
+<span class="sourceLineNo">667</span>    * 2-dimensional tables are used for collections of objects that all have the same set of property names.<a name="line.667"></a>
+<span class="sourceLineNo">668</span>    */<a name="line.668"></a>
+<span class="sourceLineNo">669</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.669"></a>
+<span class="sourceLineNo">670</span>   private static Object[] getTableHeaders(SerializerSession session, Collection c, HtmlBeanPropertyMeta hbpMeta) throws Exception {<a name="line.670"></a>
+<span class="sourceLineNo">671</span>      if (c.size() == 0)<a name="line.671"></a>
+<span class="sourceLineNo">672</span>         return null;<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      c = session.sort(c);<a name="line.673"></a>
+<span class="sourceLineNo">674</span>      Object[] th;<a name="line.674"></a>
+<span class="sourceLineNo">675</span>      Set&lt;ClassMeta&gt; prevC = new HashSet&lt;ClassMeta&gt;();<a name="line.675"></a>
+<span class="sourceLineNo">676</span>      Object o1 = null;<a name="line.676"></a>
+<span class="sourceLineNo">677</span>      for (Object o : c)<a name="line.677"></a>
+<span class="sourceLineNo">678</span>         if (o != null) {<a name="line.678"></a>
+<span class="sourceLineNo">679</span>            o1 = o;<a name="line.679"></a>
+<span class="sourceLineNo">680</span>            break;<a name="line.680"></a>
+<span class="sourceLineNo">681</span>         }<a name="line.681"></a>
+<span class="sourceLineNo">682</span>      if (o1 == null)<a name="line.682"></a>
+<span class="sourceLineNo">683</span>         return null;<a name="line.683"></a>
+<span class="sourceLineNo">684</span>      ClassMeta&lt;?&gt; cm = session.getClassMetaForObject(o1);<a name="line.684"></a>
+<span class="sourceLineNo">685</span>      if (cm.getPojoSwap() != null) {<a name="line.685"></a>
+<span class="sourceLineNo">686</span>         PojoSwap f = cm.getPojoSwap();<a name="line.686"></a>
+<span class="sourceLineNo">687</span>         o1 = f.swap(session, o1);<a name="line.687"></a>
+<span class="sourceLineNo">688</span>         cm = cm.getSerializedClassMeta();<a name="line.688"></a>
+<span class="sourceLineNo">689</span>      }<a name="line.689"></a>
+<span class="sourceLineNo">690</span>      if (cm == null || ! cm.isMapOrBean())<a name="line.690"></a>
+<span class="sourceLineNo">691</span>         return null;<a name="line.691"></a>
+<span class="sourceLineNo">692</span>      if (cm.getInnerClass().isAnnotationPresent(HtmlLink.class))<a name="line.692"></a>
+<span class="sourceLineNo">693</span>         return null;<a name="line.693"></a>
+<span class="sourceLineNo">694</span>      HtmlClassMeta h = cm.getExtendedMeta(HtmlClassMeta.class);<a name="line.694"></a>
+<span class="sourceLineNo">695</span>      if (h.isNoTables() || (hbpMeta != null &amp;&amp; hbpMeta.isNoTables()))<a name="line.695"></a>
 <span class="sourceLineNo">696</span>         return null;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      if (cm.isMap() &amp;&amp; ! cm.isBeanMap()) {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>         Set&lt;Object&gt; set = new LinkedHashSet&lt;Object&gt;();<a name="line.698"></a>
-<span class="sourceLineNo">699</span>         for (Object o : c) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>            if (! session.canIgnoreValue(cm, null, o)) {<a name="line.700"></a>
-<span class="sourceLineNo">701</span>               if (! cm.isInstance(o))<a name="line.701"></a>
-<span class="sourceLineNo">702</span>                  return null;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>               Map m = session.sort((Map)o);<a name="line.703"></a>
-<span class="sourceLineNo">704</span>               for (Map.Entry e : (Set&lt;Map.Entry&gt;)m.entrySet()) {<a name="line.704"></a>
-<span class="sourceLineNo">705</span>                  if (e.getValue() != null)<a name="line.705"></a>
-<span class="sourceLineNo">706</span>                     set.add(e.getKey() == null ? null : e.getKey());<a name="line.706"></a>
-<span class="sourceLineNo">707</span>               }<a name="line.707"></a>
-<span class="sourceLineNo">708</span>            }<a name="line.708"></a>
-<span class="sourceLineNo">709</span>         }<a name="line.709"></a>
-<span class="sourceLineNo">710</span>         th = set.toArray(new Object[set.size()]);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      } else {<a name="line.711"></a>
-<span class="sourceLineNo">712</span>         Map&lt;String,Boolean&gt; m = new LinkedHashMap&lt;String,Boolean&gt;();<a name="line.712"></a>
-<span class="sourceLineNo">713</span>         for (Object o : c) {<a name="line.713"></a>
-<span class="sourceLineNo">714</span>            if (! session.canIgnoreValue(cm, null, o)) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>               if (! cm.isInstance(o))<a name="line.715"></a>
-<span class="sourceLineNo">716</span>                  return null;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>               BeanMap&lt;?&gt; bm = (o instanceof BeanMap ? (BeanMap)o : session.toBeanMap(o));<a name="line.717"></a>
-<span class="sourceLineNo">718</span>               for (Map.Entry&lt;String,Object&gt; e : bm.entrySet()) {<a name="line.718"></a>
-<span class="sourceLineNo">719</span>                  String key = e.getKey();<a name="line.719"></a>
-<span class="sourceLineNo">720</span>                  if (e.getValue() != null)<a name="line.720"></a>
-<span class="sourceLineNo">721</span>                     m.put(key, true);<a name="line.721"></a>
-<span class="sourceLineNo">722</span>                  else if (! m.containsKey(key))<a name="line.722"></a>
-<span class="sourceLineNo">723</span>                     m.put(key, false);<a name="line.723"></a>
-<span class="sourceLineNo">724</span>               }<a name="line.724"></a>
-<span class="sourceLineNo">725</span>            }<a name="line.725"></a>
-<span class="sourceLineNo">726</span>         }<a name="line.726"></a>
-<span class="sourceLineNo">727</span>         for (Iterator&lt;Boolean&gt; i = m.values().iterator(); i.hasNext();)<a name="line.727"></a>
-<span class="sourceLineNo">728</span>            if (! i.next())<a name="line.728"></a>
-<span class="sourceLineNo">729</span>               i.remove();<a name="line.729"></a>
-<span class="sourceLineNo">730</span>         th = m.keySet().toArray(new Object[m.size()]);<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>      prevC.add(cm);<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      boolean isSortable = true;<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      for (Object o : th)<a name="line.734"></a>
-<span class="sourceLineNo">735</span>         isSortable &amp;= (o instanceof Comparable);<a name="line.735"></a>
-<span class="sourceLineNo">736</span>      Set&lt;Object&gt; s = (isSortable ? new TreeSet&lt;Object&gt;() : new LinkedHashSet&lt;Object&gt;());<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      s.addAll(Arrays.asList(th));<a name="line.737"></a>
-<span class="sourceLineNo">738</span><a name="line.738"></a>
-<span class="sourceLineNo">739</span>      for (Object o : c) {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>         if (o == null)<a name="line.740"></a>
-<span class="sourceLineNo">741</span>            continue;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>         cm = session.getClassMetaForObject(o);<a name="line.742"></a>
-<span class="sourceLineNo">743</span>         if (cm != null &amp;&amp; cm.getPojoSwap() != null) {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>            PojoSwap f = cm.getPojoSwap();<a name="line.744"></a>
-<span class="sourceLineNo">745</span>            o = f.swap(session, o);<a name="line.745"></a>
-<span class="sourceLineNo">746</span>            cm = cm.getSerializedClassMeta();<a name="line.746"></a>
-<span class="sourceLineNo">747</span>         }<a name="line.747"></a>
-<span class="sourceLineNo">748</span>         if (prevC.contains(cm))<a name="line.748"></a>
-<span class="sourceLineNo">749</span>            continue;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>         if (cm == null || ! (cm.isMap() || cm.isBean()))<a name="line.750"></a>
-<span class="sourceLineNo">751</span>            return null;<a name="line.751"></a>
-<span class="sourceLineNo">752</span>         if (cm.getInnerClass().isAnnotationPresent(HtmlLink.class))<a name="line.752"></a>
-<span class="sourceLineNo">753</span>            return null;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>         if (session.canIgnoreValue(cm, null, o))<a name="line.754"></a>
+<span class="sourceLineNo">697</span>      if (h.isNoTableHeaders() || (hbpMeta != null &amp;&amp; hbpMeta.isNoTableHeaders()))<a name="line.697"></a>
+<span class="sourceLineNo">698</span>         return new Object[0];<a name="line.698"></a>
+<span class="sourceLineNo">699</span>      if (session.canIgnoreValue(cm, null, o1))<a name="line.699"></a>
+<span class="sourceLineNo">700</span>         return null;<a name="line.700"></a>
+<span class="sourceLineNo">701</span>      if (cm.isMap() &amp;&amp; ! cm.isBeanMap()) {<a name="line.701"></a>
+<span class="sourceLineNo">702</span>         Set&lt;Object&gt; set = new LinkedHashSet&lt;Object&gt;();<a name="line.702"></a>
+<span class="sourceLineNo">703</span>         for (Object o : c) {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>            if (! session.canIgnoreValue(cm, null, o)) {<a name="line.704"></a>
+<span class="sourceLineNo">705</span>               if (! cm.isInstance(o))<a name="line.705"></a>
+<span class="sourceLineNo">706</span>                  return null;<a name="line.706"></a>
+<span class="sourceLineNo">707</span>               Map m = session.sort((Map)o);<a name="line.707"></a>
+<span class="sourceLineNo">708</span>               for (Map.Entry e : (Set&lt;Map.Entry&gt;)m.entrySet()) {<a name="line.708"></a>
+<span class="sourceLineNo">709</span>                  if (e.getValue() != null)<a name="line.709"></a>
+<span class="sourceLineNo">710</span>                     set.add(e.getKey() == null ? null : e.getKey());<a name="line.710"></a>
+<span class="sourceLineNo">711</span>               }<a name="line.711"></a>
+<span class="sourceLineNo">712</span>            }<a name="line.712"></a>
+<span class="sourceLineNo">713</span>         }<a name="line.713"></a>
+<span class="sourceLineNo">714</span>         th = set.toArray(new Object[set.size()]);<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      } else {<a name="line.715"></a>
+<span class="sourceLineNo">716</span>         Map&lt;String,Boolean&gt; m = new LinkedHashMap&lt;String,Boolean&gt;();<a name="line.716"></a>
+<span class="sourceLineNo">717</span>         for (Object o : c) {<a name="line.717"></a>
+<span class="sourceLineNo">718</span>            if (! session.canIgnoreValue(cm, null, o)) {<a name="line.718"></a>
+<span class="sourceLineNo">719</span>               if (! cm.isInstance(o))<a name="line.719"></a>
+<span class="sourceLineNo">720</span>                  return null;<a name="line.720"></a>
+<span class="sourceLineNo">721</span>               BeanMap&lt;?&gt; bm = (o instanceof BeanMap ? (BeanMap)o : session.toBeanMap(o));<a name="line.721"></a>
+<span class="sourceLineNo">722</span>               for (Map.Entry&lt;String,Object&gt; e : bm.entrySet()) {<a name="line.722"></a>
+<span class="sourceLineNo">723</span>                  String key = e.getKey();<a name="line.723"></a>
+<span class="sourceLineNo">724</span>                  if (e.getValue() != null)<a name="line.724"></a>
+<span class="sourceLineNo">725</span>                     m.put(key, true);<a name="line.725"></a>
+<span class="sourceLineNo">726</span>                  else if (! m.containsKey(key))<a name="line.726"></a>
+<span class="sourceLineNo">727</span>                     m.put(key, false);<a name="line.727"></a>
+<span class="sourceLineNo">728</span>               }<a name="line.728"></a>
+<span class="sourceLineNo">729</span>            }<a name="line.729"></a>
+<span class="sourceLineNo">730</span>         }<a name="line.730"></a>
+<span class="sourceLineNo">731</span>         for (Iterator&lt;Boolean&gt; i = m.values().iterator(); i.hasNext();)<a name="line.731">

<TRUNCATED>


[17/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/annotation/HtmlDoc.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/annotation/HtmlDoc.html b/content/site/apidocs/org/apache/juneau/rest/annotation/HtmlDoc.html
index 3b15785..8067faf 100644
--- a/content/site/apidocs/org/apache/juneau/rest/annotation/HtmlDoc.html
+++ b/content/site/apidocs/org/apache/juneau/rest/annotation/HtmlDoc.html
@@ -131,8 +131,8 @@
       &lt;/head&gt;
       &lt;body&gt;
          &lt;header&gt;
-            &lt;h3 <xa>class</xa>=<xs>'title'</xs>&gt;<xv>Page title</xv>&lt;/h3&gt;
-            &lt;h5 <xa>class</xa>=<xs>'description'</xs>&gt;<xv>Page description</xv>&lt;/h5&gt;
+            &lt;h1&gt;<xv>Page title</xv>&lt;/h1&gt;
+            &lt;h2&gt;<xv>Page description</xv>&lt;/h2&gt;
             <xv>Arbitrary page branding</xv>
          &lt;/header&gt;
          &lt;nav&gt;
@@ -169,13 +169,13 @@
 <th class="colLast" scope="col">Optional Element and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html#aside--">aside</a></span></code>
 <div class="block">Sets the HTML aside section contents.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html#branding--">branding</a></span></code>
 <div class="block">Sets the HTML page branding in the header section of the page generated by the default HTML doc template.</div>
 </td>
@@ -187,25 +187,25 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html#footer--">footer</a></span></code>
 <div class="block">Sets the HTML footer section contents.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html#header--">header</a></span></code>
 <div class="block">Sets the HTML header section contents.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html#links--">links</a></span></code>
 <div class="block">Sets the links in the HTML nav section.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html#nav--">nav</a></span></code>
 <div class="block">Sets the HTML nav section contents.</div>
 </td>
@@ -223,13 +223,13 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html#script--">script</a></span></code>
 <div class="block">Sets the HTML script section contents.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html#style--">style</a></span></code>
 <div class="block">Sets the HTML CSS style section contents.</div>
 </td>
@@ -280,7 +280,7 @@
  The format of this value is HTML (phrasing content only).
 
  <p>
- It gets wrapped in a <code><xt>&lt;h3&gt; <xa>class</xa>=<xs>'title'</xs>&gt;</xt></code> element and then added
+ It gets wrapped in a <code><xt>&lt;h1&gt;</xt></code> element and then added
  to the <code><xt>&lt;header&gt;</code> section on the page.
 
  <p>
@@ -335,7 +335,7 @@
  The format of this value is HTML (phrasing content only).
 
  <p>
- It gets wrapped in a <code><xt>&lt;h5&gt; <xa>class</xa>=<xs>'description'</xs>&gt;</xt></code> element and then
+ It gets wrapped in a <code><xt>&lt;h2&gt;</xt></code> element and then
  added to the <code><xt>&lt;header&gt;</code> section on the page.
 
  <p>
@@ -385,7 +385,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>branding</h4>
-<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.187">branding</a></pre>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.190">branding</a></pre>
 <div class="block">Sets the HTML page branding in the header section of the page generated by the default HTML doc template.
 
  <p>
@@ -401,11 +401,14 @@
  A value of <js>"NONE"</js> can be used to force no value.
 
  <p>
+ Multiple values are combined with newlines into a single string.
+
+ <p>
  The programmatic equivalent to this annotation are the
  <a href="../../../../../org/apache/juneau/rest/RestConfig.html#setHtmlBranding-java.lang.String-"><code>RestConfig.setHtmlBranding(String)</code></a>/<a href="../../../../../org/apache/juneau/rest/RestResponse.html#setHtmlBranding-java.lang.Object-"><code>RestResponse.setHtmlBranding(Object)</code></a> methods.</div>
 <dl>
 <dt>Default:</dt>
-<dd>""</dd>
+<dd>{}</dd>
 </dl>
 </li>
 </ul>
@@ -418,7 +421,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>header</h4>
-<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.221">header</a></pre>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.229">header</a></pre>
 <div class="block">Sets the HTML header section contents.
 
  <p>
@@ -432,7 +435,9 @@
  <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
-         header=<js>"&lt;p&gt;This is my REST interface&lt;/p&gt;"</js>
+         header={
+            <js>"&lt;p&gt;This is my REST interface&lt;/p&gt;"</js>
+         }
       )
    )
  </p>
@@ -447,11 +452,14 @@
  This field can contain variables (e.g. <js>"$L{my.localized.variable}"</js>).
 
  <p>
+ Multiple values are combined with newlines into a single string.
+
+ <p>
  The programmatic equivalent to this annotation are the
  <a href="../../../../../org/apache/juneau/rest/RestConfig.html#setHtmlHeader-java.lang.String-"><code>RestConfig.setHtmlHeader(String)</code></a>/<a href="../../../../../org/apache/juneau/rest/RestResponse.html#setHtmlHeader-java.lang.Object-"><code>RestResponse.setHtmlHeader(Object)</code></a> methods.</div>
 <dl>
 <dt>Default:</dt>
-<dd>""</dd>
+<dd>{}</dd>
 </dl>
 </li>
 </ul>
@@ -464,12 +472,16 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>links</h4>
-<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.255">links</a></pre>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.270">links</a></pre>
 <div class="block">Sets the links in the HTML nav section.
 
  <p>
- The format of this value is a lax-JSON map of key/value pairs where the keys are the link text and the values are
- relative (to the servlet) or absolute URLs.
+ The value is an array of strings with two possible values:
+ <ul>
+   <li>A key-value pair representing a hyperlink label and href:
+      <br><js>"google: http://google.com"</js>
+   <li>Arbitrary HTML.
+ </ul>
 
  <p>
  The page links are positioned immediately under the title and text.
@@ -478,7 +490,10 @@
  <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..',options:'servlet:/?method=OPTIONS'}"</js>
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
       )
    )
  </p>
@@ -494,10 +509,10 @@
 
  <p>
  The programmatic equivalent to this annotation are the
- <a href="../../../../../org/apache/juneau/rest/RestConfig.html#setHtmlLinks-java.lang.String-"><code>RestConfig.setHtmlLinks(String)</code></a>/<a href="../../../../../org/apache/juneau/rest/RestResponse.html#setHtmlLinks-java.lang.Object-"><code>RestResponse.setHtmlLinks(Object)</code></a> methods.</div>
+ <a href="../../../../../org/apache/juneau/rest/RestConfig.html#setHtmlLinks-java.lang.String:A-"><code>RestConfig.setHtmlLinks(String[])</code></a>/<a href="../../../../../org/apache/juneau/rest/RestResponse.html#setHtmlLinks-java.lang.String:A-"><code>RestResponse.setHtmlLinks(String[])</code></a> methods.</div>
 <dl>
 <dt>Default:</dt>
-<dd>""</dd>
+<dd>{}</dd>
 </dl>
 </li>
 </ul>
@@ -510,7 +525,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>nav</h4>
-<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.291">nav</a></pre>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.311">nav</a></pre>
 <div class="block">Sets the HTML nav section contents.
 
  <p>
@@ -526,7 +541,9 @@
  <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
-         nav=<js>"&lt;p&gt;Custom nav content&lt;/p&gt;"</js>
+         nav={
+            <js>"&lt;p&gt;Custom nav content&lt;/p&gt;"</js>
+         }
       )
    )
  </p>
@@ -541,11 +558,14 @@
  A value of <js>"NONE"</js> can be used to force no value.
 
  <p>
+ Multiple values are combined with newlines into a single string.
+
+ <p>
  The programmatic equivalent to this annotation are the
  <a href="../../../../../org/apache/juneau/rest/RestConfig.html#setHtmlNav-java.lang.String-"><code>RestConfig.setHtmlNav(String)</code></a>/<a href="../../../../../org/apache/juneau/rest/RestResponse.html#setHtmlNav-java.lang.Object-"><code>RestResponse.setHtmlNav(Object)</code></a> methods.</div>
 <dl>
 <dt>Default:</dt>
-<dd>""</dd>
+<dd>{}</dd>
 </dl>
 </li>
 </ul>
@@ -558,7 +578,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>aside</h4>
-<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.321">aside</a></pre>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.346">aside</a></pre>
 <div class="block">Sets the HTML aside section contents.
 
  <p>
@@ -571,7 +591,9 @@
  <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
-         aside=<js>"&lt;p&gt;Custom aside content&lt;/p&gt;"</js>
+         aside={
+            <js>"&lt;p&gt;Custom aside content&lt;/p&gt;"</js>
+         }
       )
    )
  </p>
@@ -583,11 +605,14 @@
  A value of <js>"NONE"</js> can be used to force no value.
 
  <p>
+ Multiple values are combined with newlines into a single string.
+
+ <p>
  The programmatic equivalent to this annotation are the
  <a href="../../../../../org/apache/juneau/rest/RestConfig.html#setHtmlAside-java.lang.String-"><code>RestConfig.setHtmlAside(String)</code></a>/<a href="../../../../../org/apache/juneau/rest/RestResponse.html#setHtmlAside-java.lang.Object-"><code>RestResponse.setHtmlAside(Object)</code></a> methods.</div>
 <dl>
 <dt>Default:</dt>
-<dd>""</dd>
+<dd>{}</dd>
 </dl>
 </li>
 </ul>
@@ -600,7 +625,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>footer</h4>
-<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.351">footer</a></pre>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.381">footer</a></pre>
 <div class="block">Sets the HTML footer section contents.
 
  <p>
@@ -613,7 +638,9 @@
  <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
-         footer=<js>"&lt;p&gt;Custom footer content&lt;/p&gt;"</js>
+         footer={
+            <js>"&lt;p&gt;Custom footer content&lt;/p&gt;"</js>
+         }
       )
    )
  </p>
@@ -625,11 +652,14 @@
  A value of <js>"NONE"</js> can be used to force no value.
 
  <p>
+ Multiple values are combined with newlines into a single string.
+
+ <p>
  The programmatic equivalent to this annotation are the
  <a href="../../../../../org/apache/juneau/rest/RestConfig.html#setHtmlFooter-java.lang.String-"><code>RestConfig.setHtmlFooter(String)</code></a>/<a href="../../../../../org/apache/juneau/rest/RestResponse.html#setHtmlFooter-java.lang.Object-"><code>RestResponse.setHtmlFooter(Object)</code></a> methods.</div>
 <dl>
 <dt>Default:</dt>
-<dd>""</dd>
+<dd>{}</dd>
 </dl>
 </li>
 </ul>
@@ -642,7 +672,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>style</h4>
-<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.378">style</a></pre>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.414">style</a></pre>
 <div class="block">Sets the HTML CSS style section contents.
 
  <p>
@@ -652,7 +682,10 @@
  <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
-         style=<js>".red{color:red;}\n.blue{color:blue}"</js>
+         style={
+            <js>".red{color:red;}"</js>,
+            <js>".blue{color:blue;}"</js>
+         }
       )
    )
  </p>
@@ -664,11 +697,14 @@
  A value of <js>"NONE"</js> can be used to force no value.
 
  <p>
+ Multiple values are combined with newlines into a single string.
+
+ <p>
  The programmatic equivalent to this annotation are the
  <a href="../../../../../org/apache/juneau/rest/RestConfig.html#setHtmlStyle-java.lang.String-"><code>RestConfig.setHtmlStyle(String)</code></a>/<a href="../../../../../org/apache/juneau/rest/RestResponse.html#setHtmlStyle-java.lang.Object-"><code>RestResponse.setHtmlStyle(Object)</code></a> methods.</div>
 <dl>
 <dt>Default:</dt>
-<dd>""</dd>
+<dd>{}</dd>
 </dl>
 </li>
 </ul>
@@ -681,7 +717,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>stylesheet</h4>
-<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.409">stylesheet</a></pre>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.445">stylesheet</a></pre>
 <div class="block">Sets the CSS URL in the HTML CSS style section.
 
  <p>
@@ -724,7 +760,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>script</h4>
-<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.436">script</a></pre>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.477">script</a></pre>
 <div class="block">Sets the HTML script section contents.
 
  <p>
@@ -734,7 +770,9 @@
  <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
-         script=<js>"alert('Hello!')"</js>
+         script={
+            <js>"alert('Hello!')"</js>
+         }
       )
    )
  </p>
@@ -746,11 +784,14 @@
  A value of <js>"NONE"</js> can be used to force no value.
 
  <p>
+ Multiple values are combined with newlines into a single string.
+
+ <p>
  The programmatic equivalent to this annotation are the
  <a href="../../../../../org/apache/juneau/rest/RestConfig.html#setHtmlScript-java.lang.String-"><code>RestConfig.setHtmlScript(String)</code></a>/<a href="../../../../../org/apache/juneau/rest/RestResponse.html#setHtmlScript-java.lang.Object-"><code>RestResponse.setHtmlScript(Object)</code></a> methods.</div>
 <dl>
 <dt>Default:</dt>
-<dd>""</dd>
+<dd>{}</dd>
 </dl>
 </li>
 </ul>
@@ -763,7 +804,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>nowrap</h4>
-<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.444">nowrap</a></pre>
+<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.485">nowrap</a></pre>
 <div class="block">Shorthand method for forcing the rendered HTML content to be no-wrap.
 
  <p>
@@ -783,7 +824,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>noResultsMessage</h4>
-<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.449">noResultsMessage</a></pre>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.490">noResultsMessage</a></pre>
 <div class="block">Specifies the text to display when serializing an empty array or collection.</div>
 <dl>
 <dt>Default:</dt>
@@ -800,7 +841,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>template</h4>
-<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.462">template</a></pre>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/HtmlDoc.html#line.503">template</a></pre>
 <div class="block">Specifies the template class to use for rendering the HTML page.
 
  <p>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/annotation/RestResource.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/annotation/RestResource.html b/content/site/apidocs/org/apache/juneau/rest/annotation/RestResource.html
index 4e97773..81913c1 100644
--- a/content/site/apidocs/org/apache/juneau/rest/annotation/RestResource.html
+++ b/content/site/apidocs/org/apache/juneau/rest/annotation/RestResource.html
@@ -1330,7 +1330,7 @@ public @interface <a href="../../../../../src-html/org/apache/juneau/rest/annota
 <ul class="blockListLast">
 <li class="blockList">
 <h4>htmldoc</h4>
-<pre>public abstract&nbsp;<a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html" title="annotation in org.apache.juneau.rest.annotation">HtmlDoc</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/RestResource.html#line.727">htmldoc</a></pre>
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/juneau/rest/annotation/HtmlDoc.html" title="annotation in org.apache.juneau.rest.annotation">HtmlDoc</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/annotation/RestResource.html#line.732">htmldoc</a></pre>
 <div class="block">Provides HTML-doc-specific metadata on this method.
 
  <p>
@@ -1344,19 +1344,24 @@ public @interface <a href="../../../../../src-html/org/apache/juneau/rest/annota
       // "servlet:/..." URIs are relative to the servlet URI.
       // "$C{...}" variables are pulled from the config file.</jc>
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..',options:'servlet:/?method=OPTIONS',source:'$C{Source/gitHub}/org/apache/juneau/examples/rest/addressbook/AddressBookResource.java'}"</js>,
-            aside=<js>""</js>
-               + <js>"&lt;div style='max-width:400px;min-width:200px'&gt;"</js>
-               + <js>"  &lt;p&gt;Proof-of-concept resource that shows off the capabilities of working with POJO resources.&lt;/p&gt;"</js>
-               + <js>"  &lt;p&gt;Provides examples of: &lt;/p&gt;"</js>
-               + <js>"     &lt;ul&gt;"</js>
-               + <js>"        &lt;li&gt;XML and RDF namespaces"</js>
-               + <js>"        &lt;li&gt;Swagger documentation"</js>
-               + <js>"        &lt;li&gt;Widgets"</js>
-               + <js>"     &lt;/ul&gt;"</js>
-               + <js>"  &lt;p style='text-weight:bold;text-decoration:underline;'&gt;Available Content Types&lt;/p&gt;"</js>
-               + <js>"  $W{contentTypeLinks}"</js>
-               + <js>"&lt;/div&gt;"</js>,
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>,
+            <js>"source: $C{Source/gitHub}/org/apache/juneau/examples/rest/addressbook/AddressBookResource.java"</js>,
+         },
+         aside={
+            <js>"&lt;div style='max-width:400px;min-width:200px'&gt;"</js>,
+            <js>" &lt;p&gt;Proof-of-concept resource that shows off the capabilities of working with POJO resources.&lt;/p&gt;"</js>,
+            <js>" &lt;p&gt;Provides examples of: &lt;/p&gt;"</js>,
+            <js>"    &lt;ul&gt;"</js>,
+            <js>"       &lt;li&gt;XML and RDF namespaces"</js>,
+            <js>"       &lt;li&gt;Swagger documentation"</js>,
+            <js>"       &lt;li&gt;Widgets"</js>,
+            <js>"    &lt;/ul&gt;"</js>,
+            <js>" &lt;p style='text-weight:bold;text-decoration:underline;'&gt;Available Content Types&lt;/p&gt;"</js>,
+            <js>" $W{contentTypeLinks}"</js>,
+            <js>"&lt;/div&gt;"</js>
+         },
          footer=<js>"$W{poweredByJuneau}"</js>
       ),
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/jena/RestServletJenaDefault.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/jena/RestServletJenaDefault.html b/content/site/apidocs/org/apache/juneau/rest/jena/RestServletJenaDefault.html
index 12df8ff..1c461e8 100644
--- a/content/site/apidocs/org/apache/juneau/rest/jena/RestServletJenaDefault.html
+++ b/content/site/apidocs/org/apache/juneau/rest/jena/RestServletJenaDefault.html
@@ -429,10 +429,10 @@ extends <a href="../../../../../org/apache/juneau/rest/RestServlet.html" title="
 <h4>getOptions</h4>
 <pre><a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html" title="annotation in org.apache.juneau.rest.annotation">@RestMethod</a>(<a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#name--">name</a>="OPTIONS",
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#path--">path</a>="/*",
+            <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#htmldoc--">htmldoc</a>=,
             <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#summary--">summary</a>="Resource options",
-            <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#description--">description</a>="Resource options",
-            <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#htmldoc--">htmldoc</a>=)
-public&nbsp;<a href="../../../../../org/apache/juneau/dto/swagger/Swagger.html" title="class in org.apache.juneau.dto.swagger">Swagger</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/jena/RestServletJenaDefault.html#line.270">getOptions</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)</pre>
+            <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html#description--">description</a>="Swagger documentation")
+public&nbsp;<a href="../../../../../org/apache/juneau/dto/swagger/Swagger.html" title="class in org.apache.juneau.dto.swagger">Swagger</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/jena/RestServletJenaDefault.html#line.275">getOptions</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)</pre>
 <div class="block">[OPTIONS /*] - Show resource options.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/package-summary.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/package-summary.html b/content/site/apidocs/org/apache/juneau/rest/package-summary.html
index 30a380f..6899a3c 100644
--- a/content/site/apidocs/org/apache/juneau/rest/package-summary.html
+++ b/content/site/apidocs/org/apache/juneau/rest/package-summary.html
@@ -549,7 +549,10 @@
    <ja>@RestResource</ja>(
       messages=<js>"nls/HelloWorldResource"</js>, 
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..',options:'servlet:/?method=OPTIONS'}"</js>
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
       )
    )
    <jk>public class</jk> HelloWorldResource <jk>extends</jk> Resource {
@@ -1493,7 +1496,10 @@
    <ja>@RestMethod</ja>(name=<js>"OPTIONS"</js>, path=<js>"/*"</js>,
       summary=<js>"Resource options"</js>,
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{back:'$R{servletURI}'}"</js>
+         links={
+            <js>"back: servlet:/,"</js>,
+            <js>"json: servlet:/?method=OPTIONS&amp;Accept=text/json&amp;plainText=true"</js>
+         }
       )
    )
    <jk>public</jk> Swagger getOptions(RestRequest req) {
@@ -2628,6 +2634,7 @@
       </p>  
       
       <h6 class='figure'>Contents of org/apache/juneau/server/samples/UrlEncodedForm.html</h6>
+      <b>TODO - Needs update</b>
       <p class='bcode'>
    <xt>&lt;html&gt;</xt> 
       <xt>&lt;head&gt;</xt> 
@@ -2636,8 +2643,8 @@
          <xt>&lt;/style&gt;</xt> 
       <xt>&lt;/head&gt;</xt> 
       <xt>&lt;body&gt;</xt> 
-         <xt>&lt;h3</xt> <xa>class</xa>=<xs>'title'</xs><xt>&gt;</xt>$R{servletTitle}<xt>&lt;/h3&gt;</xt> 
-         <xt>&lt;h5</xt> <xa>class</xa>=<xs>"description"</xs><xt>&gt;</xt>$R{servletDescription}<xt>&lt;/h5&gt;</xt> 
+         <xt>&lt;h1&gt;</xt>$R{servletTitle}<xt>&lt;/h1&gt;</xt> 
+         <xt>&lt;h2&gt;</xt>$R{servletDescription}<xt>&lt;/h2&gt;</xt> 
          <xt>&lt;div</xt> <xa>class</xa>=<xs>'data'</xs><xt>&gt;</xt> 
             <xt>&lt;form</xt> <xa>id</xa>=<xs>'form'</xs> <xa>action</xa>=<xs>'$R{servletURI}'</xs> <xa>method</xa>=<xs>'POST'</xs><xt>&gt;</xt> 
                <xt>&lt;table&gt;</xt> 
@@ -2674,7 +2681,10 @@
       title=<js>"URL-encoded Form Post Resource"</js>, 
       description=<js>"Shows how form posts are converted into beans."</js>, 
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..',options:'servlet:/?method=OPTIONS'}"</js> 
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         } 
       )
    ) 
    <jk>public class</jk> UrlEncodedFormResource <jk>extends</jk> Resource { 
@@ -3433,7 +3443,9 @@
       title=<js>"Photo REST service"</js>,
       description=<js>"Use a tool like Poster to upload and retrieve jpeg and png images."</js>,
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{options:'?method=OPTIONS'}"</js>
+         links={
+            <js>"options: ?method=OPTIONS"</js>
+         }
       )
    )
    <jk>public class</jk> PhotosResource <jk>extends</jk> RestServletDefault {
@@ -3743,8 +3755,12 @@
       // "servlet:/..." URIs are relative to the servlet URI.
       // "$C{...}" variables are pulled from the config file.</jc>
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'request:/..', options:'servlet:/?method=OPTIONS', source:'$C{Source/gitHub}/org/apache/juneau/examples/rest/addressbook/AddressBookResource.java'}"</js>
-      
+         links={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>,
+            <js>"source: $C{Source/gitHub}/org/apache/juneau/examples/rest/addressbook/AddressBookResource.java"</js>
+         },
+         
          <jc>// Our stylesheet for the HTML rendition.</jc>
          stylesheet=<js>"servlet:/styles/devops.css"</js>,
       ),

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/widget/ContentTypeMenuItem.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/widget/ContentTypeMenuItem.html b/content/site/apidocs/org/apache/juneau/rest/widget/ContentTypeMenuItem.html
index 6eff689..ba2a2cb 100644
--- a/content/site/apidocs/org/apache/juneau/rest/widget/ContentTypeMenuItem.html
+++ b/content/site/apidocs/org/apache/juneau/rest/widget/ContentTypeMenuItem.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/widget/ContentTypeMenuItem.html#line.48">ContentTypeMenuItem</a>
+<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/widget/ContentTypeMenuItem.html#line.56">ContentTypeMenuItem</a>
 extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.html" title="class in org.apache.juneau.rest.widget">MenuItemWidget</a></pre>
 <div class="block">Widget that returns back a list of hyperlinks for rendering the contents of a page in a variety of content types.
 
@@ -136,7 +136,14 @@ extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.htm
          ContentTypeMenuItem.<jk>class</jk>,
       },
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'...',options:'...',query:'...',contentTypes:'$W{contentTypeMenuItem}',source:'...'}"</js>
+         links={
+            <js>"up: ..."</js>,
+            <js>"options: ..."</js>,
+            <js>"$W{queryMenuItem}"</js>,
+            <js>"$W{contentTypeMenuItem}"</js>,
+            <js>"$W{styleMenuItem}"</js>,
+            <js>"source: ..."</js>
+         }
       )
    )
    <jk>public</jk> Collection&lt;Pet&gt; getPets() {
@@ -235,7 +242,7 @@ extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ContentTypeMenuItem</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/ContentTypeMenuItem.html#line.48">ContentTypeMenuItem</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/ContentTypeMenuItem.html#line.56">ContentTypeMenuItem</a>()</pre>
 </li>
 </ul>
 </li>
@@ -252,7 +259,7 @@ extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/ContentTypeMenuItem.html#line.54">getName</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/ContentTypeMenuItem.html#line.62">getName</a>()</pre>
 <div class="block">Returns <js>"contentTypeMenuItem"</js>.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -268,7 +275,7 @@ extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getHtml</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/ContentTypeMenuItem.html#line.63">getHtml</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/ContentTypeMenuItem.html#line.71">getHtml</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Looks at the supported media types from the request and constructs a list of hyperlinks to render the data
  as plain-text.</div>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/widget/QueryMenuItem.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/widget/QueryMenuItem.html b/content/site/apidocs/org/apache/juneau/rest/widget/QueryMenuItem.html
index e260c5c..4bc6ff4 100644
--- a/content/site/apidocs/org/apache/juneau/rest/widget/QueryMenuItem.html
+++ b/content/site/apidocs/org/apache/juneau/rest/widget/QueryMenuItem.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/widget/QueryMenuItem.html#line.60">QueryMenuItem</a>
+<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/widget/QueryMenuItem.html#line.67">QueryMenuItem</a>
 extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.html" title="class in org.apache.juneau.rest.widget">MenuItemWidget</a></pre>
 <div class="block">Widget that returns a menu-item drop-down form for entering search/view/sort arguments.
 
@@ -141,7 +141,14 @@ extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.htm
          QueryMenuItem.<jk>class</jk>,
       },
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'...',options:'...',query:'$W{queryMenuItem}',contentTypes:'...',source:'...'}"</js>
+         links={
+            <js>"up: ..."</js>,
+            <js>"options: ..."</js>,
+            <js>"$W{queryMenuItem}"</js>,
+            <js>"$W{contentTypeMenuItem}"</js>,
+            <js>"$W{styleMenuItem}"</js>,
+            <js>"source: ..."</js>
+         }
       ),
       converters=Queryable.<jk>class</jk>
    )
@@ -255,7 +262,7 @@ extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>QueryMenuItem</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/QueryMenuItem.html#line.60">QueryMenuItem</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/QueryMenuItem.html#line.67">QueryMenuItem</a>()</pre>
 </li>
 </ul>
 </li>
@@ -272,7 +279,7 @@ extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/QueryMenuItem.html#line.66">getName</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/QueryMenuItem.html#line.73">getName</a>()</pre>
 <div class="block">Returns <js>"queryMenuItem"</js>.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -288,7 +295,7 @@ extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getStyle</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/QueryMenuItem.html#line.74">getStyle</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/QueryMenuItem.html#line.81">getStyle</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Returns CSS for the tooltips.</div>
 <dl>
@@ -309,7 +316,7 @@ extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getHtml</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/QueryMenuItem.html#line.84">getHtml</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/QueryMenuItem.html#line.91">getHtml</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Returns the HTML for rendering the query form and tooltips.</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/widget/StyleMenuItem.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/widget/StyleMenuItem.html b/content/site/apidocs/org/apache/juneau/rest/widget/StyleMenuItem.html
index e7e98f4..7a694cf 100644
--- a/content/site/apidocs/org/apache/juneau/rest/widget/StyleMenuItem.html
+++ b/content/site/apidocs/org/apache/juneau/rest/widget/StyleMenuItem.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/widget/StyleMenuItem.html#line.41">StyleMenuItem</a>
+<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/widget/StyleMenuItem.html#line.48">StyleMenuItem</a>
 extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.html" title="class in org.apache.juneau.rest.widget">MenuItemWidget</a></pre>
 <div class="block">Widget that returns back a list of hyperlinks for rendering the contents of a page in the various default styles.
 
@@ -136,7 +136,14 @@ extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.htm
          StyleMenuItem.<jk>class</jk>,
       },
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{up:'...',options:'...',query:'...',contentTypes:'...',style='$W{styleMenuItem}',source:'...'}"</js>
+         links={
+            <js>"up: ..."</js>,
+            <js>"options: ..."</js>,
+            <js>"$W{queryMenuItem}"</js>,
+            <js>"$W{contentTypeMenuItem}"</js>,
+            <js>"$W{styleMenuItem}"</js>,
+            <js>"source: ..."</js>
+         }
       )
    )
    <jk>public</jk> Collection&lt;Pet&gt; getPets() {
@@ -231,7 +238,7 @@ extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>StyleMenuItem</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/StyleMenuItem.html#line.41">StyleMenuItem</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/StyleMenuItem.html#line.48">StyleMenuItem</a>()</pre>
 </li>
 </ul>
 </li>
@@ -248,7 +255,7 @@ extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/StyleMenuItem.html#line.49">getName</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/StyleMenuItem.html#line.56">getName</a>()</pre>
 <div class="block">Returns <js>"styleMenuItem"</js>.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -264,7 +271,7 @@ extends <a href="../../../../../org/apache/juneau/rest/widget/MenuItemWidget.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getHtml</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/StyleMenuItem.html#line.58">getHtml</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/StyleMenuItem.html#line.65">getHtml</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Looks at the supported media types from the request and constructs a list of hyperlinks to render the data
  as plain-text.</div>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/widget/Widget.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/widget/Widget.html b/content/site/apidocs/org/apache/juneau/rest/widget/Widget.html
index fbaad44..33ef211 100644
--- a/content/site/apidocs/org/apache/juneau/rest/widget/Widget.html
+++ b/content/site/apidocs/org/apache/juneau/rest/widget/Widget.html
@@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public abstract class <a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.116">Widget</a>
+<pre>public abstract class <a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.120">Widget</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Defines an interface for resolvers of <js>"$W{...}"</js> string variables.
 
@@ -143,8 +143,12 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
          MyWidget.<jk>class</jk>
       }
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{mylink:'$W{myWidget}'}"</js>,
-         aside=<js>"Check out this widget:  $W{myWidget}"</js>
+         links={
+            <js>"$W{myWidget}"</js>
+         },
+         aside={
+            <js>"Check out this widget:  $W{myWidget}"</js>
+         }
       )
    )
  </p>
@@ -327,7 +331,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Widget</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.116">Widget</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.120">Widget</a>()</pre>
 </li>
 </ul>
 </li>
@@ -344,7 +348,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.131">getName</a>()</pre>
+<pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.135">getName</a>()</pre>
 <div class="block">The widget key.
 
  <p>
@@ -364,7 +368,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getHtml</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.143">getHtml</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.147">getHtml</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Resolves the HTML content for this widget.
 
@@ -386,7 +390,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getScript</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.157">getScript</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.161">getScript</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Resolves any Javascript that should be added to the <xt>&lt;head&gt;/&lt;script&gt;</xt> element.
 
@@ -408,7 +412,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStyle</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.171">getStyle</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.175">getStyle</a>(<a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)
                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Resolves any CSS styles that should be added to the <xt>&lt;head&gt;/&lt;style&gt;</xt> element.
 
@@ -430,7 +434,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getResourceAsString</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.190">getResourceAsString</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.194">getResourceAsString</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Retrieves the specified classpath resource and returns the contents as a string.
 
@@ -457,7 +461,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getResourceAsString</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.213">getResourceAsString</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.217">getResourceAsString</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                      <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;locale)
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Same as <a href="../../../../../org/apache/juneau/rest/widget/Widget.html#getResourceAsString-java.lang.String-"><code>getResourceAsString(String)</code></a> except also looks for localized-versions of the file.
@@ -488,7 +492,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>loadScript</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.228">loadScript</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.232">loadScript</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Convenience method for calling <a href="../../../../../org/apache/juneau/rest/widget/Widget.html#getResourceAsString-java.lang.String-"><code>getResourceAsString(String)</code></a> except also strips Javascript comments from
  the file.
@@ -511,7 +515,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>loadStyle</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.246">loadStyle</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.250">loadStyle</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Convenience method for calling <a href="../../../../../org/apache/juneau/rest/widget/Widget.html#getResourceAsString-java.lang.String-"><code>getResourceAsString(String)</code></a> except also strips CSS comments from
  the file.
@@ -534,7 +538,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>loadHtml</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.264">loadHtml</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/widget/Widget.html#line.268">loadHtml</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Convenience method for calling <a href="../../../../../org/apache/juneau/rest/widget/Widget.html#getResourceAsString-java.lang.String-"><code>getResourceAsString(String)</code></a> except also strips HTML comments from the
  file.


[15/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/ObjectMap.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/ObjectMap.html b/content/site/apidocs/src-html/org/apache/juneau/ObjectMap.html
index f02d7d8..301f0de 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/ObjectMap.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/ObjectMap.html
@@ -662,740 +662,746 @@
 <span class="sourceLineNo">654</span>      Object s = get(Object.class, key);<a name="line.654"></a>
 <span class="sourceLineNo">655</span>      if (s == null)<a name="line.655"></a>
 <span class="sourceLineNo">656</span>         return def;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      if (s instanceof Collection)<a name="line.657"></a>
-<span class="sourceLineNo">658</span>         return ArrayUtils.toStringArray((Collection&lt;?&gt;)s);<a name="line.658"></a>
-<span class="sourceLineNo">659</span>      String[] r = split(StringUtils.toString(s));<a name="line.659"></a>
-<span class="sourceLineNo">660</span>      return (r.length == 0 ? def : r);<a name="line.660"></a>
-<span class="sourceLineNo">661</span>   }<a name="line.661"></a>
-<span class="sourceLineNo">662</span><a name="line.662"></a>
-<span class="sourceLineNo">663</span>   /**<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    * Returns the specified entry value converted to a {@link String}.<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>    * Shortcut for &lt;code&gt;get(String.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    *<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    * @param key The key.<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    */<a name="line.672"></a>
-<span class="sourceLineNo">673</span>   public String getString(String key, String defVal) {<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      return get(String.class, key, defVal);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>   }<a name="line.675"></a>
-<span class="sourceLineNo">676</span><a name="line.676"></a>
-<span class="sourceLineNo">677</span>   /**<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    * Returns the specified entry value converted to an {@link Integer}.<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    *<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    * &lt;p&gt;<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    * Shortcut for &lt;code&gt;get(Integer.&lt;jk&gt;class&lt;/jk&gt;, key)&lt;/code&gt;.<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    *<a name="line.682"></a>
-<span class="sourceLineNo">683</span>    * @param key The key.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>    * @return The converted value, or &lt;jk&gt;null&lt;/jk&gt; if the map contains no mapping for this key.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    */<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   public Integer getInt(String key) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      return get(Integer.class, key);<a name="line.688"></a>
-<span class="sourceLineNo">689</span>   }<a name="line.689"></a>
-<span class="sourceLineNo">690</span><a name="line.690"></a>
-<span class="sourceLineNo">691</span>   /**<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    * Returns the specified entry value converted to an {@link Integer}.<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>    * Shortcut for &lt;code&gt;get(Integer.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.695"></a>
-<span class="sourceLineNo">696</span>    *<a name="line.696"></a>
-<span class="sourceLineNo">697</span>    * @param key The key.<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.699"></a>
-<span class="sourceLineNo">700</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    */<a name="line.701"></a>
-<span class="sourceLineNo">702</span>   public Integer getInt(String key, Integer defVal) {<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      return get(Integer.class, key, defVal);<a name="line.703"></a>
-<span class="sourceLineNo">704</span>   }<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>   /**<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    * Returns the specified entry value converted to a {@link Long}.<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    *<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    * &lt;p&gt;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>    * Shortcut for &lt;code&gt;get(Long.&lt;jk&gt;class&lt;/jk&gt;, key)&lt;/code&gt;.<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    *<a name="line.711"></a>
-<span class="sourceLineNo">712</span>    * @param key The key.<a name="line.712"></a>
-<span class="sourceLineNo">713</span>    * @return The converted value, or &lt;jk&gt;null&lt;/jk&gt; if the map contains no mapping for this key.<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.714"></a>
-<span class="sourceLineNo">715</span>    */<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   public Long getLong(String key) {<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      return get(Long.class, key);<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   }<a name="line.718"></a>
-<span class="sourceLineNo">719</span><a name="line.719"></a>
-<span class="sourceLineNo">720</span>   /**<a name="line.720"></a>
-<span class="sourceLineNo">721</span>    * Returns the specified entry value converted to a {@link Long}.<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    *<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    * &lt;p&gt;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    * Shortcut for &lt;code&gt;get(Long.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.724"></a>
-<span class="sourceLineNo">725</span>    *<a name="line.725"></a>
-<span class="sourceLineNo">726</span>    * @param key The key.<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.728"></a>
-<span class="sourceLineNo">729</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    */<a name="line.730"></a>
-<span class="sourceLineNo">731</span>   public Long getLong(String key, Long defVal) {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>      return get(Long.class, key, defVal);<a name="line.732"></a>
-<span class="sourceLineNo">733</span>   }<a name="line.733"></a>
-<span class="sourceLineNo">734</span><a name="line.734"></a>
-<span class="sourceLineNo">735</span>   /**<a name="line.735"></a>
-<span class="sourceLineNo">736</span>    * Returns the specified entry value converted to a {@link Boolean}.<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>    * Shortcut for &lt;code&gt;get(Boolean.&lt;jk&gt;class&lt;/jk&gt;, key)&lt;/code&gt;.<a name="line.739"></a>
-<span class="sourceLineNo">740</span>    *<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    * @param key The key.<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    * @return The converted value, or &lt;jk&gt;null&lt;/jk&gt; if the map contains no mapping for this key.<a name="line.742"></a>
-<span class="sourceLineNo">743</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    */<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   public Boolean getBoolean(String key) {<a name="line.745"></a>
-<span class="sourceLineNo">746</span>      return get(Boolean.class, key);<a name="line.746"></a>
-<span class="sourceLineNo">747</span>   }<a name="line.747"></a>
-<span class="sourceLineNo">748</span><a name="line.748"></a>
-<span class="sourceLineNo">749</span>   /**<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    * Returns the specified entry value converted to a {@link Boolean}.<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    *<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    * &lt;p&gt;<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    * Shortcut for &lt;code&gt;get(Boolean.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    *<a name="line.754"></a>
-<span class="sourceLineNo">755</span>    * @param key The key.<a name="line.755"></a>
-<span class="sourceLineNo">756</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.756"></a>
-<span class="sourceLineNo">757</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    */<a name="line.759"></a>
-<span class="sourceLineNo">760</span>   public Boolean getBoolean(String key, Boolean defVal) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      return get(Boolean.class, key, defVal);<a name="line.761"></a>
-<span class="sourceLineNo">762</span>   }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>   /**<a name="line.764"></a>
-<span class="sourceLineNo">765</span>    * Returns the specified entry value converted to a {@link Map}.<a name="line.765"></a>
-<span class="sourceLineNo">766</span>    *<a name="line.766"></a>
-<span class="sourceLineNo">767</span>    * &lt;p&gt;<a name="line.767"></a>
-<span class="sourceLineNo">768</span>    * Shortcut for &lt;code&gt;get(Map.&lt;jk&gt;class&lt;/jk&gt;, key)&lt;/code&gt;.<a name="line.768"></a>
-<span class="sourceLineNo">769</span>    *<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    * @param key The key.<a name="line.770"></a>
-<span class="sourceLineNo">771</span>    * @return The converted value, or &lt;jk&gt;null&lt;/jk&gt; if the map contains no mapping for this key.<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.772"></a>
-<span class="sourceLineNo">773</span>    */<a name="line.773"></a>
-<span class="sourceLineNo">774</span>   public Map&lt;?,?&gt; getMap(String key) {<a name="line.774"></a>
-<span class="sourceLineNo">775</span>      return get(Map.class, key);<a name="line.775"></a>
-<span class="sourceLineNo">776</span>   }<a name="line.776"></a>
-<span class="sourceLineNo">777</span><a name="line.777"></a>
-<span class="sourceLineNo">778</span>   /**<a name="line.778"></a>
-<span class="sourceLineNo">779</span>    * Returns the specified entry value converted to a {@link Map}.<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    *<a name="line.780"></a>
-<span class="sourceLineNo">781</span>    * &lt;p&gt;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    * Shortcut for &lt;code&gt;get(Map.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.782"></a>
-<span class="sourceLineNo">783</span>    *<a name="line.783"></a>
-<span class="sourceLineNo">784</span>    * @param key The key.<a name="line.784"></a>
-<span class="sourceLineNo">785</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    */<a name="line.788"></a>
-<span class="sourceLineNo">789</span>   public Map&lt;?,?&gt; getMap(String key, Map&lt;?,?&gt; defVal) {<a name="line.789"></a>
-<span class="sourceLineNo">790</span>      return get(Map.class, key, defVal);<a name="line.790"></a>
-<span class="sourceLineNo">791</span>   }<a name="line.791"></a>
-<span class="sourceLineNo">792</span><a name="line.792"></a>
-<span class="sourceLineNo">793</span>   /**<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    * Returns the specified entry value converted to a {@link List}.<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>    * Shortcut for &lt;code&gt;get(List.&lt;jk&gt;class&lt;/jk&gt;, key)&lt;/code&gt;.<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    *<a name="line.798"></a>
-<span class="sourceLineNo">799</span>    * @param key The key.<a name="line.799"></a>
-<span class="sourceLineNo">800</span>    * @return The converted value, or &lt;jk&gt;null&lt;/jk&gt; if the map contains no mapping for this key.<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    */<a name="line.802"></a>
-<span class="sourceLineNo">803</span>   public List&lt;?&gt; getList(String key) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      return get(List.class, key);<a name="line.804"></a>
-<span class="sourceLineNo">805</span>   }<a name="line.805"></a>
-<span class="sourceLineNo">806</span><a name="line.806"></a>
-<span class="sourceLineNo">807</span>   /**<a name="line.807"></a>
-<span class="sourceLineNo">808</span>    * Returns the specified entry value converted to a {@link List}.<a name="line.808"></a>
-<span class="sourceLineNo">809</span>    *<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    * &lt;p&gt;<a name="line.810"></a>
-<span class="sourceLineNo">811</span>    * Shortcut for &lt;code&gt;get(List.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.811"></a>
-<span class="sourceLineNo">812</span>    *<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    * @param key The key.<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.816"></a>
-<span class="sourceLineNo">817</span>    */<a name="line.817"></a>
-<span class="sourceLineNo">818</span>   public List&lt;?&gt; getList(String key, List&lt;?&gt; defVal) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span>      return get(List.class, key, defVal);<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>    * Returns the specified entry value converted to a {@link Map}.<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>    * Shortcut for &lt;code&gt;get(ObjectMap.&lt;jk&gt;class&lt;/jk&gt;, key)&lt;/code&gt;.<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    *<a name="line.827"></a>
-<span class="sourceLineNo">828</span>    * @param key The key.<a name="line.828"></a>
-<span class="sourceLineNo">829</span>    * @return The converted value, or &lt;jk&gt;null&lt;/jk&gt; if the map contains no mapping for this key.<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.830"></a>
-<span class="sourceLineNo">831</span>    */<a name="line.831"></a>
-<span class="sourceLineNo">832</span>   public ObjectMap getObjectMap(String key) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      return get(ObjectMap.class, key);<a name="line.833"></a>
-<span class="sourceLineNo">834</span>   }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>   /**<a name="line.836"></a>
-<span class="sourceLineNo">837</span>    * Returns the specified entry value converted to a {@link ObjectMap}.<a name="line.837"></a>
-<span class="sourceLineNo">838</span>    *<a name="line.838"></a>
-<span class="sourceLineNo">839</span>    * &lt;p&gt;<a name="line.839"></a>
-<span class="sourceLineNo">840</span>    * Shortcut for &lt;code&gt;get(ObjectMap.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.840"></a>
-<span class="sourceLineNo">841</span>    *<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    * @param key The key.<a name="line.842"></a>
-<span class="sourceLineNo">843</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.843"></a>
-<span class="sourceLineNo">844</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    */<a name="line.846"></a>
-<span class="sourceLineNo">847</span>   public ObjectMap getObjectMap(String key, ObjectMap defVal) {<a name="line.847"></a>
-<span class="sourceLineNo">848</span>      return get(ObjectMap.class, key, defVal);<a name="line.848"></a>
-<span class="sourceLineNo">849</span>   }<a name="line.849"></a>
-<span class="sourceLineNo">850</span><a name="line.850"></a>
-<span class="sourceLineNo">851</span>   /**<a name="line.851"></a>
-<span class="sourceLineNo">852</span>    * Returns the specified entry value converted to a {@link ObjectList}.<a name="line.852"></a>
-<span class="sourceLineNo">853</span>    *<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    * &lt;p&gt;<a name="line.854"></a>
-<span class="sourceLineNo">855</span>    * Shortcut for &lt;code&gt;get(ObjectList.&lt;jk&gt;class&lt;/jk&gt;, key)&lt;/code&gt;.<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    *<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    * @param key The key.<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    * @return The converted value, or &lt;jk&gt;null&lt;/jk&gt; if the map contains no mapping for this key.<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.859"></a>
-<span class="sourceLineNo">860</span>    */<a name="line.860"></a>
-<span class="sourceLineNo">861</span>   public ObjectList getObjectList(String key) {<a name="line.861"></a>
-<span class="sourceLineNo">862</span>      return get(ObjectList.class, key);<a name="line.862"></a>
-<span class="sourceLineNo">863</span>   }<a name="line.863"></a>
-<span class="sourceLineNo">864</span><a name="line.864"></a>
-<span class="sourceLineNo">865</span>   /**<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    * Returns the specified entry value converted to a {@link ObjectList}.<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    *<a name="line.867"></a>
-<span class="sourceLineNo">868</span>    * &lt;p&gt;<a name="line.868"></a>
-<span class="sourceLineNo">869</span>    * Shortcut for &lt;code&gt;get(ObjectList.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    *<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    * @param key The key.<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.874"></a>
-<span class="sourceLineNo">875</span>    */<a name="line.875"></a>
-<span class="sourceLineNo">876</span>   public ObjectList getObjectList(String key, ObjectList defVal) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      return get(ObjectList.class, key, defVal);<a name="line.877"></a>
-<span class="sourceLineNo">878</span>   }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>   /**<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    * Returns the first entry that exists converted to a {@link String}.<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    *<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    * &lt;p&gt;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>    * Shortcut for &lt;code&gt;find(String.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.884"></a>
-<span class="sourceLineNo">885</span>    *<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    * @param keys The list of keys to look for.<a name="line.886"></a>
-<span class="sourceLineNo">887</span>    * @return<a name="line.887"></a>
-<span class="sourceLineNo">888</span>    *    The converted value of the first key in the list that has an entry in this map, or &lt;jk&gt;null&lt;/jk&gt; if the map<a name="line.888"></a>
-<span class="sourceLineNo">889</span>    *    contains no mapping for any of the keys.<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    */<a name="line.890"></a>
-<span class="sourceLineNo">891</span>   public String findString(String... keys) {<a name="line.891"></a>
-<span class="sourceLineNo">892</span>      return find(String.class, keys);<a name="line.892"></a>
-<span class="sourceLineNo">893</span>   }<a name="line.893"></a>
-<span class="sourceLineNo">894</span><a name="line.894"></a>
-<span class="sourceLineNo">895</span>   /**<a name="line.895"></a>
-<span class="sourceLineNo">896</span>    * Returns the first entry that exists converted to an {@link Integer}.<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    *<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    * &lt;p&gt;<a name="line.898"></a>
-<span class="sourceLineNo">899</span>    * Shortcut for &lt;code&gt;find(Integer.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.899"></a>
-<span class="sourceLineNo">900</span>    *<a name="line.900"></a>
-<span class="sourceLineNo">901</span>    * @param keys The list of keys to look for.<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    * @return<a name="line.902"></a>
-<span class="sourceLineNo">903</span>    *    The converted value of the first key in the list that has an entry in this map, or &lt;jk&gt;null&lt;/jk&gt; if the map<a name="line.903"></a>
-<span class="sourceLineNo">904</span>    *    contains no mapping for any of the keys.<a name="line.904"></a>
-<span class="sourceLineNo">905</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    */<a name="line.906"></a>
-<span class="sourceLineNo">907</span>   public Integer findInt(String... keys) {<a name="line.907"></a>
-<span class="sourceLineNo">908</span>      return find(Integer.class, keys);<a name="line.908"></a>
-<span class="sourceLineNo">909</span>   }<a name="line.909"></a>
-<span class="sourceLineNo">910</span><a name="line.910"></a>
-<span class="sourceLineNo">911</span>   /**<a name="line.911"></a>
-<span class="sourceLineNo">912</span>    * Returns the first entry that exists converted to a {@link Long}.<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    *<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    * &lt;p&gt;<a name="line.914"></a>
-<span class="sourceLineNo">915</span>    * Shortcut for &lt;code&gt;find(Long.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.915"></a>
-<span class="sourceLineNo">916</span>    *<a name="line.916"></a>
-<span class="sourceLineNo">917</span>    * @param keys The list of keys to look for.<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    * @return<a name="line.918"></a>
-<span class="sourceLineNo">919</span>    *    The converted value of the first key in the list that has an entry in this map, or &lt;jk&gt;null&lt;/jk&gt; if the map<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    *    contains no mapping for any of the keys.<a name="line.920"></a>
-<span class="sourceLineNo">921</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    */<a name="line.922"></a>
-<span class="sourceLineNo">923</span>   public Long findLong(String... keys) {<a name="line.923"></a>
-<span class="sourceLineNo">924</span>      return find(Long.class, keys);<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>
-<span class="sourceLineNo">927</span>   /**<a name="line.927"></a>
-<span class="sourceLineNo">928</span>    * Returns the first entry that exists converted to a {@link Boolean}.<a name="line.928"></a>
-<span class="sourceLineNo">929</span>    *<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    * &lt;p&gt;<a name="line.930"></a>
-<span class="sourceLineNo">931</span>    * Shortcut for &lt;code&gt;find(Boolean.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.931"></a>
-<span class="sourceLineNo">932</span>    *<a name="line.932"></a>
-<span class="sourceLineNo">933</span>    * @param keys The list of keys to look for.<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    * @return<a name="line.934"></a>
-<span class="sourceLineNo">935</span>    *    The converted value of the first key in the list that has an entry in this map, or &lt;jk&gt;null&lt;/jk&gt; if the map<a name="line.935"></a>
-<span class="sourceLineNo">936</span>    *    contains no mapping for any of the keys.<a name="line.936"></a>
-<span class="sourceLineNo">937</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    */<a name="line.938"></a>
-<span class="sourceLineNo">939</span>   public Boolean findBoolean(String... keys) {<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      return find(Boolean.class, keys);<a name="line.940"></a>
-<span class="sourceLineNo">941</span>   }<a name="line.941"></a>
-<span class="sourceLineNo">942</span><a name="line.942"></a>
-<span class="sourceLineNo">943</span>   /**<a name="line.943"></a>
-<span class="sourceLineNo">944</span>    * Returns the first entry that exists converted to a {@link Map}.<a name="line.944"></a>
-<span class="sourceLineNo">945</span>    *<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    * &lt;p&gt;<a name="line.946"></a>
-<span class="sourceLineNo">947</span>    * Shortcut for &lt;code&gt;find(Map.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.947"></a>
-<span class="sourceLineNo">948</span>    *<a name="line.948"></a>
-<span class="sourceLineNo">949</span>    * @param keys The list of keys to look for.<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    * @return<a name="line.950"></a>
-<span class="sourceLineNo">951</span>    *    The converted value of the first key in the list that has an entry in this map, or &lt;jk&gt;null&lt;/jk&gt; if the map<a name="line.951"></a>
-<span class="sourceLineNo">952</span>    *    contains no mapping for any of the keys.<a name="line.952"></a>
-<span class="sourceLineNo">953</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    */<a name="line.954"></a>
-<span class="sourceLineNo">955</span>   public Map&lt;?,?&gt; findMap(String... keys) {<a name="line.955"></a>
-<span class="sourceLineNo">956</span>      return find(Map.class, keys);<a name="line.956"></a>
-<span class="sourceLineNo">957</span>   }<a name="line.957"></a>
-<span class="sourceLineNo">958</span><a name="line.958"></a>
-<span class="sourceLineNo">959</span>   /**<a name="line.959"></a>
-<span class="sourceLineNo">960</span>    * Returns the first entry that exists converted to a {@link List}.<a name="line.960"></a>
-<span class="sourceLineNo">961</span>    *<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    * &lt;p&gt;<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    * Shortcut for &lt;code&gt;find(List.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.963"></a>
-<span class="sourceLineNo">964</span>    *<a name="line.964"></a>
-<span class="sourceLineNo">965</span>    * @param keys The list of keys to look for.<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    * @return<a name="line.966"></a>
-<span class="sourceLineNo">967</span>    *    The converted value of the first key in the list that has an entry in this map, or &lt;jk&gt;null&lt;/jk&gt; if the map<a name="line.967"></a>
-<span class="sourceLineNo">968</span>    *    contains no mapping for any of the keys.<a name="line.968"></a>
-<span class="sourceLineNo">969</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    */<a name="line.970"></a>
-<span class="sourceLineNo">971</span>   public List&lt;?&gt; findList(String... keys) {<a name="line.971"></a>
-<span class="sourceLineNo">972</span>      return find(List.class, keys);<a name="line.972"></a>
-<span class="sourceLineNo">973</span>   }<a name="line.973"></a>
-<span class="sourceLineNo">974</span><a name="line.974"></a>
-<span class="sourceLineNo">975</span>   /**<a name="line.975"></a>
-<span class="sourceLineNo">976</span>    * Returns the first entry that exists converted to a {@link ObjectMap}.<a name="line.976"></a>
-<span class="sourceLineNo">977</span>    *<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    * &lt;p&gt;<a name="line.978"></a>
-<span class="sourceLineNo">979</span>    * Shortcut for &lt;code&gt;find(ObjectMap.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    *<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    * @param keys The list of keys to look for.<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    * @return<a name="line.982"></a>
-<span class="sourceLineNo">983</span>    *    The converted value of the first key in the list that has an entry in this map, or &lt;jk&gt;null&lt;/jk&gt; if the map<a name="line.983"></a>
-<span class="sourceLineNo">984</span>    *    contains no mapping for any of the keys.<a name="line.984"></a>
-<span class="sourceLineNo">985</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    */<a name="line.986"></a>
-<span class="sourceLineNo">987</span>   public ObjectMap findObjectMap(String... keys) {<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      return find(ObjectMap.class, keys);<a name="line.988"></a>
-<span class="sourceLineNo">989</span>   }<a name="line.989"></a>
-<span class="sourceLineNo">990</span><a name="line.990"></a>
-<span class="sourceLineNo">991</span>   /**<a name="line.991"></a>
-<span class="sourceLineNo">992</span>    * Returns the first entry that exists converted to a {@link ObjectList}.<a name="line.992"></a>
-<span class="sourceLineNo">993</span>    *<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    * &lt;p&gt;<a name="line.994"></a>
-<span class="sourceLineNo">995</span>    * Shortcut for &lt;code&gt;find(ObjectList.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.995"></a>
-<span class="sourceLineNo">996</span>    *<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    * @param keys The list of keys to look for.<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    * @return<a name="line.998"></a>
-<span class="sourceLineNo">999</span>    *    The converted value of the first key in the list that has an entry in this map, or &lt;jk&gt;null&lt;/jk&gt; if the map<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    *    contains no mapping for any of the keys.<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    */<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>   public ObjectList findObjectList(String... keys) {<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>      return find(ObjectList.class, keys);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>   }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span><a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>   /**<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    * Returns the first key in the map.<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>    *<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    * @return The first key in the map, or &lt;jk&gt;null&lt;/jk&gt; if the map is empty.<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>    */<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>   public String getFirstKey() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return isEmpty() ? null : keySet().iterator().next();<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>   }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>   /**<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>    * Returns the class type of the object at the specified index.<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    *<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>    * @param key The key into this map.<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    * @return<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>    *    The data type of the object at the specified key, or &lt;jk&gt;null&lt;/jk&gt; if the value is null or does not exist.<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    */<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>   public ClassMeta&lt;?&gt; getClassMeta(String key) {<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>      return session.getClassMetaForObject(get(key));<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>   }<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span><a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>   /**<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    * Equivalent to calling &lt;code&gt;get(class,key,def)&lt;/code&gt; followed by &lt;code&gt;remove(key);&lt;/code&gt;<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>    *<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    * @param &lt;T&gt; The class type.<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>    * @param type The class type.<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    * @param key The key.<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    */<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>   public &lt;T&gt; T remove(Class&lt;T&gt; type, String key, T defVal) {<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>      T t = get(type, key, defVal);<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>      remove(key);<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>      return t;<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>   }<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span><a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>   /**<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>    * Convenience method for removing several keys at once.<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    *<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>    * @param keys The list of keys to remove.<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    */<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>   public void removeAll(Collection&lt;String&gt; keys) {<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>      for (String k : keys)<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>         remove(k);<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>   }<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span><a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   /**<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>    * Convenience method for removing several keys at once.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>    *<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>    * @param keys The list of keys to remove.<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    */<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>   public void removeAll(String... keys) {<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>      for (String k : keys)<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>         remove(k);<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>   }<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span><a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>   @Override /* Map */<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>   public boolean containsKey(Object key) {<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>      if (super.containsKey(key))<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>         return true;<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>      if (inner != null)<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>         return inner.containsKey(key);<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>      return false;<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>   }<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span><a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>   /**<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>    * Returns &lt;jk&gt;true&lt;/jk&gt; if this map contains the specified key, ignoring the inner map if it exists.<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    *<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    * @param key The key to look up.<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    * @return &lt;jk&gt;true&lt;/jk&gt; if this map contains the specified key.<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    */<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>   public boolean containsOuterKey(Object key) {<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>      return super.containsKey(key);<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>   }<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span><a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>   /**<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>    * Returns a copy of this &lt;code&gt;ObjectMap&lt;/code&gt; with only the specified keys.<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>    *<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>    * @param keys The keys of the entries to copy.<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>    * @return A new map with just the keys and values from this map.<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>    */<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>   public ObjectMap include(String...keys) {<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>      ObjectMap m2 = new ObjectMap();<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>      for (Map.Entry&lt;String,Object&gt; e : this.entrySet())<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>         for (String k : keys)<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>            if (k.equals(e.getKey()))<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>               m2.put(k, e.getValue());<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>      return m2;<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>   }<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span><a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>   /**<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>    * Returns a copy of this &lt;code&gt;ObjectMap&lt;/code&gt; without the specified keys.<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>    *<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>    * @param keys The keys of the entries not to copy.<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    * @return A new map without the keys and values from this map.<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>    */<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>   public ObjectMap exclude(String...keys) {<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>      ObjectMap m2 = new ObjectMap();<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>      for (Map.Entry&lt;String,Object&gt; e : this.entrySet()) {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>         boolean exclude = false;<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>         for (String k : keys)<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>            if (k.equals(e.getKey()))<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>               exclude = true;<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>         if (! exclude)<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>            m2.put(e.getKey(), e.getValue());<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>      }<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>      return m2;<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>   }<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span><a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>   /**<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>    * Sets a value in this map if the entry does not exist or the value is &lt;jk&gt;null&lt;/jk&gt;.<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>    *<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>    * @param key The map key.<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>    * @param val The value to set if the current value does not exist or is &lt;jk&gt;null&lt;/jk&gt;.<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    * @return This object (for method chaining).<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>    */<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>   public ObjectMap putIfNull(String key, Object val) {<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>      Object o = get(key);<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>      if (o == null)<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>         put(key, val);<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>      return this;<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>   }<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span><a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>   /**<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>    * Sets a value in this map if the entry does not exist or the value is &lt;jk&gt;null&lt;/jk&gt; or an empty string.<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>    *<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span>    * @param key The map key.<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>    * @param val The value to set if the current value does not exist or is &lt;jk&gt;null&lt;/jk&gt; or an empty string.<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>    * @return This object (for method chaining).<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    */<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>   public ObjectMap putIfEmpty(String key, Object val) {<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>      Object o = get(key);<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>      if (o == null || o.toString().isEmpty())<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>         put(key, val);<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>      return this;<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>   }<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span><a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>   /**<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>    * Converts this map into an object of the specified type.<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    *<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>    * &lt;p&gt;<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>    * If this map contains a &lt;js&gt;"_type"&lt;/js&gt; entry, it must be the same as or a subclass of the &lt;code&gt;type&lt;/code&gt;.<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>    *<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>    * @param &lt;T&gt; The class type to convert this map object to.<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    * @param type The class type to convert this map object to.<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>    * @return The new object.<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>    * @throws ClassCastException<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>    *    If the &lt;js&gt;"_type"&lt;/js&gt; entry is present and not assignable from &lt;code&gt;type&lt;/code&gt;<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>    */<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>   @SuppressWarnings("unchecked")<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>   public &lt;T&gt; T cast(Class&lt;T&gt; type) {<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>      ClassMeta&lt;?&gt; c2 = session.getClassMeta(type);<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>      String typePropertyName = session.getBeanTypePropertyName(c2);<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>      ClassMeta&lt;?&gt; c1 = session.getBeanRegistry().getClassMeta((String)get(typePropertyName));<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>      ClassMeta&lt;?&gt; c = c1 == null ? c2 : narrowClassMeta(c1, c2);<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>      if (c.isObject())<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>         return (T)this;<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>      return (T)cast2(c);<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>   }<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span><a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>   /**<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>    * Same as {@link #cast(Class)}, except allows you to specify a {@link ClassMeta} parameter.<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>    *<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>    * @param &lt;T&gt; The class type to convert this map object to.<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>    * @param cm The class type to convert this map object to.<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>    * @return The new object.<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>    * @throws ClassCastException<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>    *    If the &lt;js&gt;"_type"&lt;/js&gt; entry is present and not assignable from &lt;code&gt;type&lt;/code&gt;<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>    */<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>   @SuppressWarnings({"unchecked"})<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>   public &lt;T&gt; T cast(ClassMeta&lt;T&gt; cm) {<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>      ClassMeta&lt;?&gt; c1 = session.getBeanRegistry().getClassMeta((String)get(session.getBeanTypePropertyName(cm)));<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span>      ClassMeta&lt;?&gt; c = narrowClassMeta(c1, cm);<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>      return (T)cast2(c);<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>   }<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span><a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>   /*<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>    * Combines the class specified by a "_type" attribute with the ClassMeta<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>    * passed in through the cast(ClassMeta) method.<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>    * The rule is that child classes supersede parent classes, and c2 supersedes c1<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>    * if one isn't the parent of another.<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>    */<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>   private ClassMeta&lt;?&gt; narrowClassMeta(ClassMeta&lt;?&gt; c1, ClassMeta&lt;?&gt; c2) {<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>      if (c1 == null)<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>         return c2;<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>      ClassMeta&lt;?&gt; c = getNarrowedClassMeta(c1, c2);<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>      if (c1.isMap()) {<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>         ClassMeta&lt;?&gt; k = getNarrowedClassMeta(c1.getKeyType(), c2.getKeyType());<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>         ClassMeta&lt;?&gt; v = getNarrowedClassMeta(c1.getValueType(), c2.getValueType());<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>         return session.getClassMeta(c.getInnerClass(), k, v);<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>      }<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>      if (c1.isCollection()) {<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>         ClassMeta&lt;?&gt; e = getNarrowedClassMeta(c1.getElementType(), c2.getElementType());<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>         return session.getClassMeta(c.getInnerClass(), e);<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>      }<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>      return c;<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>   }<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span><a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>   /*<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>    * If c1 is a child of c2 or the same as c2, returns c1.<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>    * Otherwise, returns c2.<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>    */<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>   private static ClassMeta&lt;?&gt; getNarrowedClassMeta(ClassMeta&lt;?&gt; c1, ClassMeta&lt;?&gt; c2) {<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>      if (c2 == null || isParentClass(c2.getInnerClass(), c1.getInnerClass()))<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>         return c1;<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>      return c2;<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>   }<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span><a name="line.1215"></a>
-<span class="sourceLineNo">1216</span>   /*<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>    * Converts this map to the specified class type.<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>    */<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>   @SuppressWarnings({"unchecked","rawtypes"})<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>   private &lt;T&gt; T cast2(ClassMeta&lt;T&gt; cm) {<a name="line.1220"></a>
+<span class="sourceLineNo">657</span>      String[] r = null;<a name="line.657"></a>
+<span class="sourceLineNo">658</span>      if (s instanceof Collection)<a name="line.658"></a>
+<span class="sourceLineNo">659</span>         r = ArrayUtils.toStringArray((Collection&lt;?&gt;)s);<a name="line.659"></a>
+<span class="sourceLineNo">660</span>      else if (s instanceof String[])<a name="line.660"></a>
+<span class="sourceLineNo">661</span>         r = (String[])s;<a name="line.661"></a>
+<span class="sourceLineNo">662</span>      else if (s instanceof Object[])<a name="line.662"></a>
+<span class="sourceLineNo">663</span>         r = ArrayUtils.toStringArray(Arrays.asList((Object[])s));<a name="line.663"></a>
+<span class="sourceLineNo">664</span>      else<a name="line.664"></a>
+<span class="sourceLineNo">665</span>         r = split(StringUtils.toString(s));<a name="line.665"></a>
+<span class="sourceLineNo">666</span>      return (r.length == 0 ? def : r);<a name="line.666"></a>
+<span class="sourceLineNo">667</span>   }<a name="line.667"></a>
+<span class="sourceLineNo">668</span><a name="line.668"></a>
+<span class="sourceLineNo">669</span>   /**<a name="line.669"></a>
+<span class="sourceLineNo">670</span>    * Returns the specified entry value converted to a {@link String}.<a name="line.670"></a>
+<span class="sourceLineNo">671</span>    *<a name="line.671"></a>
+<span class="sourceLineNo">672</span>    * &lt;p&gt;<a name="line.672"></a>
+<span class="sourceLineNo">673</span>    * Shortcut for &lt;code&gt;get(String.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.673"></a>
+<span class="sourceLineNo">674</span>    *<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    * @param key The key.<a name="line.675"></a>
+<span class="sourceLineNo">676</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.676"></a>
+<span class="sourceLineNo">677</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.677"></a>
+<span class="sourceLineNo">678</span>    */<a name="line.678"></a>
+<span class="sourceLineNo">679</span>   public String getString(String key, String defVal) {<a name="line.679"></a>
+<span class="sourceLineNo">680</span>      return get(String.class, key, defVal);<a name="line.680"></a>
+<span class="sourceLineNo">681</span>   }<a name="line.681"></a>
+<span class="sourceLineNo">682</span><a name="line.682"></a>
+<span class="sourceLineNo">683</span>   /**<a name="line.683"></a>
+<span class="sourceLineNo">684</span>    * Returns the specified entry value converted to an {@link Integer}.<a name="line.684"></a>
+<span class="sourceLineNo">685</span>    *<a name="line.685"></a>
+<span class="sourceLineNo">686</span>    * &lt;p&gt;<a name="line.686"></a>
+<span class="sourceLineNo">687</span>    * Shortcut for &lt;code&gt;get(Integer.&lt;jk&gt;class&lt;/jk&gt;, key)&lt;/code&gt;.<a name="line.687"></a>
+<span class="sourceLineNo">688</span>    *<a name="line.688"></a>
+<span class="sourceLineNo">689</span>    * @param key The key.<a name="line.689"></a>
+<span class="sourceLineNo">690</span>    * @return The converted value, or &lt;jk&gt;null&lt;/jk&gt; if the map contains no mapping for this key.<a name="line.690"></a>
+<span class="sourceLineNo">691</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.691"></a>
+<span class="sourceLineNo">692</span>    */<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   public Integer getInt(String key) {<a name="line.693"></a>
+<span class="sourceLineNo">694</span>      return get(Integer.class, key);<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   }<a name="line.695"></a>
+<span class="sourceLineNo">696</span><a name="line.696"></a>
+<span class="sourceLineNo">697</span>   /**<a name="line.697"></a>
+<span class="sourceLineNo">698</span>    * Returns the specified entry value converted to an {@link Integer}.<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>    * Shortcut for &lt;code&gt;get(Integer.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.701"></a>
+<span class="sourceLineNo">702</span>    *<a name="line.702"></a>
+<span class="sourceLineNo">703</span>    * @param key The key.<a name="line.703"></a>
+<span class="sourceLineNo">704</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.705"></a>
+<span class="sourceLineNo">706</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.706"></a>
+<span class="sourceLineNo">707</span>    */<a name="line.707"></a>
+<span class="sourceLineNo">708</span>   public Integer getInt(String key, Integer defVal) {<a name="line.708"></a>
+<span class="sourceLineNo">709</span>      return get(Integer.class, key, defVal);<a name="line.709"></a>
+<span class="sourceLineNo">710</span>   }<a name="line.710"></a>
+<span class="sourceLineNo">711</span><a name="line.711"></a>
+<span class="sourceLineNo">712</span>   /**<a name="line.712"></a>
+<span class="sourceLineNo">713</span>    * Returns the specified entry value converted to a {@link Long}.<a name="line.713"></a>
+<span class="sourceLineNo">714</span>    *<a name="line.714"></a>
+<span class="sourceLineNo">715</span>    * &lt;p&gt;<a name="line.715"></a>
+<span class="sourceLineNo">716</span>    * Shortcut for &lt;code&gt;get(Long.&lt;jk&gt;class&lt;/jk&gt;, key)&lt;/code&gt;.<a name="line.716"></a>
+<span class="sourceLineNo">717</span>    *<a name="line.717"></a>
+<span class="sourceLineNo">718</span>    * @param key The key.<a name="line.718"></a>
+<span class="sourceLineNo">719</span>    * @return The converted value, or &lt;jk&gt;null&lt;/jk&gt; if the map contains no mapping for this key.<a name="line.719"></a>
+<span class="sourceLineNo">720</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    */<a name="line.721"></a>
+<span class="sourceLineNo">722</span>   public Long getLong(String key) {<a name="line.722"></a>
+<span class="sourceLineNo">723</span>      return get(Long.class, key);<a name="line.723"></a>
+<span class="sourceLineNo">724</span>   }<a name="line.724"></a>
+<span class="sourceLineNo">725</span><a name="line.725"></a>
+<span class="sourceLineNo">726</span>   /**<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    * Returns the specified entry value converted to a {@link Long}.<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>    * Shortcut for &lt;code&gt;get(Long.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.730"></a>
+<span class="sourceLineNo">731</span>    *<a name="line.731"></a>
+<span class="sourceLineNo">732</span>    * @param key The key.<a name="line.732"></a>
+<span class="sourceLineNo">733</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.733"></a>
+<span class="sourceLineNo">734</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.734"></a>
+<span class="sourceLineNo">735</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.735"></a>
+<span class="sourceLineNo">736</span>    */<a name="line.736"></a>
+<span class="sourceLineNo">737</span>   public Long getLong(String key, Long defVal) {<a name="line.737"></a>
+<span class="sourceLineNo">738</span>      return get(Long.class, key, defVal);<a name="line.738"></a>
+<span class="sourceLineNo">739</span>   }<a name="line.739"></a>
+<span class="sourceLineNo">740</span><a name="line.740"></a>
+<span class="sourceLineNo">741</span>   /**<a name="line.741"></a>
+<span class="sourceLineNo">742</span>    * Returns the specified entry value converted to a {@link Boolean}.<a name="line.742"></a>
+<span class="sourceLineNo">743</span>    *<a name="line.743"></a>
+<span class="sourceLineNo">744</span>    * &lt;p&gt;<a name="line.744"></a>
+<span class="sourceLineNo">745</span>    * Shortcut for &lt;code&gt;get(Boolean.&lt;jk&gt;class&lt;/jk&gt;, key)&lt;/code&gt;.<a name="line.745"></a>
+<span class="sourceLineNo">746</span>    *<a name="line.746"></a>
+<span class="sourceLineNo">747</span>    * @param key The key.<a name="line.747"></a>
+<span class="sourceLineNo">748</span>    * @return The converted value, or &lt;jk&gt;null&lt;/jk&gt; if the map contains no mapping for this key.<a name="line.748"></a>
+<span class="sourceLineNo">749</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.749"></a>
+<span class="sourceLineNo">750</span>    */<a name="line.750"></a>
+<span class="sourceLineNo">751</span>   public Boolean getBoolean(String key) {<a name="line.751"></a>
+<span class="sourceLineNo">752</span>      return get(Boolean.class, key);<a name="line.752"></a>
+<span class="sourceLineNo">753</span>   }<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>    * Returns the specified entry value converted to a {@link Boolean}.<a name="line.756"></a>
+<span class="sourceLineNo">757</span>    *<a name="line.757"></a>
+<span class="sourceLineNo">758</span>    * &lt;p&gt;<a name="line.758"></a>
+<span class="sourceLineNo">759</span>    * Shortcut for &lt;code&gt;get(Boolean.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.759"></a>
+<span class="sourceLineNo">760</span>    *<a name="line.760"></a>
+<span class="sourceLineNo">761</span>    * @param key The key.<a name="line.761"></a>
+<span class="sourceLineNo">762</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.762"></a>
+<span class="sourceLineNo">763</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.763"></a>
+<span class="sourceLineNo">764</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.764"></a>
+<span class="sourceLineNo">765</span>    */<a name="line.765"></a>
+<span class="sourceLineNo">766</span>   public Boolean getBoolean(String key, Boolean defVal) {<a name="line.766"></a>
+<span class="sourceLineNo">767</span>      return get(Boolean.class, key, defVal);<a name="line.767"></a>
+<span class="sourceLineNo">768</span>   }<a name="line.768"></a>
+<span class="sourceLineNo">769</span><a name="line.769"></a>
+<span class="sourceLineNo">770</span>   /**<a name="line.770"></a>
+<span class="sourceLineNo">771</span>    * Returns the specified entry value converted to a {@link Map}.<a name="line.771"></a>
+<span class="sourceLineNo">772</span>    *<a name="line.772"></a>
+<span class="sourceLineNo">773</span>    * &lt;p&gt;<a name="line.773"></a>
+<span class="sourceLineNo">774</span>    * Shortcut for &lt;code&gt;get(Map.&lt;jk&gt;class&lt;/jk&gt;, key)&lt;/code&gt;.<a name="line.774"></a>
+<span class="sourceLineNo">775</span>    *<a name="line.775"></a>
+<span class="sourceLineNo">776</span>    * @param key The key.<a name="line.776"></a>
+<span class="sourceLineNo">777</span>    * @return The converted value, or &lt;jk&gt;null&lt;/jk&gt; if the map contains no mapping for this key.<a name="line.777"></a>
+<span class="sourceLineNo">778</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.778"></a>
+<span class="sourceLineNo">779</span>    */<a name="line.779"></a>
+<span class="sourceLineNo">780</span>   public Map&lt;?,?&gt; getMap(String key) {<a name="line.780"></a>
+<span class="sourceLineNo">781</span>      return get(Map.class, key);<a name="line.781"></a>
+<span class="sourceLineNo">782</span>   }<a name="line.782"></a>
+<span class="sourceLineNo">783</span><a name="line.783"></a>
+<span class="sourceLineNo">784</span>   /**<a name="line.784"></a>
+<span class="sourceLineNo">785</span>    * Returns the specified entry value converted to a {@link Map}.<a name="line.785"></a>
+<span class="sourceLineNo">786</span>    *<a name="line.786"></a>
+<span class="sourceLineNo">787</span>    * &lt;p&gt;<a name="line.787"></a>
+<span class="sourceLineNo">788</span>    * Shortcut for &lt;code&gt;get(Map.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.788"></a>
+<span class="sourceLineNo">789</span>    *<a name="line.789"></a>
+<span class="sourceLineNo">790</span>    * @param key The key.<a name="line.790"></a>
+<span class="sourceLineNo">791</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.791"></a>
+<span class="sourceLineNo">792</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.792"></a>
+<span class="sourceLineNo">793</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.793"></a>
+<span class="sourceLineNo">794</span>    */<a name="line.794"></a>
+<span class="sourceLineNo">795</span>   public Map&lt;?,?&gt; getMap(String key, Map&lt;?,?&gt; defVal) {<a name="line.795"></a>
+<span class="sourceLineNo">796</span>      return get(Map.class, key, defVal);<a name="line.796"></a>
+<span class="sourceLineNo">797</span>   }<a name="line.797"></a>
+<span class="sourceLineNo">798</span><a name="line.798"></a>
+<span class="sourceLineNo">799</span>   /**<a name="line.799"></a>
+<span class="sourceLineNo">800</span>    * Returns the specified entry value converted to a {@link List}.<a name="line.800"></a>
+<span class="sourceLineNo">801</span>    *<a name="line.801"></a>
+<span class="sourceLineNo">802</span>    * &lt;p&gt;<a name="line.802"></a>
+<span class="sourceLineNo">803</span>    * Shortcut for &lt;code&gt;get(List.&lt;jk&gt;class&lt;/jk&gt;, key)&lt;/code&gt;.<a name="line.803"></a>
+<span class="sourceLineNo">804</span>    *<a name="line.804"></a>
+<span class="sourceLineNo">805</span>    * @param key The key.<a name="line.805"></a>
+<span class="sourceLineNo">806</span>    * @return The converted value, or &lt;jk&gt;null&lt;/jk&gt; if the map contains no mapping for this key.<a name="line.806"></a>
+<span class="sourceLineNo">807</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.807"></a>
+<span class="sourceLineNo">808</span>    */<a name="line.808"></a>
+<span class="sourceLineNo">809</span>   public List&lt;?&gt; getList(String key) {<a name="line.809"></a>
+<span class="sourceLineNo">810</span>      return get(List.class, key);<a name="line.810"></a>
+<span class="sourceLineNo">811</span>   }<a name="line.811"></a>
+<span class="sourceLineNo">812</span><a name="line.812"></a>
+<span class="sourceLineNo">813</span>   /**<a name="line.813"></a>
+<span class="sourceLineNo">814</span>    * Returns the specified entry value converted to a {@link List}.<a name="line.814"></a>
+<span class="sourceLineNo">815</span>    *<a name="line.815"></a>
+<span class="sourceLineNo">816</span>    * &lt;p&gt;<a name="line.816"></a>
+<span class="sourceLineNo">817</span>    * Shortcut for &lt;code&gt;get(List.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.817"></a>
+<span class="sourceLineNo">818</span>    *<a name="line.818"></a>
+<span class="sourceLineNo">819</span>    * @param key The key.<a name="line.819"></a>
+<span class="sourceLineNo">820</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.820"></a>
+<span class="sourceLineNo">821</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.821"></a>
+<span class="sourceLineNo">822</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.822"></a>
+<span class="sourceLineNo">823</span>    */<a name="line.823"></a>
+<span class="sourceLineNo">824</span>   public List&lt;?&gt; getList(String key, List&lt;?&gt; defVal) {<a name="line.824"></a>
+<span class="sourceLineNo">825</span>      return get(List.class, key, defVal);<a name="line.825"></a>
+<span class="sourceLineNo">826</span>   }<a name="line.826"></a>
+<span class="sourceLineNo">827</span><a name="line.827"></a>
+<span class="sourceLineNo">828</span>   /**<a name="line.828"></a>
+<span class="sourceLineNo">829</span>    * Returns the specified entry value converted to a {@link Map}.<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>    * Shortcut for &lt;code&gt;get(ObjectMap.&lt;jk&gt;class&lt;/jk&gt;, key)&lt;/code&gt;.<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    *<a name="line.833"></a>
+<span class="sourceLineNo">834</span>    * @param key The key.<a name="line.834"></a>
+<span class="sourceLineNo">835</span>    * @return The converted value, or &lt;jk&gt;null&lt;/jk&gt; if the map contains no mapping for this key.<a name="line.835"></a>
+<span class="sourceLineNo">836</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.836"></a>
+<span class="sourceLineNo">837</span>    */<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   public ObjectMap getObjectMap(String key) {<a name="line.838"></a>
+<span class="sourceLineNo">839</span>      return get(ObjectMap.class, key);<a name="line.839"></a>
+<span class="sourceLineNo">840</span>   }<a name="line.840"></a>
+<span class="sourceLineNo">841</span><a name="line.841"></a>
+<span class="sourceLineNo">842</span>   /**<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    * Returns the specified entry value converted to a {@link ObjectMap}.<a name="line.843"></a>
+<span class="sourceLineNo">844</span>    *<a name="line.844"></a>
+<span class="sourceLineNo">845</span>    * &lt;p&gt;<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    * Shortcut for &lt;code&gt;get(ObjectMap.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.846"></a>
+<span class="sourceLineNo">847</span>    *<a name="line.847"></a>
+<span class="sourceLineNo">848</span>    * @param key The key.<a name="line.848"></a>
+<span class="sourceLineNo">849</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.849"></a>
+<span class="sourceLineNo">850</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.850"></a>
+<span class="sourceLineNo">851</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.851"></a>
+<span class="sourceLineNo">852</span>    */<a name="line.852"></a>
+<span class="sourceLineNo">853</span>   public ObjectMap getObjectMap(String key, ObjectMap defVal) {<a name="line.853"></a>
+<span class="sourceLineNo">854</span>      return get(ObjectMap.class, key, defVal);<a name="line.854"></a>
+<span class="sourceLineNo">855</span>   }<a name="line.855"></a>
+<span class="sourceLineNo">856</span><a name="line.856"></a>
+<span class="sourceLineNo">857</span>   /**<a name="line.857"></a>
+<span class="sourceLineNo">858</span>    * Returns the specified entry value converted to a {@link ObjectList}.<a name="line.858"></a>
+<span class="sourceLineNo">859</span>    *<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    * &lt;p&gt;<a name="line.860"></a>
+<span class="sourceLineNo">861</span>    * Shortcut for &lt;code&gt;get(ObjectList.&lt;jk&gt;class&lt;/jk&gt;, key)&lt;/code&gt;.<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    *<a name="line.862"></a>
+<span class="sourceLineNo">863</span>    * @param key The key.<a name="line.863"></a>
+<span class="sourceLineNo">864</span>    * @return The converted value, or &lt;jk&gt;null&lt;/jk&gt; if the map contains no mapping for this key.<a name="line.864"></a>
+<span class="sourceLineNo">865</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.865"></a>
+<span class="sourceLineNo">866</span>    */<a name="line.866"></a>
+<span class="sourceLineNo">867</span>   public ObjectList getObjectList(String key) {<a name="line.867"></a>
+<span class="sourceLineNo">868</span>      return get(ObjectList.class, key);<a name="line.868"></a>
+<span class="sourceLineNo">869</span>   }<a name="line.869"></a>
+<span class="sourceLineNo">870</span><a name="line.870"></a>
+<span class="sourceLineNo">871</span>   /**<a name="line.871"></a>
+<span class="sourceLineNo">872</span>    * Returns the specified entry value converted to a {@link ObjectList}.<a name="line.872"></a>
+<span class="sourceLineNo">873</span>    *<a name="line.873"></a>
+<span class="sourceLineNo">874</span>    * &lt;p&gt;<a name="line.874"></a>
+<span class="sourceLineNo">875</span>    * Shortcut for &lt;code&gt;get(ObjectList.&lt;jk&gt;class&lt;/jk&gt;, key, defVal)&lt;/code&gt;.<a name="line.875"></a>
+<span class="sourceLineNo">876</span>    *<a name="line.876"></a>
+<span class="sourceLineNo">877</span>    * @param key The key.<a name="line.877"></a>
+<span class="sourceLineNo">878</span>    * @param defVal The default value if the map doesn't contain the specified mapping.<a name="line.878"></a>
+<span class="sourceLineNo">879</span>    * @return The converted value, or the default value if the map contains no mapping for this key.<a name="line.879"></a>
+<span class="sourceLineNo">880</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.880"></a>
+<span class="sourceLineNo">881</span>    */<a name="line.881"></a>
+<span class="sourceLineNo">882</span>   public ObjectList getObjectList(String key, ObjectList defVal) {<a name="line.882"></a>
+<span class="sourceLineNo">883</span>      return get(ObjectList.class, key, defVal);<a name="line.883"></a>
+<span class="sourceLineNo">884</span>   }<a name="line.884"></a>
+<span class="sourceLineNo">885</span><a name="line.885"></a>
+<span class="sourceLineNo">886</span>   /**<a name="line.886"></a>
+<span class="sourceLineNo">887</span>    * Returns the first entry that exists converted to a {@link String}.<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>    * Shortcut for &lt;code&gt;find(String.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.890"></a>
+<span class="sourceLineNo">891</span>    *<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    * @param keys The list of keys to look for.<a name="line.892"></a>
+<span class="sourceLineNo">893</span>    * @return<a name="line.893"></a>
+<span class="sourceLineNo">894</span>    *    The converted value of the first key in the list that has an entry in this map, or &lt;jk&gt;null&lt;/jk&gt; if the map<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    *    contains no mapping for any of the keys.<a name="line.895"></a>
+<span class="sourceLineNo">896</span>    */<a name="line.896"></a>
+<span class="sourceLineNo">897</span>   public String findString(String... keys) {<a name="line.897"></a>
+<span class="sourceLineNo">898</span>      return find(String.class, keys);<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>    * Returns the first entry that exists converted to an {@link Integer}.<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>    * Shortcut for &lt;code&gt;find(Integer.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.905"></a>
+<span class="sourceLineNo">906</span>    *<a name="line.906"></a>
+<span class="sourceLineNo">907</span>    * @param keys The list of keys to look for.<a name="line.907"></a>
+<span class="sourceLineNo">908</span>    * @return<a name="line.908"></a>
+<span class="sourceLineNo">909</span>    *    The converted value of the first key in the list that has an entry in this map, or &lt;jk&gt;null&lt;/jk&gt; if the map<a name="line.909"></a>
+<span class="sourceLineNo">910</span>    *    contains no mapping for any of the keys.<a name="line.910"></a>
+<span class="sourceLineNo">911</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.911"></a>
+<span class="sourceLineNo">912</span>    */<a name="line.912"></a>
+<span class="sourceLineNo">913</span>   public Integer findInt(String... keys) {<a name="line.913"></a>
+<span class="sourceLineNo">914</span>      return find(Integer.class, keys);<a name="line.914"></a>
+<span class="sourceLineNo">915</span>   }<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>    * Returns the first entry that exists converted to a {@link Long}.<a name="line.918"></a>
+<span class="sourceLineNo">919</span>    *<a name="line.919"></a>
+<span class="sourceLineNo">920</span>    * &lt;p&gt;<a name="line.920"></a>
+<span class="sourceLineNo">921</span>    * Shortcut for &lt;code&gt;find(Long.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.921"></a>
+<span class="sourceLineNo">922</span>    *<a name="line.922"></a>
+<span class="sourceLineNo">923</span>    * @param keys The list of keys to look for.<a name="line.923"></a>
+<span class="sourceLineNo">924</span>    * @return<a name="line.924"></a>
+<span class="sourceLineNo">925</span>    *    The converted value of the first key in the list that has an entry in this map, or &lt;jk&gt;null&lt;/jk&gt; if the map<a name="line.925"></a>
+<span class="sourceLineNo">926</span>    *    contains no mapping for any of the keys.<a name="line.926"></a>
+<span class="sourceLineNo">927</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.927"></a>
+<span class="sourceLineNo">928</span>    */<a name="line.928"></a>
+<span class="sourceLineNo">929</span>   public Long findLong(String... keys) {<a name="line.929"></a>
+<span class="sourceLineNo">930</span>      return find(Long.class, keys);<a name="line.930"></a>
+<span class="sourceLineNo">931</span>   }<a name="line.931"></a>
+<span class="sourceLineNo">932</span><a name="line.932"></a>
+<span class="sourceLineNo">933</span>   /**<a name="line.933"></a>
+<span class="sourceLineNo">934</span>    * Returns the first entry that exists converted to a {@link Boolean}.<a name="line.934"></a>
+<span class="sourceLineNo">935</span>    *<a name="line.935"></a>
+<span class="sourceLineNo">936</span>    * &lt;p&gt;<a name="line.936"></a>
+<span class="sourceLineNo">937</span>    * Shortcut for &lt;code&gt;find(Boolean.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.937"></a>
+<span class="sourceLineNo">938</span>    *<a name="line.938"></a>
+<span class="sourceLineNo">939</span>    * @param keys The list of keys to look for.<a name="line.939"></a>
+<span class="sourceLineNo">940</span>    * @return<a name="line.940"></a>
+<span class="sourceLineNo">941</span>    *    The converted value of the first key in the list that has an entry in this map, or &lt;jk&gt;null&lt;/jk&gt; if the map<a name="line.941"></a>
+<span class="sourceLineNo">942</span>    *    contains no mapping for any of the keys.<a name="line.942"></a>
+<span class="sourceLineNo">943</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.943"></a>
+<span class="sourceLineNo">944</span>    */<a name="line.944"></a>
+<span class="sourceLineNo">945</span>   public Boolean findBoolean(String... keys) {<a name="line.945"></a>
+<span class="sourceLineNo">946</span>      return find(Boolean.class, keys);<a name="line.946"></a>
+<span class="sourceLineNo">947</span>   }<a name="line.947"></a>
+<span class="sourceLineNo">948</span><a name="line.948"></a>
+<span class="sourceLineNo">949</span>   /**<a name="line.949"></a>
+<span class="sourceLineNo">950</span>    * Returns the first entry that exists converted to a {@link Map}.<a name="line.950"></a>
+<span class="sourceLineNo">951</span>    *<a name="line.951"></a>
+<span class="sourceLineNo">952</span>    * &lt;p&gt;<a name="line.952"></a>
+<span class="sourceLineNo">953</span>    * Shortcut for &lt;code&gt;find(Map.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.953"></a>
+<span class="sourceLineNo">954</span>    *<a name="line.954"></a>
+<span class="sourceLineNo">955</span>    * @param keys The list of keys to look for.<a name="line.955"></a>
+<span class="sourceLineNo">956</span>    * @return<a name="line.956"></a>
+<span class="sourceLineNo">957</span>    *    The converted value of the first key in the list that has an entry in this map, or &lt;jk&gt;null&lt;/jk&gt; if the map<a name="line.957"></a>
+<span class="sourceLineNo">958</span>    *    contains no mapping for any of the keys.<a name="line.958"></a>
+<span class="sourceLineNo">959</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.959"></a>
+<span class="sourceLineNo">960</span>    */<a name="line.960"></a>
+<span class="sourceLineNo">961</span>   public Map&lt;?,?&gt; findMap(String... keys) {<a name="line.961"></a>
+<span class="sourceLineNo">962</span>      return find(Map.class, keys);<a name="line.962"></a>
+<span class="sourceLineNo">963</span>   }<a name="line.963"></a>
+<span class="sourceLineNo">964</span><a name="line.964"></a>
+<span class="sourceLineNo">965</span>   /**<a name="line.965"></a>
+<span class="sourceLineNo">966</span>    * Returns the first entry that exists converted to a {@link List}.<a name="line.966"></a>
+<span class="sourceLineNo">967</span>    *<a name="line.967"></a>
+<span class="sourceLineNo">968</span>    * &lt;p&gt;<a name="line.968"></a>
+<span class="sourceLineNo">969</span>    * Shortcut for &lt;code&gt;find(List.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.969"></a>
+<span class="sourceLineNo">970</span>    *<a name="line.970"></a>
+<span class="sourceLineNo">971</span>    * @param keys The list of keys to look for.<a name="line.971"></a>
+<span class="sourceLineNo">972</span>    * @return<a name="line.972"></a>
+<span class="sourceLineNo">973</span>    *    The converted value of the first key in the list that has an entry in this map, or &lt;jk&gt;null&lt;/jk&gt; if the map<a name="line.973"></a>
+<span class="sourceLineNo">974</span>    *    contains no mapping for any of the keys.<a name="line.974"></a>
+<span class="sourceLineNo">975</span>    * @throws InvalidDataConversionException If value cannot be converted.<a name="line.975"></a>
+<span class="sourceLineNo">976</span>    */<a name="line.976"></a>
+<span class="sourceLineNo">977</span>   public List&lt;?&gt; findList(String... keys) {<a name="line.977"></a>
+<span class="sourceLineNo">978</span>      return find(List.class, keys);<a name="line.978"></a>
+<span class="sourceLineNo">979</span>   }<a name="line.979"></a>
+<span class="sourceLineNo">980</span><a name="line.980"></a>
+<span class="sourceLineNo">981</span>   /**<a name="line.981"></a>
+<span class="sourceLineNo">982</span>    * Returns the first entry that exists converted to a {@link ObjectMap}.<a name="line.982"></a>
+<span class="sourceLineNo">983</span>    *<a name="line.983"></a>
+<span class="sourceLineNo">984</span>    * &lt;p&gt;<a name="line.984"></a>
+<span class="sourceLineNo">985</span>    * Shortcut for &lt;code&gt;find(ObjectMap.&lt;jk&gt;class&lt;/jk&gt;, keys)&lt;/code&gt;.<a name="line.985"></a>
+<span class="sourceLineNo">986</span>    *<a name="line.986"></a>
+<span class="sourceLineNo">987</span>    * @param keys The list of keys to look for.<a name="line.987"></a>
+<span class="sourceLineNo">988</span>    * @return<a name="line.988"></a>
+<span cla

<TRUNCATED>


[04/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
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>
 
 
 


[07/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/rest/RestConfig.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/RestConfig.html b/content/site/apidocs/src-html/org/apache/juneau/rest/RestConfig.html
index 63150e3..402f7ed 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/RestConfig.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/RestConfig.html
@@ -120,1617 +120,1620 @@
 <span class="sourceLineNo">112</span>   Object favIcon;<a name="line.112"></a>
 <span class="sourceLineNo">113</span>   List&lt;Object&gt; staticFiles;<a name="line.113"></a>
 <span class="sourceLineNo">114</span>   RestContext parentContext;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   String path, htmlTitle, htmlDescription, htmlBranding, htmlLinks, htmlHeader, htmlNav, htmlAside, htmlFooter,<a name="line.115"></a>
+<span class="sourceLineNo">115</span>   String path, htmlTitle, htmlDescription, htmlBranding, htmlHeader, htmlNav, htmlAside, htmlFooter,<a name="line.115"></a>
 <span class="sourceLineNo">116</span>      htmlStyle, htmlStylesheet, htmlScript, htmlNoResultsMessage;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   String clientVersionHeader = "X-Client-Version";<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>   Object resourceResolver = RestResourceResolver.class;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   Object logger = RestLogger.Normal.class;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   Object callHandler = RestCallHandler.class;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   Object infoProvider = RestInfoProvider.class;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>   boolean htmlNoWrap;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   Object htmlTemplate = HtmlDocTemplateBasic.class;<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>   Class&lt;?&gt; resourceClass;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   Map&lt;String,Widget&gt; widgets = new HashMap&lt;String,Widget&gt;();<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>   /**<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    * Constructor.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    *<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    * @param config The servlet config passed into the servlet by the servlet container.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    * @param resource The class annotated with &lt;ja&gt;@RestResource&lt;/ja&gt;.<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    * @throws ServletException Something bad happened.<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    */<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   RestConfig(ServletConfig config, Class&lt;?&gt; resourceClass, RestContext parentContext) throws ServletException {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      this.inner = config;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      this.resourceClass = resourceClass;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      this.parentContext = parentContext;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      try {<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>         ConfigFileBuilder cfb = new ConfigFileBuilder();<a name="line.143"></a>
-<span class="sourceLineNo">144</span><a name="line.144"></a>
-<span class="sourceLineNo">145</span>         properties = new ObjectMap();<a name="line.145"></a>
-<span class="sourceLineNo">146</span>         configFile = cfb.build();<a name="line.146"></a>
-<span class="sourceLineNo">147</span>         varResolverBuilder = new VarResolverBuilder()<a name="line.147"></a>
-<span class="sourceLineNo">148</span>            .vars(<a name="line.148"></a>
-<span class="sourceLineNo">149</span>               SystemPropertiesVar.class,<a name="line.149"></a>
-<span class="sourceLineNo">150</span>               EnvVariablesVar.class,<a name="line.150"></a>
-<span class="sourceLineNo">151</span>               ConfigFileVar.class,<a name="line.151"></a>
-<span class="sourceLineNo">152</span>               IfVar.class,<a name="line.152"></a>
-<span class="sourceLineNo">153</span>               SwitchVar.class<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>         VarResolver vr = varResolverBuilder.build();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>         Map&lt;Class&lt;?&gt;,RestResource&gt; restResourceAnnotationsParentFirst = findAnnotationsMapParentFirst(RestResource.class, resourceClass);<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>         // Find our config file.  It's the last non-empty @RestResource.config().<a name="line.160"></a>
-<span class="sourceLineNo">161</span>         String configPath = "";<a name="line.161"></a>
-<span class="sourceLineNo">162</span>         for (RestResource r : restResourceAnnotationsParentFirst.values())<a name="line.162"></a>
-<span class="sourceLineNo">163</span>            if (! r.config().isEmpty())<a name="line.163"></a>
-<span class="sourceLineNo">164</span>               configPath = r.config();<a name="line.164"></a>
-<span class="sourceLineNo">165</span>         String cf = vr.resolve(configPath);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>         if (! cf.isEmpty())<a name="line.166"></a>
-<span class="sourceLineNo">167</span>            configFile = cfb.build(cf);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>         configFile = configFile.getResolving(vr);<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>         // Add our config file to the variable resolver.<a name="line.170"></a>
-<span class="sourceLineNo">171</span>         varResolverBuilder.contextObject(ConfigFileVar.SESSION_config, configFile);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>         vr = varResolverBuilder.build();<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>         // Add the servlet init parameters to our properties.<a name="line.174"></a>
-<span class="sourceLineNo">175</span>         for (Enumeration&lt;String&gt; ep = config.getInitParameterNames(); ep.hasMoreElements();) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>            String p = ep.nextElement();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>            String initParam = config.getInitParameter(p);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>            properties.put(vr.resolve(p), vr.resolve(initParam));<a name="line.178"></a>
-<span class="sourceLineNo">179</span>         }<a name="line.179"></a>
-<span class="sourceLineNo">180</span><a name="line.180"></a>
-<span class="sourceLineNo">181</span>         // Load stuff from parent-to-child order.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>         // This allows child settings to overwrite parent settings.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>         for (Map.Entry&lt;Class&lt;?&gt;,RestResource&gt; e : restResourceAnnotationsParentFirst.entrySet()) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>            Class&lt;?&gt; c = e.getKey();<a name="line.184"></a>
-<span class="sourceLineNo">185</span>            RestResource r = e.getValue();<a name="line.185"></a>
-<span class="sourceLineNo">186</span>            for (Property p : r.properties())<a name="line.186"></a>
-<span class="sourceLineNo">187</span>               properties.append(vr.resolve(p.name()), vr.resolve(p.value()));<a name="line.187"></a>
-<span class="sourceLineNo">188</span>            for (String p : r.flags())<a name="line.188"></a>
-<span class="sourceLineNo">189</span>               properties.append(p, true);<a name="line.189"></a>
-<span class="sourceLineNo">190</span>            addSerializers(r.serializers());<a name="line.190"></a>
-<span class="sourceLineNo">191</span>            addParsers(r.parsers());<a name="line.191"></a>
-<span class="sourceLineNo">192</span>            addEncoders(r.encoders());<a name="line.192"></a>
-<span class="sourceLineNo">193</span>            addDefaultRequestHeaders(r.defaultRequestHeaders());<a name="line.193"></a>
-<span class="sourceLineNo">194</span>            addDefaultResponseHeaders(r.defaultResponseHeaders());<a name="line.194"></a>
-<span class="sourceLineNo">195</span>            addResponseHandlers(r.responseHandlers());<a name="line.195"></a>
-<span class="sourceLineNo">196</span>            addConverters(r.converters());<a name="line.196"></a>
-<span class="sourceLineNo">197</span>            addGuards(reverse(r.guards()));<a name="line.197"></a>
-<span class="sourceLineNo">198</span>            addChildResources(r.children());<a name="line.198"></a>
-<span class="sourceLineNo">199</span>            addBeanFilters(r.beanFilters());<a name="line.199"></a>
-<span class="sourceLineNo">200</span>            addPojoSwaps(r.pojoSwaps());<a name="line.200"></a>
-<span class="sourceLineNo">201</span>            addParamResolvers(r.paramResolvers());<a name="line.201"></a>
-<span class="sourceLineNo">202</span>            serializerListener(r.serializerListener());<a name="line.202"></a>
-<span class="sourceLineNo">203</span>            parserListener(r.parserListener());<a name="line.203"></a>
-<span class="sourceLineNo">204</span>            if (! r.favicon().isEmpty())<a name="line.204"></a>
-<span class="sourceLineNo">205</span>               setFavIcon(c, r.favicon());<a name="line.205"></a>
-<span class="sourceLineNo">206</span>            if (! r.staticFiles().isEmpty())<a name="line.206"></a>
-<span class="sourceLineNo">207</span>               addStaticFiles(c, r.staticFiles());<a name="line.207"></a>
-<span class="sourceLineNo">208</span>            if (! r.path().isEmpty())<a name="line.208"></a>
-<span class="sourceLineNo">209</span>               setPath(r.path());<a name="line.209"></a>
-<span class="sourceLineNo">210</span>            if (! r.clientVersionHeader().isEmpty())<a name="line.210"></a>
-<span class="sourceLineNo">211</span>               setClientVersionHeader(r.clientVersionHeader());<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>            if (r.resourceResolver() != RestResourceResolver.class)<a name="line.213"></a>
-<span class="sourceLineNo">214</span>               setResourceResolver(r.resourceResolver());<a name="line.214"></a>
-<span class="sourceLineNo">215</span>            if (r.logger() != RestLogger.Normal.class)<a name="line.215"></a>
-<span class="sourceLineNo">216</span>               setLogger(r.logger());<a name="line.216"></a>
-<span class="sourceLineNo">217</span>            if (r.callHandler() != RestCallHandler.class)<a name="line.217"></a>
-<span class="sourceLineNo">218</span>               setCallHandler(r.callHandler());<a name="line.218"></a>
-<span class="sourceLineNo">219</span>            if (r.infoProvider() != RestInfoProvider.class)<a name="line.219"></a>
-<span class="sourceLineNo">220</span>               setInfoProvider(r.infoProvider());<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>            for (Class&lt;? extends Widget&gt; cw : r.widgets())<a name="line.222"></a>
-<span class="sourceLineNo">223</span>               addWidget(cw);<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>            HtmlDoc hd = r.htmldoc();<a name="line.225"></a>
-<span class="sourceLineNo">226</span>            if (! hd.title().isEmpty())<a name="line.226"></a>
-<span class="sourceLineNo">227</span>               setHtmlTitle(hd.title());<a name="line.227"></a>
-<span class="sourceLineNo">228</span>            if (! hd.description().isEmpty())<a name="line.228"></a>
-<span class="sourceLineNo">229</span>               setHtmlDescription(hd.description());<a name="line.229"></a>
-<span class="sourceLineNo">230</span>            if (! hd.branding().isEmpty())<a name="line.230"></a>
-<span class="sourceLineNo">231</span>               setHtmlBranding(hd.branding());<a name="line.231"></a>
-<span class="sourceLineNo">232</span>            if (! hd.header().isEmpty())<a name="line.232"></a>
-<span class="sourceLineNo">233</span>               setHtmlHeader(hd.header());<a name="line.233"></a>
-<span class="sourceLineNo">234</span>            if (! hd.links().isEmpty())<a name="line.234"></a>
-<span class="sourceLineNo">235</span>               setHtmlLinks(hd.links());<a name="line.235"></a>
-<span class="sourceLineNo">236</span>            if (! hd.nav().isEmpty())<a name="line.236"></a>
-<span class="sourceLineNo">237</span>               setHtmlNav(hd.nav());<a name="line.237"></a>
-<span class="sourceLineNo">238</span>            if (! hd.aside().isEmpty())<a name="line.238"></a>
-<span class="sourceLineNo">239</span>               setHtmlAside(hd.aside());<a name="line.239"></a>
-<span class="sourceLineNo">240</span>            if (! hd.footer().isEmpty())<a name="line.240"></a>
-<span class="sourceLineNo">241</span>               setHtmlFooter(hd.footer());<a name="line.241"></a>
-<span class="sourceLineNo">242</span>            if (! hd.style().isEmpty())<a name="line.242"></a>
-<span class="sourceLineNo">243</span>               setHtmlStyle(hd.style());<a name="line.243"></a>
-<span class="sourceLineNo">244</span>            if (! hd.stylesheet().isEmpty())<a name="line.244"></a>
-<span class="sourceLineNo">245</span>               setHtmlStylesheet(hd.stylesheet());<a name="line.245"></a>
-<span class="sourceLineNo">246</span>            if (! hd.noResultsMessage().isEmpty())<a name="line.246"></a>
-<span class="sourceLineNo">247</span>               setHtmlNoResultsMessage(hd.noResultsMessage());<a name="line.247"></a>
-<span class="sourceLineNo">248</span>            if (hd.nowrap())<a name="line.248"></a>
-<span class="sourceLineNo">249</span>               setHtmlNoWrap(true);<a name="line.249"></a>
-<span class="sourceLineNo">250</span>            if (hd.template() != HtmlDocTemplate.class)<a name="line.250"></a>
-<span class="sourceLineNo">251</span>               setHtmlTemplate(hd.template());<a name="line.251"></a>
-<span class="sourceLineNo">252</span>         }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>         addResponseHandlers(<a name="line.254"></a>
-<span class="sourceLineNo">255</span>            StreamableHandler.class,<a name="line.255"></a>
-<span class="sourceLineNo">256</span>            WritableHandler.class,<a name="line.256"></a>
-<span class="sourceLineNo">257</span>            ReaderHandler.class,<a name="line.257"></a>
-<span class="sourceLineNo">258</span>            InputStreamHandler.class,<a name="line.258"></a>
-<span class="sourceLineNo">259</span>            RedirectHandler.class,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>            DefaultHandler.class<a name="line.260"></a>
-<span class="sourceLineNo">261</span>         );<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>         addMimeTypes(<a name="line.263"></a>
-<span class="sourceLineNo">264</span>            "text/css css CSS",<a name="line.264"></a>
-<span class="sourceLineNo">265</span>            "text/html html htm HTML",<a name="line.265"></a>
-<span class="sourceLineNo">266</span>            "text/plain txt text TXT",<a name="line.266"></a>
-<span class="sourceLineNo">267</span>            "application/javascript js",<a name="line.267"></a>
-<span class="sourceLineNo">268</span>            "image/png png",<a name="line.268"></a>
-<span class="sourceLineNo">269</span>            "image/gif gif",<a name="line.269"></a>
-<span class="sourceLineNo">270</span>            "application/xml xml XML",<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            "application/json json JSON"<a name="line.271"></a>
-<span class="sourceLineNo">272</span>         );<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      } catch (Exception e) {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>         throw new ServletException(e);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   }<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span>   /**<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    * Adds the specified {@link Var} classes to this config.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    *<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    * &lt;p&gt;<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    * These variables affect the variable resolver returned by {@link RestRequest#getVarResolverSession()} which is<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    * used to resolve string variables of the form &lt;js&gt;"$X{...}"&lt;/js&gt;.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    *<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    * &lt;p&gt;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    * By default, this config includes the following variables:<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    * &lt;ul&gt;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    *    &lt;li&gt;{@link SystemPropertiesVar}<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    *    &lt;li&gt;{@link EnvVariablesVar}<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    *    &lt;li&gt;{@link ConfigFileVar}<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    *    &lt;li&gt;{@link IfVar}<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    *    &lt;li&gt;{@link SwitchVar}<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    * &lt;/ul&gt;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    *<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    * &lt;p&gt;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    * Later during the construction of {@link RestContext}, we add the following variables:<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    * &lt;ul&gt;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    *    &lt;li&gt;{@link LocalizationVar}<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    *    &lt;li&gt;{@link RequestVar}<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    *    &lt;li&gt;{@link SerializedRequestAttrVar}<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    *    &lt;li&gt;{@link ServletInitParamVar}<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    *    &lt;li&gt;{@link UrlVar}<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    *    &lt;li&gt;{@link UrlEncodeVar}<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    *    &lt;li&gt;{@link WidgetVar}<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    * &lt;/ul&gt;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    *<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    * @param vars The {@link Var} classes to add to this config.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    * @return This object (for method chaining).<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    */<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   public RestConfig addVars(Class&lt;?&gt;...vars) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      this.varResolverBuilder.vars(vars);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      return this;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>   /**<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    * Adds a var context object to this config.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    *<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    * &lt;p&gt;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    * Var context objects are read-only objects associated with the variable resolver for vars that require external<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    * information.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    *<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    * &lt;p&gt;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    * For example, the {@link ConfigFileVar} needs access to this resource's {@link ConfigFile} through the<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    * {@link ConfigFileVar#SESSION_config} object that can be specified as either a session object (temporary) or<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    * context object (permanent).<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    * In this case, we call the following code to add it to the context map:<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    * &lt;p class='bcode'&gt;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    *    config.addVarContextObject(&lt;jsf&gt;SESSION_config&lt;/jsf&gt;, configFile);<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    * &lt;/p&gt;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    *<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    * @param name The context object key (i.e. the name that the Var class looks for).<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    * @param object The context object.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    * @return This object (for method chaining).<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    */<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   public RestConfig addVarContextObject(String name, Object object) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      this.varResolverBuilder.contextObject(name, object);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      return this;<a name="line.337"></a>
-<span class="sourceLineNo">338</span>   }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>   /**<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    * Overwrites the default config file with a custom config file.<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    *<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    * &lt;p&gt;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    * By default, the config file is determined using the {@link RestResource#config() @RestResource.config()}<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    * annotation.<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    * This method allows you to programmatically override it with your own custom config file.<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    *<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    * @param configFile The new config file.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    * @return This object (for method chaining).<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    */<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   public RestConfig setConfigFile(ConfigFile configFile) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      this.configFile = configFile;<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      return this;<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   }<a name="line.354"></a>
-<span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>   /**<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    * Sets a property on this resource.<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    *<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    * &lt;p&gt;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    * This is the programmatic equivalent to the {@link RestResource#properties()} annotation.<a name="line.360"></a>
+<span class="sourceLineNo">117</span>   String[] htmlLinks;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   String clientVersionHeader = "X-Client-Version";<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>   Object resourceResolver = RestResourceResolver.class;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   Object logger = RestLogger.Normal.class;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   Object callHandler = RestCallHandler.class;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   Object infoProvider = RestInfoProvider.class;<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>   boolean htmlNoWrap;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   Object htmlTemplate = HtmlDocTemplateBasic.class;<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>   Class&lt;?&gt; resourceClass;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   Map&lt;String,Widget&gt; widgets = new HashMap&lt;String,Widget&gt;();<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>   /**<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    * Constructor.<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    *<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    * @param config The servlet config passed into the servlet by the servlet container.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    * @param resource The class annotated with &lt;ja&gt;@RestResource&lt;/ja&gt;.<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    * @throws ServletException Something bad happened.<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    */<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   RestConfig(ServletConfig config, Class&lt;?&gt; resourceClass, RestContext parentContext) throws ServletException {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      this.inner = config;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      this.resourceClass = resourceClass;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      this.parentContext = parentContext;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      try {<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>         ConfigFileBuilder cfb = new ConfigFileBuilder();<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>         properties = new ObjectMap();<a name="line.146"></a>
+<span class="sourceLineNo">147</span>         configFile = cfb.build();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>         varResolverBuilder = new VarResolverBuilder()<a name="line.148"></a>
+<span class="sourceLineNo">149</span>            .vars(<a name="line.149"></a>
+<span class="sourceLineNo">150</span>               SystemPropertiesVar.class,<a name="line.150"></a>
+<span class="sourceLineNo">151</span>               EnvVariablesVar.class,<a name="line.151"></a>
+<span class="sourceLineNo">152</span>               ConfigFileVar.class,<a name="line.152"></a>
+<span class="sourceLineNo">153</span>               IfVar.class,<a name="line.153"></a>
+<span class="sourceLineNo">154</span>               SwitchVar.class<a name="line.154"></a>
+<span class="sourceLineNo">155</span>            );<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>         VarResolver vr = varResolverBuilder.build();<a name="line.157"></a>
+<span class="sourceLineNo">158</span><a name="line.158"></a>
+<span class="sourceLineNo">159</span>         Map&lt;Class&lt;?&gt;,RestResource&gt; restResourceAnnotationsParentFirst = findAnnotationsMapParentFirst(RestResource.class, resourceClass);<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>         // Find our config file.  It's the last non-empty @RestResource.config().<a name="line.161"></a>
+<span class="sourceLineNo">162</span>         String configPath = "";<a name="line.162"></a>
+<span class="sourceLineNo">163</span>         for (RestResource r : restResourceAnnotationsParentFirst.values())<a name="line.163"></a>
+<span class="sourceLineNo">164</span>            if (! r.config().isEmpty())<a name="line.164"></a>
+<span class="sourceLineNo">165</span>               configPath = r.config();<a name="line.165"></a>
+<span class="sourceLineNo">166</span>         String cf = vr.resolve(configPath);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>         if (! cf.isEmpty())<a name="line.167"></a>
+<span class="sourceLineNo">168</span>            configFile = cfb.build(cf);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>         configFile = configFile.getResolving(vr);<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>         // Add our config file to the variable resolver.<a name="line.171"></a>
+<span class="sourceLineNo">172</span>         varResolverBuilder.contextObject(ConfigFileVar.SESSION_config, configFile);<a name="line.172"></a>
+<span class="sourceLineNo">173</span>         vr = varResolverBuilder.build();<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>         // Add the servlet init parameters to our properties.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>         for (Enumeration&lt;String&gt; ep = config.getInitParameterNames(); ep.hasMoreElements();) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            String p = ep.nextElement();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>            String initParam = config.getInitParameter(p);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>            properties.put(vr.resolve(p), vr.resolve(initParam));<a name="line.179"></a>
+<span class="sourceLineNo">180</span>         }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>         // Load stuff from parent-to-child order.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>         // This allows child settings to overwrite parent settings.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>         for (Map.Entry&lt;Class&lt;?&gt;,RestResource&gt; e : restResourceAnnotationsParentFirst.entrySet()) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>            Class&lt;?&gt; c = e.getKey();<a name="line.185"></a>
+<span class="sourceLineNo">186</span>            RestResource r = e.getValue();<a name="line.186"></a>
+<span class="sourceLineNo">187</span>            for (Property p : r.properties())<a name="line.187"></a>
+<span class="sourceLineNo">188</span>               properties.append(vr.resolve(p.name()), vr.resolve(p.value()));<a name="line.188"></a>
+<span class="sourceLineNo">189</span>            for (String p : r.flags())<a name="line.189"></a>
+<span class="sourceLineNo">190</span>               properties.append(p, true);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>            addSerializers(r.serializers());<a name="line.191"></a>
+<span class="sourceLineNo">192</span>            addParsers(r.parsers());<a name="line.192"></a>
+<span class="sourceLineNo">193</span>            addEncoders(r.encoders());<a name="line.193"></a>
+<span class="sourceLineNo">194</span>            addDefaultRequestHeaders(r.defaultRequestHeaders());<a name="line.194"></a>
+<span class="sourceLineNo">195</span>            addDefaultResponseHeaders(r.defaultResponseHeaders());<a name="line.195"></a>
+<span class="sourceLineNo">196</span>            addResponseHandlers(r.responseHandlers());<a name="line.196"></a>
+<span class="sourceLineNo">197</span>            addConverters(r.converters());<a name="line.197"></a>
+<span class="sourceLineNo">198</span>            addGuards(reverse(r.guards()));<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            addChildResources(r.children());<a name="line.199"></a>
+<span class="sourceLineNo">200</span>            addBeanFilters(r.beanFilters());<a name="line.200"></a>
+<span class="sourceLineNo">201</span>            addPojoSwaps(r.pojoSwaps());<a name="line.201"></a>
+<span class="sourceLineNo">202</span>            addParamResolvers(r.paramResolvers());<a name="line.202"></a>
+<span class="sourceLineNo">203</span>            serializerListener(r.serializerListener());<a name="line.203"></a>
+<span class="sourceLineNo">204</span>            parserListener(r.parserListener());<a name="line.204"></a>
+<span class="sourceLineNo">205</span>            if (! r.favicon().isEmpty())<a name="line.205"></a>
+<span class="sourceLineNo">206</span>               setFavIcon(c, r.favicon());<a name="line.206"></a>
+<span class="sourceLineNo">207</span>            if (! r.staticFiles().isEmpty())<a name="line.207"></a>
+<span class="sourceLineNo">208</span>               addStaticFiles(c, r.staticFiles());<a name="line.208"></a>
+<span class="sourceLineNo">209</span>            if (! r.path().isEmpty())<a name="line.209"></a>
+<span class="sourceLineNo">210</span>               setPath(r.path());<a name="line.210"></a>
+<span class="sourceLineNo">211</span>            if (! r.clientVersionHeader().isEmpty())<a name="line.211"></a>
+<span class="sourceLineNo">212</span>               setClientVersionHeader(r.clientVersionHeader());<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>            if (r.resourceResolver() != RestResourceResolver.class)<a name="line.214"></a>
+<span class="sourceLineNo">215</span>               setResourceResolver(r.resourceResolver());<a name="line.215"></a>
+<span class="sourceLineNo">216</span>            if (r.logger() != RestLogger.Normal.class)<a name="line.216"></a>
+<span class="sourceLineNo">217</span>               setLogger(r.logger());<a name="line.217"></a>
+<span class="sourceLineNo">218</span>            if (r.callHandler() != RestCallHandler.class)<a name="line.218"></a>
+<span class="sourceLineNo">219</span>               setCallHandler(r.callHandler());<a name="line.219"></a>
+<span class="sourceLineNo">220</span>            if (r.infoProvider() != RestInfoProvider.class)<a name="line.220"></a>
+<span class="sourceLineNo">221</span>               setInfoProvider(r.infoProvider());<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>            for (Class&lt;? extends Widget&gt; cw : r.widgets())<a name="line.223"></a>
+<span class="sourceLineNo">224</span>               addWidget(cw);<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>            HtmlDoc hd = r.htmldoc();<a name="line.226"></a>
+<span class="sourceLineNo">227</span>            if (! hd.title().isEmpty())<a name="line.227"></a>
+<span class="sourceLineNo">228</span>               setHtmlTitle(hd.title());<a name="line.228"></a>
+<span class="sourceLineNo">229</span>            if (! hd.description().isEmpty())<a name="line.229"></a>
+<span class="sourceLineNo">230</span>               setHtmlDescription(hd.description());<a name="line.230"></a>
+<span class="sourceLineNo">231</span>            if (hd.branding().length &gt; 0)<a name="line.231"></a>
+<span class="sourceLineNo">232</span>               setHtmlBranding(join(hd.branding(), '\n'));<a name="line.232"></a>
+<span class="sourceLineNo">233</span>            if (hd.header().length &gt; 0)<a name="line.233"></a>
+<span class="sourceLineNo">234</span>               setHtmlHeader(join(hd.header(), '\n'));<a name="line.234"></a>
+<span class="sourceLineNo">235</span>            if (hd.links().length != 0)<a name="line.235"></a>
+<span class="sourceLineNo">236</span>               setHtmlLinks(hd.links());<a name="line.236"></a>
+<span class="sourceLineNo">237</span>            if (hd.nav().length &gt; 0)<a name="line.237"></a>
+<span class="sourceLineNo">238</span>               setHtmlNav(join(hd.nav(), '\n'));<a name="line.238"></a>
+<span class="sourceLineNo">239</span>            if (hd.aside().length &gt; 0)<a name="line.239"></a>
+<span class="sourceLineNo">240</span>               setHtmlAside(join(hd.aside(), '\n'));<a name="line.240"></a>
+<span class="sourceLineNo">241</span>            if (hd.footer().length &gt; 0)<a name="line.241"></a>
+<span class="sourceLineNo">242</span>               setHtmlFooter(join(hd.footer(), '\n'));<a name="line.242"></a>
+<span class="sourceLineNo">243</span>            if (hd.style().length &gt; 0)<a name="line.243"></a>
+<span class="sourceLineNo">244</span>               setHtmlStyle(join(hd.style(), '\n'));<a name="line.244"></a>
+<span class="sourceLineNo">245</span>            if (hd.script().length &gt; 0)<a name="line.245"></a>
+<span class="sourceLineNo">246</span>               setHtmlScript(join(hd.script(), '\n'));<a name="line.246"></a>
+<span class="sourceLineNo">247</span>            if (! hd.stylesheet().isEmpty())<a name="line.247"></a>
+<span class="sourceLineNo">248</span>               setHtmlStylesheet(hd.stylesheet());<a name="line.248"></a>
+<span class="sourceLineNo">249</span>            if (! hd.noResultsMessage().isEmpty())<a name="line.249"></a>
+<span class="sourceLineNo">250</span>               setHtmlNoResultsMessage(hd.noResultsMessage());<a name="line.250"></a>
+<span class="sourceLineNo">251</span>            if (hd.nowrap())<a name="line.251"></a>
+<span class="sourceLineNo">252</span>               setHtmlNoWrap(true);<a name="line.252"></a>
+<span class="sourceLineNo">253</span>            if (hd.template() != HtmlDocTemplate.class)<a name="line.253"></a>
+<span class="sourceLineNo">254</span>               setHtmlTemplate(hd.template());<a name="line.254"></a>
+<span class="sourceLineNo">255</span>         }<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>         addResponseHandlers(<a name="line.257"></a>
+<span class="sourceLineNo">258</span>            StreamableHandler.class,<a name="line.258"></a>
+<span class="sourceLineNo">259</span>            WritableHandler.class,<a name="line.259"></a>
+<span class="sourceLineNo">260</span>            ReaderHandler.class,<a name="line.260"></a>
+<span class="sourceLineNo">261</span>            InputStreamHandler.class,<a name="line.261"></a>
+<span class="sourceLineNo">262</span>            RedirectHandler.class,<a name="line.262"></a>
+<span class="sourceLineNo">263</span>            DefaultHandler.class<a name="line.263"></a>
+<span class="sourceLineNo">264</span>         );<a name="line.264"></a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span>         addMimeTypes(<a name="line.266"></a>
+<span class="sourceLineNo">267</span>            "text/css css CSS",<a name="line.267"></a>
+<span class="sourceLineNo">268</span>            "text/html html htm HTML",<a name="line.268"></a>
+<span class="sourceLineNo">269</span>            "text/plain txt text TXT",<a name="line.269"></a>
+<span class="sourceLineNo">270</span>            "application/javascript js",<a name="line.270"></a>
+<span class="sourceLineNo">271</span>            "image/png png",<a name="line.271"></a>
+<span class="sourceLineNo">272</span>            "image/gif gif",<a name="line.272"></a>
+<span class="sourceLineNo">273</span>            "application/xml xml XML",<a name="line.273"></a>
+<span class="sourceLineNo">274</span>            "application/json json JSON"<a name="line.274"></a>
+<span class="sourceLineNo">275</span>         );<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      } catch (Exception e) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>         throw new ServletException(e);<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      }<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   }<a name="line.279"></a>
+<span class="sourceLineNo">280</span><a name="line.280"></a>
+<span class="sourceLineNo">281</span>   /**<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    * Adds the specified {@link Var} classes to this config.<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    *<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    * &lt;p&gt;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    * These variables affect the variable resolver returned by {@link RestRequest#getVarResolverSession()} which is<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    * used to resolve string variables of the form &lt;js&gt;"$X{...}"&lt;/js&gt;.<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    *<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    * &lt;p&gt;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    * By default, this config includes the following variables:<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    * &lt;ul&gt;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    *    &lt;li&gt;{@link SystemPropertiesVar}<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    *    &lt;li&gt;{@link EnvVariablesVar}<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    *    &lt;li&gt;{@link ConfigFileVar}<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    *    &lt;li&gt;{@link IfVar}<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    *    &lt;li&gt;{@link SwitchVar}<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    * &lt;/ul&gt;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    *<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    * &lt;p&gt;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    * Later during the construction of {@link RestContext}, we add the following variables:<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    * &lt;ul&gt;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    *    &lt;li&gt;{@link LocalizationVar}<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    *    &lt;li&gt;{@link RequestVar}<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    *    &lt;li&gt;{@link SerializedRequestAttrVar}<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    *    &lt;li&gt;{@link ServletInitParamVar}<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    *    &lt;li&gt;{@link UrlVar}<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    *    &lt;li&gt;{@link UrlEncodeVar}<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    *    &lt;li&gt;{@link WidgetVar}<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    * &lt;/ul&gt;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    *<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    * @param vars The {@link Var} classes to add to this config.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    * @return This object (for method chaining).<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    */<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   public RestConfig addVars(Class&lt;?&gt;...vars) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      this.varResolverBuilder.vars(vars);<a name="line.314"></a>
+<span class="sourceLineNo">315</span>      return this;<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   }<a name="line.316"></a>
+<span class="sourceLineNo">317</span><a name="line.317"></a>
+<span class="sourceLineNo">318</span>   /**<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    * Adds a var context object to this config.<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    *<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    * &lt;p&gt;<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    * Var context objects are read-only objects associated with the variable resolver for vars that require external<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    * information.<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    *<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    * &lt;p&gt;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    * For example, the {@link ConfigFileVar} needs access to this resource's {@link ConfigFile} through the<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    * {@link ConfigFileVar#SESSION_config} object that can be specified as either a session object (temporary) or<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    * context object (permanent).<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    * In this case, we call the following code to add it to the context map:<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    * &lt;p class='bcode'&gt;<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    *    config.addVarContextObject(&lt;jsf&gt;SESSION_config&lt;/jsf&gt;, configFile);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    * &lt;/p&gt;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    *<a name="line.333"></a>
+<span class="sourceLineNo">334</span>    * @param name The context object key (i.e. the name that the Var class looks for).<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    * @param object The context object.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    * @return This object (for method chaining).<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    */<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   public RestConfig addVarContextObject(String name, Object object) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>      this.varResolverBuilder.contextObject(name, object);<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      return this;<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   }<a name="line.341"></a>
+<span class="sourceLineNo">342</span><a name="line.342"></a>
+<span class="sourceLineNo">343</span>   /**<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    * Overwrites the default config file with a custom config file.<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    *<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    * &lt;p&gt;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    * By default, the config file is determined using the {@link RestResource#config() @RestResource.config()}<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    * annotation.<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    * This method allows you to programmatically override it with your own custom config file.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    *<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    * @param configFile The new config file.<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    * @return This object (for method chaining).<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    */<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   public RestConfig setConfigFile(ConfigFile configFile) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      this.configFile = configFile;<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      return this;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>   }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>   /**<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    * Sets a property on this resource.<a name="line.360"></a>
 <span class="sourceLineNo">361</span>    *<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    * @param key The property name.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    * @param value The property value.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    * @return This object (for method chaining).<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    */<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   public RestConfig setProperty(String key, Object value) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      this.properties.put(key, value);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      return this;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   }<a name="line.369"></a>
-<span class="sourceLineNo">370</span><a name="line.370"></a>
-<span class="sourceLineNo">371</span>   /**<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    * Sets multiple properties on this resource.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    *<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    * &lt;p&gt;<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    * This is the programmatic equivalent to the {@link RestResource#properties() @RestResource.properties()} annotation.<a name="line.375"></a>
+<span class="sourceLineNo">362</span>    * &lt;p&gt;<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    * This is the programmatic equivalent to the {@link RestResource#properties()} annotation.<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    *<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    * @param key The property name.<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    * @param value The property value.<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    * @return This object (for method chaining).<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    */<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   public RestConfig setProperty(String key, Object value) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      this.properties.put(key, value);<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      return this;<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   }<a name="line.372"></a>
+<span class="sourceLineNo">373</span><a name="line.373"></a>
+<span class="sourceLineNo">374</span>   /**<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    * Sets multiple properties on this resource.<a name="line.375"></a>
 <span class="sourceLineNo">376</span>    *<a name="line.376"></a>
 <span class="sourceLineNo">377</span>    * &lt;p&gt;<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    * Values in the map are added to the existing properties and are overwritten if duplicates are found.<a name="line.378"></a>
+<span class="sourceLineNo">378</span>    * This is the programmatic equivalent to the {@link RestResource#properties() @RestResource.properties()} annotation.<a name="line.378"></a>
 <span class="sourceLineNo">379</span>    *<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    * @param properties The new properties to add to this config.<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    * @return This object (for method chaining).<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    */<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   public RestConfig setProperties(Map&lt;String,Object&gt; properties) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      this.properties.putAll(properties);<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      return this;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   }<a name="line.386"></a>
-<span class="sourceLineNo">387</span><a name="line.387"></a>
-<span class="sourceLineNo">388</span>   /**<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    * Adds class-level bean filters to this resource.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    *<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    * &lt;p&gt;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    * This is the programmatic equivalent to the {@link RestResource#beanFilters() @RestResource.beanFilters()}<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    * annotation.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    *<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    * &lt;p&gt;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    * annotation.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    *<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    * @param beanFilters The bean filters to add to this config.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    * @return This object (for method chaining).<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    */<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   public RestConfig addBeanFilters(Class&lt;?&gt;...beanFilters) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      this.beanFilters.addAll(Arrays.asList(beanFilters));<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      return this;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   }<a name="line.405"></a>
-<span class="sourceLineNo">406</span><a name="line.406"></a>
-<span class="sourceLineNo">407</span>   /**<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    * Adds class-level pojo swaps to this resource.<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    *<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    * &lt;p&gt;<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    * This is the programmatic equivalent to the {@link RestResource#pojoSwaps() @RestResource.pojoSwaps()} annotation.<a name="line.411"></a>
+<span class="sourceLineNo">380</span>    * &lt;p&gt;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    * Values in the map are added to the existing properties and are overwritten if duplicates are found.<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    *<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    * @param properties The new properties to add to this config.<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    * @return This object (for method chaining).<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    */<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   public RestConfig setProperties(Map&lt;String,Object&gt; properties) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      this.properties.putAll(properties);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>      return this;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   }<a name="line.389"></a>
+<span class="sourceLineNo">390</span><a name="line.390"></a>
+<span class="sourceLineNo">391</span>   /**<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    * Adds class-level bean filters to this resource.<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    *<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    * &lt;p&gt;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    * This is the programmatic equivalent to the {@link RestResource#beanFilters() @RestResource.beanFilters()}<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    * annotation.<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    *<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    * &lt;p&gt;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    * annotation.<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    *<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    * @param beanFilters The bean filters to add to this config.<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    * @return This object (for method chaining).<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    */<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   public RestConfig addBeanFilters(Class&lt;?&gt;...beanFilters) {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>      this.beanFilters.addAll(Arrays.asList(beanFilters));<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      return this;<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   }<a name="line.408"></a>
+<span class="sourceLineNo">409</span><a name="line.409"></a>
+<span class="sourceLineNo">410</span>   /**<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    * Adds class-level pojo swaps to this resource.<a name="line.411"></a>
 <span class="sourceLineNo">412</span>    *<a name="line.412"></a>
 <span class="sourceLineNo">413</span>    * &lt;p&gt;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    * annotation.<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    *<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    * @param pojoSwaps The pojo swaps to add to this config.<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    * @return This object (for method chaining).<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    */<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   public RestConfig addPojoSwaps(Class&lt;?&gt;...pojoSwaps) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      this.pojoSwaps.addAll(Arrays.asList(pojoSwaps));<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      return this;<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   }<a name="line.423"></a>
-<span class="sourceLineNo">424</span><a name="line.424"></a>
-<span class="sourceLineNo">425</span>   /**<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    * Specifies the serializer listener class to use for listening to non-fatal serialization errors.<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    *<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    * &lt;p&gt;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    * This is the programmatic equivalent to the<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    * {@link RestResource#serializerListener() @RestResource.serializerListener()} annotation.<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    *<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    * @param listener The listener to add to this config.<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    * @return This object (for method chaining).<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    */<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   public RestConfig serializerListener(Class&lt;? extends SerializerListener&gt; listener) {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      if (listener != SerializerListener.class)<a name="line.436"></a>
-<span class="sourceLineNo">437</span>         this.serializerListener = listener;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      return this;<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   }<a name="line.439"></a>
-<span class="sourceLineNo">440</span><a name="line.440"></a>
-<span class="sourceLineNo">441</span>   /**<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    * Specifies the parser listener class to use for listening to non-fatal parse errors.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    *<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    * &lt;p&gt;<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    * This is the programmatic equivalent to the<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    * {@link RestResource#parserListener() @RestResource.parserListener()} annotation.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    *<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    * @param listener The listener to add to this config.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    * @return This object (for method chaining).<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    */<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   public RestConfig parserListener(Class&lt;? extends ParserListener&gt; listener) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      if (listener != ParserListener.class)<a name="line.452"></a>
-<span class="sourceLineNo">453</span>         this.parserListener = listener;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      return this;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   }<a name="line.455"></a>
-<span class="sourceLineNo">456</span><a name="line.456"></a>
-<span class="sourceLineNo">457</span>   /**<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    * Adds class-level parameter resolvers to this resource.<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    *<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    * &lt;p&gt;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    * This is the programmatic equivalent to the<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    * {@link RestResource#paramResolvers() @RestResource.paramResolvers()} annotation.<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    *<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    * @param paramResolvers The parameter resolvers to add to this config.<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    * @return This object (for method chaining).<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    */<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   public RestConfig addParamResolvers(Class&lt;? extends RestParam&gt;...paramResolvers) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      this.paramResolvers.addAll(Arrays.asList(paramResolvers));<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      return this;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   }<a name="line.470"></a>
-<span class="sourceLineNo">471</span><a name="line.471"></a>
-<span class="sourceLineNo">472</span>   /**<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    * Adds class-level serializers to this resource.<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    *<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    * &lt;p&gt;<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    * This is the programmatic equivalent to the {@link RestResource#serializers() @RestResource.serializers()}<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    * annotation.<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    *<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    * &lt;p&gt;<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    * annotation.<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    *<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    * @param serializers The serializer classes to add to this config.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    * @return This object (for method chaining).<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    */<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   public RestConfig addSerializers(Class&lt;?&gt;...serializers) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      this.serializers.append(serializers);<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      return this;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   }<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>   /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    * Adds class-level serializers to this resource.<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    *<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    * &lt;p&gt;<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    * Same as {@link #addSerializers(Class...)} except allows you to pass in serializer instances.<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    * The actual serializer ends up being the result of this operation using the bean filters, pojo swaps, and<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    * properties on this config:<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    * &lt;p class='bcode'&gt;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    *    serializer = serializer.builder().beanFilters(beanFilters).pojoSwaps(pojoSwaps).properties(properties).build();<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    * &lt;/p&gt;<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>
-<span class="sourceLineNo">503</span>    * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    * annotation.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    *<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    * @param serializers The serializers to add to this config.<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    * @return This object (for method chaining).<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    */<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   public RestConfig addSerializers(Serializer...serializers) {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      this.serializers.append(serializers);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      return this;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   }<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span>   /**<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    * Adds class-level parsers to this resource.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    *<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    * &lt;p&gt;<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    * This is the programmatic equivalent to the {@link RestResource#parsers() @RestResource.parsers()} annotation.<a name="line.518"></a>
+<span class="sourceLineNo">414</span>    * This is the programmatic equivalent to the {@link RestResource#pojoSwaps() @RestResource.pojoSwaps()} annotation.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    *<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    * &lt;p&gt;<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    * annotation.<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    *<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    * @param pojoSwaps The pojo swaps to add to this config.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    * @return This object (for method chaining).<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    */<a name="line.422"></a>
+<span class="sourceLineNo">423</span>   public RestConfig addPojoSwaps(Class&lt;?&gt;...pojoSwaps) {<a name="line.423"></a>
+<span class="sourceLineNo">424</span>      this.pojoSwaps.addAll(Arrays.asList(pojoSwaps));<a name="line.424"></a>
+<span class="sourceLineNo">425</span>      return this;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   }<a name="line.426"></a>
+<span class="sourceLineNo">427</span><a name="line.427"></a>
+<span class="sourceLineNo">428</span>   /**<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    * Specifies the serializer listener class to use for listening to non-fatal serialization errors.<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    *<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    * &lt;p&gt;<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    * This is the programmatic equivalent to the<a name="line.432"></a>
+<span class="sourceLineNo">433</span>    * {@link RestResource#serializerListener() @RestResource.serializerListener()} annotation.<a name="line.433"></a>
+<span class="sourceLineNo">434</span>    *<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    * @param listener The listener to add to this config.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    * @return This object (for method chaining).<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    */<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   public RestConfig serializerListener(Class&lt;? extends SerializerListener&gt; listener) {<a name="line.438"></a>
+<span class="sourceLineNo">439</span>      if (listener != SerializerListener.class)<a name="line.439"></a>
+<span class="sourceLineNo">440</span>         this.serializerListener = listener;<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      return this;<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   }<a name="line.442"></a>
+<span class="sourceLineNo">443</span><a name="line.443"></a>
+<span class="sourceLineNo">444</span>   /**<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    * Specifies the parser listener class to use for listening to non-fatal parse errors.<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    *<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    * &lt;p&gt;<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    * This is the programmatic equivalent to the<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    * {@link RestResource#parserListener() @RestResource.parserListener()} annotation.<a name="line.449"></a>
+<span class="sourceLineNo">450</span>    *<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    * @param listener The listener to add to this config.<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    * @return This object (for method chaining).<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    */<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   public RestConfig parserListener(Class&lt;? extends ParserListener&gt; listener) {<a name="line.454"></a>
+<span class="sourceLineNo">455</span>      if (listener != ParserListener.class)<a name="line.455"></a>
+<span class="sourceLineNo">456</span>         this.parserListener = listener;<a name="line.456"></a>
+<span class="sourceLineNo">457</span>      return this;<a name="line.457"></a>
+<span class="sourceLineNo">458</span>   }<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span>   /**<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    * Adds class-level parameter resolvers to this resource.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    *<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    * &lt;p&gt;<a name="line.463"></a>
+<span class="sourceLineNo">464</span>    * This is the programmatic equivalent to the<a name="line.464"></a>
+<span class="sourceLineNo">465</span>    * {@link RestResource#paramResolvers() @RestResource.paramResolvers()} annotation.<a name="line.465"></a>
+<span class="sourceLineNo">466</span>    *<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    * @param paramResolvers The parameter resolvers to add to this config.<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    * @return This object (for method chaining).<a name="line.468"></a>
+<span class="sourceLineNo">469</span>    */<a name="line.469"></a>
+<span class="sourceLineNo">470</span>   public RestConfig addParamResolvers(Class&lt;? extends RestParam&gt;...paramResolvers) {<a name="line.470"></a>
+<span class="sourceLineNo">471</span>      this.paramResolvers.addAll(Arrays.asList(paramResolvers));<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      return this;<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   }<a name="line.473"></a>
+<span class="sourceLineNo">474</span><a name="line.474"></a>
+<span class="sourceLineNo">475</span>   /**<a name="line.475"></a>
+<span class="sourceLineNo">476</span>    * Adds class-level serializers to this resource.<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    *<a name="line.477"></a>
+<span class="sourceLineNo">478</span>    * &lt;p&gt;<a name="line.478"></a>
+<span class="sourceLineNo">479</span>    * This is the programmatic equivalent to the {@link RestResource#serializers() @RestResource.serializers()}<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    * annotation.<a name="line.480"></a>
+<span class="sourceLineNo">481</span>    *<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    * &lt;p&gt;<a name="line.482"></a>
+<span class="sourceLineNo">483</span>    * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the<a name="line.483"></a>
+<span class="sourceLineNo">484</span>    * annotation.<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    *<a name="line.485"></a>
+<span class="sourceLineNo">486</span>    * @param serializers The serializer classes to add to this config.<a name="line.486"></a>
+<span class="sourceLineNo">487</span>    * @return This object (for method chaining).<a name="line.487"></a>
+<span class="sourceLineNo">488</span>    */<a name="line.488"></a>
+<span class="sourceLineNo">489</span>   public RestConfig addSerializers(Class&lt;?&gt;...serializers) {<a name="line.489"></a>
+<span class="sourceLineNo">490</span>      this.serializers.append(serializers);<a name="line.490"></a>
+<span class="sourceLineNo">491</span>      return this;<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   }<a name="line.492"></a>
+<span class="sourceLineNo">493</span><a name="line.493"></a>
+<span class="sourceLineNo">494</span>   /**<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    * Adds class-level serializers to this resource.<a name="line.495"></a>
+<span class="sourceLineNo">496</span>    *<a name="line.496"></a>
+<span class="sourceLineNo">497</span>    * &lt;p&gt;<a name="line.497"></a>
+<span class="sourceLineNo">498</span>    * Same as {@link #addSerializers(Class...)} except allows you to pass in serializer instances.<a name="line.498"></a>
+<span class="sourceLineNo">499</span>    * The actual serializer ends up being the result of this operation using the bean filters, pojo swaps, and<a name="line.499"></a>
+<span class="sourceLineNo">500</span>    * properties on this config:<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    * &lt;p class='bcode'&gt;<a name="line.501"></a>
+<span class="sourceLineNo">502</span>    *    serializer = serializer.builder().beanFilters(beanFilters).pojoSwaps(pojoSwaps).properties(properties).build();<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    * &lt;/p&gt;<a name="line.503"></a>
+<span class="sourceLineNo">504</span>    *<a name="line.504"></a>
+<span class="sourceLineNo">505</span>    * &lt;p&gt;<a name="line.505"></a>
+<span class="sourceLineNo">506</span>    * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the<a name="line.506"></a>
+<span class="sourceLineNo">507</span>    * annotation.<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    *<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    * @param serializers The serializers to add to this config.<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    * @return This object (for method chaining).<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    */<a name="line.511"></a>
+<span class="sourceLineNo">512</span>   public RestConfig addSerializers(Serializer...serializers) {<a name="line.512"></a>
+<span class="sourceLineNo">513</span>      this.serializers.append(serializers);<a name="line.513"></a>
+<span class="sourceLineNo">514</span>      return this;<a name="line.514"></a>
+<span class="sourceLineNo">515</span>   }<a name="line.515"></a>
+<span class="sourceLineNo">516</span><a name="line.516"></a>
+<span class="sourceLineNo">517</span>   /**<a name="line.517"></a>
+<span class="sourceLineNo">518</span>    * Adds class-level parsers to this resource.<a name="line.518"></a>
 <span class="sourceLineNo">519</span>    *<a name="line.519"></a>
 <span class="sourceLineNo">520</span>    * &lt;p&gt;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    * annotation.<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    *<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    * @param parsers The parser classes to add to this config.<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    * @return This object (for method chaining).<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    */<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   public RestConfig addParsers(Class&lt;?&gt;...parsers) {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      this.parsers.append(parsers);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      return this;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   }<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>   /**<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    * Adds class-level parsers to this resource.<a name="line.533"></a>
-<span class="sourceLineNo">534</span>    *<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    * &lt;p&gt;<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    * Same as {@link #addParsers(Class...)} except allows you to pass in parser instances.<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    * The actual parser ends up being the result of this operation using the bean filters, pojo swaps, and properties<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    * on this config:<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    * &lt;p class='bcode'&gt;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    *    parser = parser.builder().beanFilters(beanFilters).pojoSwaps(pojoSwaps).properties(properties).build();<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    * &lt;/p&gt;<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    *<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    * &lt;p&gt;<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    * annotation.<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    *<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    * @param parsers The parsers to add to this config.<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    * @return This object (for method chaining).<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    */<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   public RestConfig addParsers(Parser...parsers) {<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      this.parsers.append(parsers);<a name="line.551"></a>
-<span class="sourceLineNo">552</span>      return this;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   }<a name="line.553"></a>
-<span class="sourceLineNo">554</span><a name="line.554"></a>
-<span class="sourceLineNo">555</span>   /**<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    * Adds class-level encoders to this resource.<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    *<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    * &lt;p&gt;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    * This is the programmatic equivalent to the {@link RestResource#encoders() @RestResource.encoders()} annotation.<a name="line.559"></a>
+<span class="sourceLineNo">521</span>    * This is the programmatic equivalent to the {@link RestResource#parsers() @RestResource.parsers()} annotation.<a name="line.521"></a>
+<span class="sourceLineNo">522</span>    *<a name="line.522"></a>
+<span class="sourceLineNo">523</span>    * &lt;p&gt;<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the<a name="line.524"></a>
+<span class="sourceLineNo">525</span>    * annotation.<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    *<a name="line.526"></a>
+<span class="sourceLineNo">527</span>    * @param parsers The parser classes to add to this config.<a name="line.527"></a>
+<span class="sourceLineNo">528</span>    * @return This object (for method chaining).<a name="line.528"></a>
+<span class="sourceLineNo">529</span>    */<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   public RestConfig addParsers(Class&lt;?&gt;...parsers) {<a name="line.530"></a>
+<span class="sourceLineNo">531</span>      this.parsers.append(parsers);<a name="line.531"></a>
+<span class="sourceLineNo">532</span>      return this;<a name="line.532"></a>
+<span class="sourceLineNo">533</span>   }<a name="line.533"></a>
+<span class="sourceLineNo">534</span><a name="line.534"></a>
+<span class="sourceLineNo">535</span>   /**<a name="line.535"></a>
+<span class="sourceLineNo">536</span>    * Adds class-level parsers to this resource.<a name="line.536"></a>
+<span class="sourceLineNo">537</span>    *<a name="line.537"></a>
+<span class="sourceLineNo">538</span>    * &lt;p&gt;<a name="line.538"></a>
+<span class="sourceLineNo">539</span>    * Same as {@link #addParsers(Class...)} except allows you to pass in parser instances.<a name="line.539"></a>
+<span class="sourceLineNo">540</span>    * The actual parser ends up being the result of this operation using the bean filters, pojo swaps, and properties<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    * on this config:<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    * &lt;p class='bcode'&gt;<a name="line.542"></a>
+<span class="sourceLineNo">543</span>    *    parser = parser.builder().beanFilters(beanFilters).pojoSwaps(pojoSwaps).properties(properties).build();<a name="line.543"></a>
+<span class="sourceLineNo">544</span>    * &lt;/p&gt;<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    *<a name="line.545"></a>
+<span class="sourceLineNo">546</span>    * &lt;p&gt;<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the<a name="line.547"></a>
+<span class="sourceLineNo">548</span>    * annotation.<a name="line.548"></a>
+<span class="sourceLineNo">549</span>    *<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    * @param parsers The parsers to add to this config.<a name="line.550"></a>
+<span class="sourceLineNo">551</span>    * @return This object (for method chaining).<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    */<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   public RestConfig addParsers(Parser...parsers) {<a name="line.553"></a>
+<span class="sourceLineNo">554</span>      this.parsers.append(parsers);<a name="line.554"></a>
+<span class="sourceLineNo">555</span>      return this;<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   }<a name="line.556"></a>
+<span class="sourceLineNo">557</span><a name="line.557"></a>
+<span class="sourceLineNo">558</span>   /**<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    * Adds class-level encoders to this resource.<a name="line.559"></a>
 <span class="sourceLineNo">560</span>    *<a name="line.560"></a>
 <span class="sourceLineNo">561</span>    * &lt;p&gt;<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    * annotation.<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    *<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    * &lt;p&gt;<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    * By default, only the {@link IdentityEncoder} is included in this list.<a name="line.566"></a>
+<span class="sourceLineNo">562</span>    * This is the programmatic equivalent to the {@link RestResource#encoders() @RestResource.encoders()} annotation.<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    *<a name="line.563"></a>
+<span class="sourceLineNo">564</span>    * &lt;p&gt;<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    * Values are added AFTER those found in the annotation and therefore take precedence over those defined via the<a name="line.565"></a>
+<span class="sourceLineNo">566</span>    * annotation.<a name="line.566"></a>
 <span class="sourceLineNo">567</span>    *<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    * @param encoders The parser classes to add to this config.<a name="line.568"></a>
-<span class="sourceLin

<TRUNCATED>


[09/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/microservice/Resource.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/microservice/Resource.html b/content/site/apidocs/src-html/org/apache/juneau/microservice/Resource.html
index 777236c..64ab6d9 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/microservice/Resource.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/microservice/Resource.html
@@ -51,22 +51,25 @@
 <span class="sourceLineNo">043</span>@SuppressWarnings("serial")<a name="line.43"></a>
 <span class="sourceLineNo">044</span>@RestResource(<a name="line.44"></a>
 <span class="sourceLineNo">045</span>   htmldoc=@HtmlDoc(<a name="line.45"></a>
-<span class="sourceLineNo">046</span>      links="{up:'request:/..',options:'servlet:/?method=OPTIONS'}",<a name="line.46"></a>
-<span class="sourceLineNo">047</span>      stylesheet="$C{REST/stylesheet,servlet:/styles/devops.css}"<a name="line.47"></a>
-<span class="sourceLineNo">048</span>   ),<a name="line.48"></a>
-<span class="sourceLineNo">049</span>   config="$S{juneau.configFile}"<a name="line.49"></a>
-<span class="sourceLineNo">050</span>)<a name="line.50"></a>
-<span class="sourceLineNo">051</span>public abstract class Resource extends RestServletDefault {<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>   @Override /* RestServlet */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   public synchronized void init(RestConfig config) throws Exception {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>      config<a name="line.55"></a>
-<span class="sourceLineNo">056</span>         .addVars(ArgsVar.class, ManifestFileVar.class)<a name="line.56"></a>
-<span class="sourceLineNo">057</span>         .addVarContextObject(ArgsVar.SESSION_args, Microservice.getArgs())<a name="line.57"></a>
-<span class="sourceLineNo">058</span>         .addVarContextObject(ManifestFileVar.SESSION_manifest, Microservice.getManifest());<a name="line.58"></a>
-<span class="sourceLineNo">059</span>      super.init(config);<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   }<a name="line.60"></a>
-<span class="sourceLineNo">061</span>}<a name="line.61"></a>
+<span class="sourceLineNo">046</span>      links={<a name="line.46"></a>
+<span class="sourceLineNo">047</span>         "up: request:/..",<a name="line.47"></a>
+<span class="sourceLineNo">048</span>         "options: servlet:/?method=OPTIONS"<a name="line.48"></a>
+<span class="sourceLineNo">049</span>      },<a name="line.49"></a>
+<span class="sourceLineNo">050</span>      stylesheet="$C{REST/stylesheet,servlet:/styles/devops.css}"<a name="line.50"></a>
+<span class="sourceLineNo">051</span>   ),<a name="line.51"></a>
+<span class="sourceLineNo">052</span>   config="$S{juneau.configFile}"<a name="line.52"></a>
+<span class="sourceLineNo">053</span>)<a name="line.53"></a>
+<span class="sourceLineNo">054</span>public abstract class Resource extends RestServletDefault {<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>   @Override /* RestServlet */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>   public synchronized void init(RestConfig config) throws Exception {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>      config<a name="line.58"></a>
+<span class="sourceLineNo">059</span>         .addVars(ArgsVar.class, ManifestFileVar.class)<a name="line.59"></a>
+<span class="sourceLineNo">060</span>         .addVarContextObject(ArgsVar.SESSION_args, Microservice.getArgs())<a name="line.60"></a>
+<span class="sourceLineNo">061</span>         .addVarContextObject(ManifestFileVar.SESSION_manifest, Microservice.getManifest());<a name="line.61"></a>
+<span class="sourceLineNo">062</span>      super.init(config);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   }<a name="line.63"></a>
+<span class="sourceLineNo">064</span>}<a name="line.64"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceGroup.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceGroup.html b/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceGroup.html
index 46265ca..b73393e 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceGroup.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceGroup.html
@@ -52,22 +52,25 @@
 <span class="sourceLineNo">044</span>@SuppressWarnings("serial")<a name="line.44"></a>
 <span class="sourceLineNo">045</span>@RestResource(<a name="line.45"></a>
 <span class="sourceLineNo">046</span>   htmldoc=@HtmlDoc(<a name="line.46"></a>
-<span class="sourceLineNo">047</span>      links="{up:'request:/..',options:'servlet:/?method=OPTIONS'}",<a name="line.47"></a>
-<span class="sourceLineNo">048</span>      stylesheet="$C{REST/stylesheet,servlet:/styles/devops.css}"<a name="line.48"></a>
-<span class="sourceLineNo">049</span>   ),<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   config="$S{juneau.configFile}"<a name="line.50"></a>
-<span class="sourceLineNo">051</span>)<a name="line.51"></a>
-<span class="sourceLineNo">052</span>public abstract class ResourceGroup extends RestServletGroupDefault {<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>   @Override /* RestServlet */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   public synchronized void init(RestConfig config) throws Exception {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>      config<a name="line.56"></a>
-<span class="sourceLineNo">057</span>         .addVars(ArgsVar.class, ManifestFileVar.class)<a name="line.57"></a>
-<span class="sourceLineNo">058</span>         .addVarContextObject(ArgsVar.SESSION_args, Microservice.getArgs())<a name="line.58"></a>
-<span class="sourceLineNo">059</span>         .addVarContextObject(ManifestFileVar.SESSION_manifest, Microservice.getManifest());<a name="line.59"></a>
-<span class="sourceLineNo">060</span>      super.init(config);<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   }<a name="line.61"></a>
-<span class="sourceLineNo">062</span>}<a name="line.62"></a>
+<span class="sourceLineNo">047</span>      links={<a name="line.47"></a>
+<span class="sourceLineNo">048</span>         "up: request:/..",<a name="line.48"></a>
+<span class="sourceLineNo">049</span>         "options: servlet:/?method=OPTIONS"<a name="line.49"></a>
+<span class="sourceLineNo">050</span>      },<a name="line.50"></a>
+<span class="sourceLineNo">051</span>      stylesheet="$C{REST/stylesheet,servlet:/styles/devops.css}"<a name="line.51"></a>
+<span class="sourceLineNo">052</span>   ),<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   config="$S{juneau.configFile}"<a name="line.53"></a>
+<span class="sourceLineNo">054</span>)<a name="line.54"></a>
+<span class="sourceLineNo">055</span>public abstract class ResourceGroup extends RestServletGroupDefault {<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>   @Override /* RestServlet */<a name="line.57"></a>
+<span class="sourceLineNo">058</span>   public synchronized void init(RestConfig config) throws Exception {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>      config<a name="line.59"></a>
+<span class="sourceLineNo">060</span>         .addVars(ArgsVar.class, ManifestFileVar.class)<a name="line.60"></a>
+<span class="sourceLineNo">061</span>         .addVarContextObject(ArgsVar.SESSION_args, Microservice.getArgs())<a name="line.61"></a>
+<span class="sourceLineNo">062</span>         .addVarContextObject(ManifestFileVar.SESSION_manifest, Microservice.getManifest());<a name="line.62"></a>
+<span class="sourceLineNo">063</span>      super.init(config);<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   }<a name="line.64"></a>
+<span class="sourceLineNo">065</span>}<a name="line.65"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceJena.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceJena.html b/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceJena.html
index 4b8fbc6..ce5ef20 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceJena.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceJena.html
@@ -29,12 +29,15 @@
 <span class="sourceLineNo">021</span>@SuppressWarnings("serial")<a name="line.21"></a>
 <span class="sourceLineNo">022</span>@RestResource(<a name="line.22"></a>
 <span class="sourceLineNo">023</span>   htmldoc=@HtmlDoc(<a name="line.23"></a>
-<span class="sourceLineNo">024</span>      links="{up:'request:/..',options:'servlet:/?method=OPTIONS'}",<a name="line.24"></a>
-<span class="sourceLineNo">025</span>      stylesheet="$C{REST/stylesheet,servlet:/styles/devops.css}"<a name="line.25"></a>
-<span class="sourceLineNo">026</span>   ),<a name="line.26"></a>
-<span class="sourceLineNo">027</span>   config="$S{juneau.configFile}"<a name="line.27"></a>
-<span class="sourceLineNo">028</span>)<a name="line.28"></a>
-<span class="sourceLineNo">029</span>public abstract class ResourceJena extends RestServletJenaDefault {}<a name="line.29"></a>
+<span class="sourceLineNo">024</span>      links={<a name="line.24"></a>
+<span class="sourceLineNo">025</span>         "up: request:/..",<a name="line.25"></a>
+<span class="sourceLineNo">026</span>         "options: servlet:/?method=OPTIONS"<a name="line.26"></a>
+<span class="sourceLineNo">027</span>      },<a name="line.27"></a>
+<span class="sourceLineNo">028</span>      stylesheet="$C{REST/stylesheet,servlet:/styles/devops.css}"<a name="line.28"></a>
+<span class="sourceLineNo">029</span>   ),<a name="line.29"></a>
+<span class="sourceLineNo">030</span>   config="$S{juneau.configFile}"<a name="line.30"></a>
+<span class="sourceLineNo">031</span>)<a name="line.31"></a>
+<span class="sourceLineNo">032</span>public abstract class ResourceJena extends RestServletJenaDefault {}<a name="line.32"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceJenaGroup.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceJenaGroup.html b/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceJenaGroup.html
index 6459540..1e78668 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceJenaGroup.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceJenaGroup.html
@@ -53,22 +53,25 @@
 <span class="sourceLineNo">045</span>@SuppressWarnings("serial")<a name="line.45"></a>
 <span class="sourceLineNo">046</span>@RestResource(<a name="line.46"></a>
 <span class="sourceLineNo">047</span>   htmldoc=@HtmlDoc(<a name="line.47"></a>
-<span class="sourceLineNo">048</span>      links="{up:'request:/..',options:'servlet:/?method=OPTIONS'}",<a name="line.48"></a>
-<span class="sourceLineNo">049</span>      stylesheet="$C{REST/stylesheet,servlet:/styles/devops.css}"<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   ),<a name="line.50"></a>
-<span class="sourceLineNo">051</span>   config="$S{juneau.configFile}"<a name="line.51"></a>
-<span class="sourceLineNo">052</span>)<a name="line.52"></a>
-<span class="sourceLineNo">053</span>public abstract class ResourceJenaGroup extends RestServletJenaGroupDefault {<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>   @Override /* RestServlet */<a name="line.55"></a>
-<span class="sourceLineNo">056</span>   public synchronized void init(RestConfig config) throws Exception {<a name="line.56"></a>
-<span class="sourceLineNo">057</span>      config<a name="line.57"></a>
-<span class="sourceLineNo">058</span>         .addVars(ArgsVar.class, ManifestFileVar.class)<a name="line.58"></a>
-<span class="sourceLineNo">059</span>         .addVarContextObject(ArgsVar.SESSION_args, Microservice.getArgs())<a name="line.59"></a>
-<span class="sourceLineNo">060</span>         .addVarContextObject(ManifestFileVar.SESSION_manifest, Microservice.getManifest());<a name="line.60"></a>
-<span class="sourceLineNo">061</span>      super.init(config);<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   }<a name="line.62"></a>
-<span class="sourceLineNo">063</span>}<a name="line.63"></a>
+<span class="sourceLineNo">048</span>      links={<a name="line.48"></a>
+<span class="sourceLineNo">049</span>         "up: request:/..",<a name="line.49"></a>
+<span class="sourceLineNo">050</span>         "options: servlet:/?method=OPTIONS"<a name="line.50"></a>
+<span class="sourceLineNo">051</span>      },<a name="line.51"></a>
+<span class="sourceLineNo">052</span>      stylesheet="$C{REST/stylesheet,servlet:/styles/devops.css}"<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   ),<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   config="$S{juneau.configFile}"<a name="line.54"></a>
+<span class="sourceLineNo">055</span>)<a name="line.55"></a>
+<span class="sourceLineNo">056</span>public abstract class ResourceJenaGroup extends RestServletJenaGroupDefault {<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>   @Override /* RestServlet */<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   public synchronized void init(RestConfig config) throws Exception {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      config<a name="line.60"></a>
+<span class="sourceLineNo">061</span>         .addVars(ArgsVar.class, ManifestFileVar.class)<a name="line.61"></a>
+<span class="sourceLineNo">062</span>         .addVarContextObject(ArgsVar.SESSION_args, Microservice.getArgs())<a name="line.62"></a>
+<span class="sourceLineNo">063</span>         .addVarContextObject(ManifestFileVar.SESSION_manifest, Microservice.getManifest());<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      super.init(config);<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   }<a name="line.65"></a>
+<span class="sourceLineNo">066</span>}<a name="line.66"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/ConfigResource.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/ConfigResource.html b/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/ConfigResource.html
index 699d482..9cc5bc1 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/ConfigResource.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/ConfigResource.html
@@ -42,178 +42,182 @@
 <span class="sourceLineNo">034</span>   title="Configuration",<a name="line.34"></a>
 <span class="sourceLineNo">035</span>   description="Contents of configuration file.",<a name="line.35"></a>
 <span class="sourceLineNo">036</span>   htmldoc=@HtmlDoc(<a name="line.36"></a>
-<span class="sourceLineNo">037</span>      links="{up:'request:/..',options:'servlet:/?method=OPTIONS',edit:'servlet:/edit'}"<a name="line.37"></a>
-<span class="sourceLineNo">038</span>   )<a name="line.38"></a>
-<span class="sourceLineNo">039</span>)<a name="line.39"></a>
-<span class="sourceLineNo">040</span>public class ConfigResource extends Resource {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>   private static final long serialVersionUID = 1L;<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>   /**<a name="line.43"></a>
-<span class="sourceLineNo">044</span>    * [GET /] - Show contents of config file.<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    *<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    * @return The config file.<a name="line.46"></a>
-<span class="sourceLineNo">047</span>    * @throws Exception<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    */<a name="line.48"></a>
-<span class="sourceLineNo">049</span>   @RestMethod(name="GET", path="/", description="Show contents of config file.")<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   public ConfigFile getConfigContents() throws Exception {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>      return getServletConfig().getConfigFile();<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   }<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>   /**<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    * [GET /edit] - Show config file edit page.<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    *<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    * @param req The HTTP request.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    * @return The config file as a reader resource.<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    * @throws Exception<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    */<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   @RestMethod(name="GET", path="/edit", description="Edit config file.")<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   public Form getConfigEditForm(RestRequest req) throws Exception {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      return form().id("form").action("servlet:/").method("POST").enctype("application/x-www-form-urlencoded").children(<a name="line.63"></a>
-<span class="sourceLineNo">064</span>         div()._class("data").children(<a name="line.64"></a>
-<span class="sourceLineNo">065</span>            table(<a name="line.65"></a>
-<span class="sourceLineNo">066</span>               tr(td().style("text-align:right").children(button("submit","Submit"),button("reset","Reset"))),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>               tr(th().child("Contents")),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>               tr(th().child(<a name="line.68"></a>
-<span class="sourceLineNo">069</span>                  textarea().name("contents").rows(40).cols(120).style("white-space:pre;word-wrap:normal;overflow-x:scroll;font-family:monospace;")<a name="line.69"></a>
-<span class="sourceLineNo">070</span>                     .text(getConfigContents().toString()))<a name="line.70"></a>
-<span class="sourceLineNo">071</span>               )<a name="line.71"></a>
-<span class="sourceLineNo">072</span>            )<a name="line.72"></a>
-<span class="sourceLineNo">073</span>         )<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      );<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   }<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>   /**<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    * [GET /{section}] - Show config file section.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    *<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    * @param section The section name.<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    * @return The config file section.<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    * @throws Exception<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    */<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   @RestMethod(name="GET", path="/{section}",<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      description="Show config file section.",<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      swagger=@MethodSwagger(<a name="line.86"></a>
-<span class="sourceLineNo">087</span>         parameters={<a name="line.87"></a>
-<span class="sourceLineNo">088</span>            @Parameter(in="path", name="section", description="Section name.")<a name="line.88"></a>
-<span class="sourceLineNo">089</span>         }<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      )<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   )<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   public ObjectMap getConfigSection(@Path("section") String section) throws Exception {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      return getSection(section);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   }<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>   /**<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    * [GET /{section}/{key}] - Show config file entry.<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    *<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    * @param section The section name.<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    * @param key The section key.<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    * @return The value of the config file entry.<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    * @throws Exception<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    */<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   @RestMethod(name="GET", path="/{section}/{key}",<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      description="Show config file entry.",<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      swagger=@MethodSwagger(<a name="line.106"></a>
-<span class="sourceLineNo">107</span>         parameters={<a name="line.107"></a>
-<span class="sourceLineNo">108</span>            @Parameter(in="path", name="section", description="Section name."),<a name="line.108"></a>
-<span class="sourceLineNo">109</span>            @Parameter(in="path", name="key", description="Entry name.")<a name="line.109"></a>
-<span class="sourceLineNo">110</span>         }<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      )<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   )<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   public String getConfigEntry(@Path("section") String section, @Path("key") String key) throws Exception {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      return getSection(section).getString(key);<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>   /**<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    * [POST /] - Sets contents of config file from a FORM post.<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    *<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    * @param contents The new contents of the config file.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    * @return The new config file contents.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    * @throws Exception<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    */<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   @RestMethod(name="POST", path="/",<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      description="Sets contents of config file from a FORM post.",<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      swagger=@MethodSwagger(<a name="line.126"></a>
-<span class="sourceLineNo">127</span>         parameters={<a name="line.127"></a>
-<span class="sourceLineNo">128</span>            @Parameter(in="formData", name="contents", description="New contents in INI file format.")<a name="line.128"></a>
-<span class="sourceLineNo">129</span>         }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      )<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   )<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   public ConfigFile setConfigContentsFormPost(@FormData("contents") String contents) throws Exception {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      return setConfigContents(new StringReader(contents));<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   }<a name="line.134"></a>
-<span class="sourceLineNo">135</span><a name="line.135"></a>
-<span class="sourceLineNo">136</span>   /**<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    * [PUT /] - Sets contents of config file.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    *<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    * @param contents The new contents of the config file.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    * @return The new config file contents.<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    * @throws Exception<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    */<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   @RestMethod(name="PUT", path="/",<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      description="Sets contents of config file.",<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      swagger=@MethodSwagger(<a name="line.145"></a>
-<span class="sourceLineNo">146</span>         parameters={<a name="line.146"></a>
-<span class="sourceLineNo">147</span>            @Parameter(in="body", description="New contents in INI file format.")<a name="line.147"></a>
-<span class="sourceLineNo">148</span>         }<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      )<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   )<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   public ConfigFile setConfigContents(@Body Reader contents) throws Exception {<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      ConfigFile cf2 = new ConfigFileBuilder().build(contents);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      return getConfigContents().merge(cf2).save();<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>   /**<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    * [PUT /{section}] - Add or overwrite a config file section.<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    *<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    * @param section The section name.<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    * @param contents The new contents of the config file section.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    * @return The new section.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    * @throws Exception<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   @RestMethod(name="PUT", path="/{section}",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      description="Add or overwrite a config file section.",<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      swagger=@MethodSwagger(<a name="line.166"></a>
-<span class="sourceLineNo">167</span>         parameters={<a name="line.167"></a>
-<span class="sourceLineNo">168</span>            @Parameter(in="path", name="section", description="Section name."),<a name="line.168"></a>
-<span class="sourceLineNo">169</span>            @Parameter(in="body", description="New contents for section as a simple map with string keys and values.")<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>   )<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   public ObjectMap setConfigSection(@Path("section") String section, @Body Map&lt;String,String&gt; contents) throws Exception {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      getConfigContents().setSection(section, contents);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      return getSection(section);<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>    * [PUT /{section}/{key}] - Add or overwrite a config file entry.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    *<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    * @param section The section name.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    * @param key The section key.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    * @param value The new value.<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    * @return The new value.<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    * @throws Exception<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    */<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   @RestMethod(name="PUT", path="/{section}/{key}",<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      description="Add or overwrite a config file entry.",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      swagger=@MethodSwagger(<a name="line.189"></a>
-<span class="sourceLineNo">190</span>         parameters={<a name="line.190"></a>
-<span class="sourceLineNo">191</span>            @Parameter(in="path", name="section", description="Section name."),<a name="line.191"></a>
-<span class="sourceLineNo">192</span>            @Parameter(in="path", name="key", description="Entry name."),<a name="line.192"></a>
-<span class="sourceLineNo">193</span>            @Parameter(in="body", description="New value as a string.")<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">196</span>   )<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   public String setConfigSection(@Path("section") String section, @Path("key") String key, @Body String value) throws Exception {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      getConfigContents().put(section, key, value, false);<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return getSection(section).getString(key);<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   }<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>   private ObjectMap getSection(String name) throws Exception {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      ObjectMap m = getConfigContents().getSectionMap(name);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      if (m == null)<a name="line.204"></a>
-<span class="sourceLineNo">205</span>         throw new RestException(SC_NOT_FOUND, "Section not found.");<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      return m;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   }<a name="line.207"></a>
-<span class="sourceLineNo">208</span>}<a name="line.208"></a>
+<span class="sourceLineNo">037</span>      links={<a name="line.37"></a>
+<span class="sourceLineNo">038</span>         "up: request:/..",<a name="line.38"></a>
+<span class="sourceLineNo">039</span>         "options: servlet:/?method=OPTIONS",<a name="line.39"></a>
+<span class="sourceLineNo">040</span>         "edit: servlet:/edit"<a name="line.40"></a>
+<span class="sourceLineNo">041</span>      }<a name="line.41"></a>
+<span class="sourceLineNo">042</span>   )<a name="line.42"></a>
+<span class="sourceLineNo">043</span>)<a name="line.43"></a>
+<span class="sourceLineNo">044</span>public class ConfigResource extends Resource {<a name="line.44"></a>
+<span class="sourceLineNo">045</span>   private static final long serialVersionUID = 1L;<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>   /**<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    * [GET /] - Show contents of config file.<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    *<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    * @return The config file.<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    * @throws Exception<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    */<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   @RestMethod(name="GET", path="/", description="Show contents of config file.")<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   public ConfigFile getConfigContents() throws Exception {<a name="line.54"></a>
+<span class="sourceLineNo">055</span>      return getServletConfig().getConfigFile();<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   }<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>   /**<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    * [GET /edit] - Show config file edit page.<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    *<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    * @param req The HTTP request.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    * @return The config file as a reader resource.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    * @throws Exception<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    */<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   @RestMethod(name="GET", path="/edit", description="Edit config file.")<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   public Form getConfigEditForm(RestRequest req) throws Exception {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>      return form().id("form").action("servlet:/").method("POST").enctype("application/x-www-form-urlencoded").children(<a name="line.67"></a>
+<span class="sourceLineNo">068</span>         div()._class("data").children(<a name="line.68"></a>
+<span class="sourceLineNo">069</span>            table(<a name="line.69"></a>
+<span class="sourceLineNo">070</span>               tr(td().style("text-align:right").children(button("submit","Submit"),button("reset","Reset"))),<a name="line.70"></a>
+<span class="sourceLineNo">071</span>               tr(th().child("Contents")),<a name="line.71"></a>
+<span class="sourceLineNo">072</span>               tr(th().child(<a name="line.72"></a>
+<span class="sourceLineNo">073</span>                  textarea().name("contents").rows(40).cols(120).style("white-space:pre;word-wrap:normal;overflow-x:scroll;font-family:monospace;")<a name="line.73"></a>
+<span class="sourceLineNo">074</span>                     .text(getConfigContents().toString()))<a name="line.74"></a>
+<span class="sourceLineNo">075</span>               )<a name="line.75"></a>
+<span class="sourceLineNo">076</span>            )<a name="line.76"></a>
+<span class="sourceLineNo">077</span>         )<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      );<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   }<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>   /**<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    * [GET /{section}] - Show config file section.<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    *<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    * @param section The section name.<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    * @return The config file section.<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    * @throws Exception<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    */<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   @RestMethod(name="GET", path="/{section}",<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      description="Show config file section.",<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      swagger=@MethodSwagger(<a name="line.90"></a>
+<span class="sourceLineNo">091</span>         parameters={<a name="line.91"></a>
+<span class="sourceLineNo">092</span>            @Parameter(in="path", name="section", description="Section name.")<a name="line.92"></a>
+<span class="sourceLineNo">093</span>         }<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      )<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   )<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   public ObjectMap getConfigSection(@Path("section") String section) throws Exception {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      return getSection(section);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   }<a name="line.98"></a>
+<span class="sourceLineNo">099</span><a name="line.99"></a>
+<span class="sourceLineNo">100</span>   /**<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    * [GET /{section}/{key}] - Show config file entry.<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    *<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    * @param section The section name.<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    * @param key The section key.<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    * @return The value of the config file entry.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    * @throws Exception<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    */<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   @RestMethod(name="GET", path="/{section}/{key}",<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      description="Show config file entry.",<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      swagger=@MethodSwagger(<a name="line.110"></a>
+<span class="sourceLineNo">111</span>         parameters={<a name="line.111"></a>
+<span class="sourceLineNo">112</span>            @Parameter(in="path", name="section", description="Section name."),<a name="line.112"></a>
+<span class="sourceLineNo">113</span>            @Parameter(in="path", name="key", description="Entry name.")<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>   )<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   public String getConfigEntry(@Path("section") String section, @Path("key") String key) throws Exception {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      return getSection(section).getString(key);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   }<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>   /**<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    * [POST /] - Sets contents of config file from a FORM post.<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    *<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    * @param contents The new contents of the config file.<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    * @return The new config file contents.<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    * @throws Exception<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    */<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   @RestMethod(name="POST", path="/",<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      description="Sets contents of config file from a FORM post.",<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      swagger=@MethodSwagger(<a name="line.130"></a>
+<span class="sourceLineNo">131</span>         parameters={<a name="line.131"></a>
+<span class="sourceLineNo">132</span>            @Parameter(in="formData", name="contents", description="New contents in INI file format.")<a name="line.132"></a>
+<span class="sourceLineNo">133</span>         }<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      )<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   )<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   public ConfigFile setConfigContentsFormPost(@FormData("contents") String contents) throws Exception {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      return setConfigContents(new StringReader(contents));<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   }<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span>   /**<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    * [PUT /] - Sets contents of config file.<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    *<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    * @param contents The new contents of the config file.<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    * @return The new config file contents.<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    * @throws Exception<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    */<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   @RestMethod(name="PUT", path="/",<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      description="Sets contents of config file.",<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      swagger=@MethodSwagger(<a name="line.149"></a>
+<span class="sourceLineNo">150</span>         parameters={<a name="line.150"></a>
+<span class="sourceLineNo">151</span>            @Parameter(in="body", description="New contents in INI file format.")<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>   )<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   public ConfigFile setConfigContents(@Body Reader contents) throws Exception {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      ConfigFile cf2 = new ConfigFileBuilder().build(contents);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      return getConfigContents().merge(cf2).save();<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   }<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>    * [PUT /{section}] - Add or overwrite a config file section.<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    *<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    * @param section The section name.<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    * @param contents The new contents of the config file section.<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    * @return The new section.<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    * @throws Exception<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    */<a name="line.167"></a>
+<span class="sourceLineNo">168</span>   @RestMethod(name="PUT", path="/{section}",<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      description="Add or overwrite a config file section.",<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      swagger=@MethodSwagger(<a name="line.170"></a>
+<span class="sourceLineNo">171</span>         parameters={<a name="line.171"></a>
+<span class="sourceLineNo">172</span>            @Parameter(in="path", name="section", description="Section name."),<a name="line.172"></a>
+<span class="sourceLineNo">173</span>            @Parameter(in="body", description="New contents for section as a simple map with string keys and values.")<a name="line.173"></a>
+<span class="sourceLineNo">174</span>         }<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      )<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   )<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   public ObjectMap setConfigSection(@Path("section") String section, @Body Map&lt;String,String&gt; contents) throws Exception {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      getConfigContents().setSection(section, contents);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      return getSection(section);<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   }<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>    * [PUT /{section}/{key}] - Add or overwrite a config file entry.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    *<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    * @param section The section name.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    * @param key The section key.<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    * @param value The new value.<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    * @return The new value.<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    * @throws Exception<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    */<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   @RestMethod(name="PUT", path="/{section}/{key}",<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      description="Add or overwrite a config file entry.",<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      swagger=@MethodSwagger(<a name="line.193"></a>
+<span class="sourceLineNo">194</span>         parameters={<a name="line.194"></a>
+<span class="sourceLineNo">195</span>            @Parameter(in="path", name="section", description="Section name."),<a name="line.195"></a>
+<span class="sourceLineNo">196</span>            @Parameter(in="path", name="key", description="Entry name."),<a name="line.196"></a>
+<span class="sourceLineNo">197</span>            @Parameter(in="body", description="New value as a string.")<a name="line.197"></a>
+<span class="sourceLineNo">198</span>         }<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>
+<span class="sourceLineNo">201</span>   public String setConfigSection(@Path("section") String section, @Path("key") String key, @Body String value) throws Exception {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      getConfigContents().put(section, key, value, false);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      return getSection(section).getString(key);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>   private ObjectMap getSection(String name) throws Exception {<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      ObjectMap m = getConfigContents().getSectionMap(name);<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      if (m == null)<a name="line.208"></a>
+<span class="sourceLineNo">209</span>         throw new RestException(SC_NOT_FOUND, "Section not found.");<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      return m;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   }<a name="line.211"></a>
+<span class="sourceLineNo">212</span>}<a name="line.212"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/DirectoryResource.FileResource.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/DirectoryResource.FileResource.html b/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/DirectoryResource.FileResource.html
index 599650d..c4dd4db 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/DirectoryResource.FileResource.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/DirectoryResource.FileResource.html
@@ -72,15 +72,15 @@
 <span class="sourceLineNo">064</span>   description="Contents of $R{attribute.path}",<a name="line.64"></a>
 <span class="sourceLineNo">065</span>   messages="nls/DirectoryResource",<a name="line.65"></a>
 <span class="sourceLineNo">066</span>   htmldoc=@HtmlDoc(<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      links="{up:'request:/..',options:'servlet:/?method=OPTIONS'}"<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   ),<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   properties={<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      @Property(name=HTML_uriAnchorText, value=PROPERTY_NAME),<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      @Property(name=REST_allowMethodParam, value="*"),<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      @Property(name="DirectoryResource.rootDir", value=""),<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      @Property(name="DirectoryResource.allowViews", value="false"),<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      @Property(name="DirectoryResource.allowDeletes", value="false"),<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      @Property(name="DirectoryResource.allowPuts", value="false")<a name="line.75"></a>
+<span class="sourceLineNo">067</span>      links={<a name="line.67"></a>
+<span class="sourceLineNo">068</span>         "up: request:/..",<a name="line.68"></a>
+<span class="sourceLineNo">069</span>         "options: servlet:/?method=OPTIONS"<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      }<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   ),<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   properties={<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      @Property(name=HTML_uriAnchorText, value=PROPERTY_NAME),<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      @Property(name=REST_allowMethodParam, value="*"),<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      @Property(name="DirectoryResource.rootDir", value="")<a name="line.75"></a>
 <span class="sourceLineNo">076</span>   }<a name="line.76"></a>
 <span class="sourceLineNo">077</span>)<a name="line.77"></a>
 <span class="sourceLineNo">078</span>public class DirectoryResource extends Resource {<a name="line.78"></a>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/DirectoryResource.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/DirectoryResource.html b/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/DirectoryResource.html
index 599650d..c4dd4db 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/DirectoryResource.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/microservice/resources/DirectoryResource.html
@@ -72,15 +72,15 @@
 <span class="sourceLineNo">064</span>   description="Contents of $R{attribute.path}",<a name="line.64"></a>
 <span class="sourceLineNo">065</span>   messages="nls/DirectoryResource",<a name="line.65"></a>
 <span class="sourceLineNo">066</span>   htmldoc=@HtmlDoc(<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      links="{up:'request:/..',options:'servlet:/?method=OPTIONS'}"<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   ),<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   properties={<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      @Property(name=HTML_uriAnchorText, value=PROPERTY_NAME),<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      @Property(name=REST_allowMethodParam, value="*"),<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      @Property(name="DirectoryResource.rootDir", value=""),<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      @Property(name="DirectoryResource.allowViews", value="false"),<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      @Property(name="DirectoryResource.allowDeletes", value="false"),<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      @Property(name="DirectoryResource.allowPuts", value="false")<a name="line.75"></a>
+<span class="sourceLineNo">067</span>      links={<a name="line.67"></a>
+<span class="sourceLineNo">068</span>         "up: request:/..",<a name="line.68"></a>
+<span class="sourceLineNo">069</span>         "options: servlet:/?method=OPTIONS"<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      }<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   ),<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   properties={<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      @Property(name=HTML_uriAnchorText, value=PROPERTY_NAME),<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      @Property(name=REST_allowMethodParam, value="*"),<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      @Property(name="DirectoryResource.rootDir", value="")<a name="line.75"></a>
 <span class="sourceLineNo">076</span>   }<a name="line.76"></a>
 <span class="sourceLineNo">077</span>)<a name="line.77"></a>
 <span class="sourceLineNo">078</span>public class DirectoryResource extends Resource {<a name="line.78"></a>


[23/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
Update javadocs.

Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/commit/03d6af50
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/tree/03d6af50
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/diff/03d6af50

Branch: refs/heads/asf-site
Commit: 03d6af507858697d9e12f8db10b88d6980df92f7
Parents: de7a820
Author: JamesBognar <ja...@apache.org>
Authored: Sun Jul 9 20:09:07 2017 -0400
Committer: JamesBognar <ja...@apache.org>
Committed: Sun Jul 9 20:09:07 2017 -0400

----------------------------------------------------------------------
 content/.gitignore                              |    1 +
 content/site/apidocs/constant-values.html       |    8 +-
 content/site/apidocs/index-all.html             |   14 +-
 .../apidocs/org/apache/juneau/ObjectMap.html    |   82 +-
 .../juneau/dto/jsonschema/package-summary.html  |    4 +-
 .../juneau/html/HtmlDocSerializerContext.html   |  109 +-
 .../juneau/html/HtmlDocSerializerSession.html   |   34 +-
 .../org/apache/juneau/html/HtmlDocTemplate.html |    4 +-
 .../juneau/html/HtmlDocTemplateBasic.html       |   34 +-
 .../org/apache/juneau/html/HtmlSerializer.html  |    6 +-
 .../apache/juneau/microservice/Resource.html    |    6 +-
 .../juneau/microservice/ResourceGroup.html      |    6 +-
 .../juneau/microservice/ResourceJena.html       |    4 +-
 .../juneau/microservice/ResourceJenaGroup.html  |    6 +-
 .../microservice/resources/ConfigResource.html  |   20 +-
 .../resources/DirectoryResource.html            |    2 +-
 .../org/apache/juneau/rest/RequestQuery.html    |   69 +-
 .../org/apache/juneau/rest/RestConfig.html      |  152 +-
 .../org/apache/juneau/rest/RestContext.html     |  136 +-
 .../org/apache/juneau/rest/RestRequest.html     |  152 +-
 .../org/apache/juneau/rest/RestResponse.html    |   35 +-
 .../apache/juneau/rest/RestServletDefault.html  |    2 +-
 .../org/apache/juneau/rest/UrlPathPattern.html  |   14 +-
 .../apache/juneau/rest/annotation/HtmlDoc.html  |  125 +-
 .../juneau/rest/annotation/RestResource.html    |   33 +-
 .../rest/jena/RestServletJenaDefault.html       |    6 +-
 .../org/apache/juneau/rest/package-summary.html |   32 +-
 .../juneau/rest/widget/ContentTypeMenuItem.html |   17 +-
 .../juneau/rest/widget/QueryMenuItem.html       |   19 +-
 .../juneau/rest/widget/StyleMenuItem.html       |   17 +-
 .../org/apache/juneau/rest/widget/Widget.html   |   30 +-
 .../juneau/serializer/SerializerWriter.html     |   60 +-
 .../apache/juneau/soap/SoapXmlSerializer.html   |    2 +-
 content/site/apidocs/overview-summary.html      |  155 +-
 .../src-html/org/apache/juneau/ObjectMap.html   | 1462 ++++-----
 .../juneau/html/HtmlDocSerializerContext.html   | 1248 ++++----
 .../juneau/html/HtmlDocSerializerSession.html   |  473 ++-
 .../org/apache/juneau/html/HtmlDocTemplate.html |    4 +-
 .../juneau/html/HtmlDocTemplateBasic.html       |  365 +--
 .../apache/juneau/html/HtmlSerializer.Sq.html   |  978 +++---
 .../juneau/html/HtmlSerializer.SqReadable.html  |  978 +++---
 .../org/apache/juneau/html/HtmlSerializer.html  |  978 +++---
 .../apache/juneau/microservice/Resource.html    |   35 +-
 .../juneau/microservice/ResourceGroup.html      |   35 +-
 .../juneau/microservice/ResourceJena.html       |   15 +-
 .../juneau/microservice/ResourceJenaGroup.html  |   35 +-
 .../microservice/resources/ConfigResource.html  |  348 +-
 .../DirectoryResource.FileResource.html         |   18 +-
 .../resources/DirectoryResource.html            |   18 +-
 .../org/apache/juneau/rest/RequestQuery.html    |  910 +++---
 .../org/apache/juneau/rest/RestConfig.html      | 2927 ++++++++---------
 .../org/apache/juneau/rest/RestContext.html     | 3006 +++++++++---------
 .../org/apache/juneau/rest/RestRequest.html     | 1770 ++++++-----
 .../org/apache/juneau/rest/RestResponse.html    |  589 ++--
 .../apache/juneau/rest/RestServletDefault.html  |   25 +-
 .../org/apache/juneau/rest/UrlPathPattern.html  |  193 +-
 .../apache/juneau/rest/annotation/HtmlDoc.html  |  535 ++--
 .../juneau/rest/annotation/RestResource.html    |   57 +-
 .../rest/jena/RestServletJenaDefault.html       |   25 +-
 .../juneau/rest/widget/ContentTypeMenuItem.html |  136 +-
 .../juneau/rest/widget/QueryMenuItem.html       |  103 +-
 .../juneau/rest/widget/StyleMenuItem.html       |   94 +-
 .../org/apache/juneau/rest/widget/Widget.html   |  434 +--
 .../juneau/serializer/SerializerWriter.html     |  677 ++--
 .../apache/juneau/soap/SoapXmlSerializer.html   |   23 +-
 65 files changed, 10192 insertions(+), 9698 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/.gitignore
----------------------------------------------------------------------
diff --git a/content/.gitignore b/content/.gitignore
index 9bb88d3..0ced734 100644
--- a/content/.gitignore
+++ b/content/.gitignore
@@ -1 +1,2 @@
 /.DS_Store
+/site/

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/constant-values.html b/content/site/apidocs/constant-values.html
index a79ae88..98c2586 100644
--- a/content/site/apidocs/constant-values.html
+++ b/content/site/apidocs/constant-values.html
@@ -451,14 +451,14 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_links">HTMLDOC_links</a></code></td>
-<td class="colLast"><code>"HtmlDocSerializer.links.map"</code></td>
+<td class="colLast"><code>"HtmlDocSerializer.links.list"</code></td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a name="org.apache.juneau.html.HtmlDocSerializerContext.HTMLDOC_links_put">
+<td class="colFirst"><a name="org.apache.juneau.html.HtmlDocSerializerContext.HTMLDOC_links_add">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td><code><a href="org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_links_put">HTMLDOC_links_put</a></code></td>
-<td class="colLast"><code>"HtmlDocSerializer.links.map.put"</code></td>
+<td><code><a href="org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_links_add">HTMLDOC_links_add</a></code></td>
+<td class="colLast"><code>"HtmlDocSerializer.links.list.add"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.juneau.html.HtmlDocSerializerContext.HTMLDOC_nav">

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/index-all.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/index-all.html b/content/site/apidocs/index-all.html
index 780236c..c7dd23f 100644
--- a/content/site/apidocs/index-all.html
+++ b/content/site/apidocs/index-all.html
@@ -11981,6 +11981,10 @@
 <dd>
 <div class="block">Returns the URI to redirect to.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/juneau/rest/RestRequest.html#getUri-boolean-java.util.Map-">getUri(boolean, Map&lt;String, ?&gt;)</a></span> - Method in class org.apache.juneau.rest.<a href="org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a></dt>
+<dd>
+<div class="block">Returns the URI for this request.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/juneau/xml/Namespace.html#getUri--">getUri()</a></span> - Method in class org.apache.juneau.xml.<a href="org/apache/juneau/xml/Namespace.html" title="class in org.apache.juneau.xml">Namespace</a></dt>
 <dd>
 <div class="block">Returns the namespace URI.</div>
@@ -12896,7 +12900,7 @@
 <dd>
 <div class="block"><b>Configuration property:</b>  Page links.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_links_put">HTMLDOC_links_put</a></span> - Static variable in class org.apache.juneau.html.<a href="org/apache/juneau/html/HtmlDocSerializerContext.html" title="class in org.apache.juneau.html">HtmlDocSerializerContext</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_links_add">HTMLDOC_links_add</a></span> - Static variable in class org.apache.juneau.html.<a href="org/apache/juneau/html/HtmlDocSerializerContext.html" title="class in org.apache.juneau.html">HtmlDocSerializerContext</a></dt>
 <dd>
 <div class="block"><b>Configuration property:</b>  Add to the <a href="org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_links"><code>HtmlDocSerializerContext.HTMLDOC_links</code></a> property.</div>
 </dd>
@@ -23704,11 +23708,11 @@
 <dd>
 <div class="block">Sets the HTML header section contents.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/juneau/rest/RestConfig.html#setHtmlLinks-java.lang.String-">setHtmlLinks(String)</a></span> - Method in class org.apache.juneau.rest.<a href="org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/juneau/rest/RestConfig.html#setHtmlLinks-java.lang.String:A-">setHtmlLinks(String[])</a></span> - Method in class org.apache.juneau.rest.<a href="org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a></dt>
 <dd>
 <div class="block">Sets the links in the HTML nav section.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/juneau/rest/RestResponse.html#setHtmlLinks-java.lang.Object-">setHtmlLinks(Object)</a></span> - Method in class org.apache.juneau.rest.<a href="org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/juneau/rest/RestResponse.html#setHtmlLinks-java.lang.String:A-">setHtmlLinks(String[])</a></span> - Method in class org.apache.juneau.rest.<a href="org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a></dt>
 <dd>
 <div class="block">Sets the links in the HTML nav section.</div>
 </dd>
@@ -26736,6 +26740,10 @@
 <dd>
 <div class="block">Converts a primitive wrapper array (e.g.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/juneau/rest/RequestQuery.html#toQueryString--">toQueryString()</a></span> - Method in class org.apache.juneau.rest.<a href="org/apache/juneau/rest/RequestQuery.html" title="class in org.apache.juneau.rest">RequestQuery</a></dt>
+<dd>
+<div class="block">Converts this object to a query string.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/juneau/xml/XmlUtils.html#toReadableEvent-javax.xml.stream.XMLStreamReader-">toReadableEvent(XMLStreamReader)</a></span> - Static method in class org.apache.juneau.xml.<a href="org/apache/juneau/xml/XmlUtils.html" title="class in org.apache.juneau.xml">XmlUtils</a></dt>
 <dd>
 <div class="block">Utility method that converts the current event on the XML stream to something human-readable for debug purposes.</div>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/ObjectMap.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/ObjectMap.html b/content/site/apidocs/org/apache/juneau/ObjectMap.html
index 593c443..a66260c 100644
--- a/content/site/apidocs/org/apache/juneau/ObjectMap.html
+++ b/content/site/apidocs/org/apache/juneau/ObjectMap.html
@@ -1468,7 +1468,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.673">getString</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.679">getString</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;defVal)</pre>
 <div class="block">Returns the specified entry value converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang"><code>String</code></a>.
 
@@ -1489,7 +1489,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getInt</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.687">getInt</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.693">getInt</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block">Returns the specified entry value converted to an <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang"><code>Integer</code></a>.
 
  <p>
@@ -1510,7 +1510,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getInt</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.702">getInt</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.708">getInt</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;defVal)</pre>
 <div class="block">Returns the specified entry value converted to an <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang"><code>Integer</code></a>.
 
@@ -1533,7 +1533,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getLong</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.716">getLong</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.722">getLong</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block">Returns the specified entry value converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang"><code>Long</code></a>.
 
  <p>
@@ -1554,7 +1554,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getLong</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.731">getLong</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.737">getLong</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;defVal)</pre>
 <div class="block">Returns the specified entry value converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang"><code>Long</code></a>.
 
@@ -1577,7 +1577,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getBoolean</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.745">getBoolean</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.751">getBoolean</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block">Returns the specified entry value converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang"><code>Boolean</code></a>.
 
  <p>
@@ -1598,7 +1598,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getBoolean</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.760">getBoolean</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.766">getBoolean</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                           <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;defVal)</pre>
 <div class="block">Returns the specified entry value converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang"><code>Boolean</code></a>.
 
@@ -1621,7 +1621,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getMap</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;?,?&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.774">getMap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;?,?&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.780">getMap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block">Returns the specified entry value converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a>.
 
  <p>
@@ -1642,7 +1642,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getMap</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;?,?&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.789">getMap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;?,?&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.795">getMap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;?,?&gt;&nbsp;defVal)</pre>
 <div class="block">Returns the specified entry value converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a>.
 
@@ -1665,7 +1665,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getList</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;?&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.803">getList</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;?&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.809">getList</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block">Returns the specified entry value converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util"><code>List</code></a>.
 
  <p>
@@ -1686,7 +1686,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getList</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;?&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.818">getList</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;?&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.824">getList</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;?&gt;&nbsp;defVal)</pre>
 <div class="block">Returns the specified entry value converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util"><code>List</code></a>.
 
@@ -1709,7 +1709,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getObjectMap</h4>
-<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.832">getObjectMap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.838">getObjectMap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block">Returns the specified entry value converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a>.
 
  <p>
@@ -1730,7 +1730,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getObjectMap</h4>
-<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.847">getObjectMap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.853">getObjectMap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                               <a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;defVal)</pre>
 <div class="block">Returns the specified entry value converted to a <a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau"><code>ObjectMap</code></a>.
 
@@ -1753,7 +1753,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getObjectList</h4>
-<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectList.html" title="class in org.apache.juneau">ObjectList</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.861">getObjectList</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectList.html" title="class in org.apache.juneau">ObjectList</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.867">getObjectList</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block">Returns the specified entry value converted to a <a href="../../../org/apache/juneau/ObjectList.html" title="class in org.apache.juneau"><code>ObjectList</code></a>.
 
  <p>
@@ -1774,7 +1774,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getObjectList</h4>
-<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectList.html" title="class in org.apache.juneau">ObjectList</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.876">getObjectList</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectList.html" title="class in org.apache.juneau">ObjectList</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.882">getObjectList</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                                 <a href="../../../org/apache/juneau/ObjectList.html" title="class in org.apache.juneau">ObjectList</a>&nbsp;defVal)</pre>
 <div class="block">Returns the specified entry value converted to a <a href="../../../org/apache/juneau/ObjectList.html" title="class in org.apache.juneau"><code>ObjectList</code></a>.
 
@@ -1797,7 +1797,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>findString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.891">findString</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.897">findString</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
 <div class="block">Returns the first entry that exists converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang"><code>String</code></a>.
 
  <p>
@@ -1817,7 +1817,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>findInt</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.907">findInt</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.913">findInt</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
 <div class="block">Returns the first entry that exists converted to an <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang"><code>Integer</code></a>.
 
  <p>
@@ -1839,7 +1839,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>findLong</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.923">findLong</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.929">findLong</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
 <div class="block">Returns the first entry that exists converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang"><code>Long</code></a>.
 
  <p>
@@ -1861,7 +1861,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>findBoolean</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.939">findBoolean</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.945">findBoolean</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
 <div class="block">Returns the first entry that exists converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang"><code>Boolean</code></a>.
 
  <p>
@@ -1883,7 +1883,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>findMap</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;?,?&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.955">findMap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;?,?&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.961">findMap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
 <div class="block">Returns the first entry that exists converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a>.
 
  <p>
@@ -1905,7 +1905,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>findList</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;?&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.971">findList</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;?&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.977">findList</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
 <div class="block">Returns the first entry that exists converted to a <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util"><code>List</code></a>.
 
  <p>
@@ -1927,7 +1927,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>findObjectMap</h4>
-<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.987">findObjectMap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
+<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.993">findObjectMap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
 <div class="block">Returns the first entry that exists converted to a <a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau"><code>ObjectMap</code></a>.
 
  <p>
@@ -1949,7 +1949,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>findObjectList</h4>
-<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectList.html" title="class in org.apache.juneau">ObjectList</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1003">findObjectList</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
+<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectList.html" title="class in org.apache.juneau">ObjectList</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1009">findObjectList</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
 <div class="block">Returns the first entry that exists converted to a <a href="../../../org/apache/juneau/ObjectList.html" title="class in org.apache.juneau"><code>ObjectList</code></a>.
 
  <p>
@@ -1971,7 +1971,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstKey</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1012">getFirstKey</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1018">getFirstKey</a>()</pre>
 <div class="block">Returns the first key in the map.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1985,7 +1985,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>getClassMeta</h4>
-<pre>public&nbsp;<a href="../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1023">getClassMeta</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
+<pre>public&nbsp;<a href="../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1029">getClassMeta</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block">Returns the class type of the object at the specified index.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2003,7 +2003,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>remove</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1037">remove</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type,
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1043">remove</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                     T&nbsp;defVal)</pre>
 <div class="block">Equivalent to calling <code>get(class,key,def)</code> followed by <code>remove(key);</code></div>
@@ -2027,7 +2027,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>removeAll</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1049">removeAll</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keys)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1055">removeAll</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keys)</pre>
 <div class="block">Convenience method for removing several keys at once.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2041,7 +2041,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>removeAll</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1059">removeAll</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1065">removeAll</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
 <div class="block">Convenience method for removing several keys at once.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2055,7 +2055,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>containsKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1065">containsKey</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1071">containsKey</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true#containsKey-java.lang.Object-" title="class or interface in java.util">containsKey</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></dd>
@@ -2070,7 +2070,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>containsOuterKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1079">containsOuterKey</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1085">containsOuterKey</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key)</pre>
 <div class="block">Returns <jk>true</jk> if this map contains the specified key, ignoring the inner map if it exists.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2086,7 +2086,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>include</h4>
-<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1089">include</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
+<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1095">include</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
 <div class="block">Returns a copy of this <code>ObjectMap</code> with only the specified keys.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2102,7 +2102,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>exclude</h4>
-<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1104">exclude</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
+<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1110">exclude</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;keys)</pre>
 <div class="block">Returns a copy of this <code>ObjectMap</code> without the specified keys.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -2118,7 +2118,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>putIfNull</h4>
-<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1124">putIfNull</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1130">putIfNull</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                            <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;val)</pre>
 <div class="block">Sets a value in this map if the entry does not exist or the value is <jk>null</jk>.</div>
 <dl>
@@ -2136,7 +2136,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>putIfEmpty</h4>
-<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1138">putIfEmpty</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1144">putIfEmpty</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                             <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;val)</pre>
 <div class="block">Sets a value in this map if the entry does not exist or the value is <jk>null</jk> or an empty string.</div>
 <dl>
@@ -2154,7 +2154,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>cast</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1158">cast</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1164">cast</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</pre>
 <div class="block">Converts this map into an object of the specified type.
 
  <p>
@@ -2177,7 +2177,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>cast</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1178">cast</a>(<a href="../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;T&gt;&nbsp;cm)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1184">cast</a>(<a href="../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;T&gt;&nbsp;cm)</pre>
 <div class="block">Same as <a href="../../../org/apache/juneau/ObjectMap.html#cast-java.lang.Class-"><code>cast(Class)</code></a>, except allows you to specify a <a href="../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau"><code>ClassMeta</code></a> parameter.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -2197,7 +2197,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1295">toString</a>(<a href="../../../org/apache/juneau/serializer/WriterSerializer.html" title="class in org.apache.juneau.serializer">WriterSerializer</a>&nbsp;serializer)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1301">toString</a>(<a href="../../../org/apache/juneau/serializer/WriterSerializer.html" title="class in org.apache.juneau.serializer">WriterSerializer</a>&nbsp;serializer)
                 throws <a href="../../../org/apache/juneau/serializer/SerializeException.html" title="class in org.apache.juneau.serializer">SerializeException</a></pre>
 <div class="block">Serialize this object into a string using the specified serializer.</div>
 <dl>
@@ -2216,7 +2216,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1303">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1309">toString</a>()</pre>
 <div class="block">Serialize this object into a JSON string using the <a href="../../../org/apache/juneau/json/JsonSerializer.html#DEFAULT"><code>JsonSerializer.DEFAULT</code></a> serializer.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -2230,7 +2230,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeTo</h4>
-<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1320">serializeTo</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;w)
+<pre>public&nbsp;<a href="../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1326">serializeTo</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;w)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                              <a href="../../../org/apache/juneau/serializer/SerializeException.html" title="class in org.apache.juneau.serializer">SerializeException</a></pre>
 <div class="block">Convenience method for serializing this map to the specified <code>Writer</code> using the
@@ -2252,7 +2252,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockList">
 <li class="blockList">
 <h4>keySet</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1326">keySet</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1332">keySet</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true#keySet--" title="class or interface in java.util">keySet</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></dd>
@@ -2267,7 +2267,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>entrySet</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1336">entrySet</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;<a href="../../../src-html/org/apache/juneau/ObjectMap.html#line.1342">entrySet</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true#entrySet--" title="class or interface in java.util">entrySet</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></dd>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/dto/jsonschema/package-summary.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/dto/jsonschema/package-summary.html b/content/site/apidocs/org/apache/juneau/dto/jsonschema/package-summary.html
index 45ebc9f..c7fc414 100644
--- a/content/site/apidocs/org/apache/juneau/dto/jsonschema/package-summary.html
+++ b/content/site/apidocs/org/apache/juneau/dto/jsonschema/package-summary.html
@@ -563,7 +563,9 @@
       messages=<js>"nls/JsonSchemaResource"</js>,
       title=<js>"Sample JSON-Schema document"</js>,
       htmldoc=<ja>@HtmlDoc</ja>(
-         links=<js>"{options:'?method=OPTIONS'}"</js>
+         links={
+            <js>"options: ?method=OPTIONS"</js>
+         }
       )
    )
    <jk>public class</jk> JsonSchemaResource <jk>extends</jk> RestServletJenaDefault {

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/html/HtmlDocSerializerContext.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/html/HtmlDocSerializerContext.html b/content/site/apidocs/org/apache/juneau/html/HtmlDocSerializerContext.html
index 33a2ffa..298e57d 100644
--- a/content/site/apidocs/org/apache/juneau/html/HtmlDocSerializerContext.html
+++ b/content/site/apidocs/org/apache/juneau/html/HtmlDocSerializerContext.html
@@ -133,7 +133,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public final class <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.77">HtmlDocSerializerContext</a>
+<pre>public final class <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.78">HtmlDocSerializerContext</a>
 extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html" title="class in org.apache.juneau.html">HtmlSerializerContext</a></pre>
 <div class="block">Properties associated with the <a href="../../../../org/apache/juneau/html/HtmlDocSerializer.html" title="class in org.apache.juneau.html"><code>HtmlDocSerializer</code></a> class.
 
@@ -162,7 +162,10 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
       htmldoc=<ja>@HtmlDoc</ja>(
          title=<js>"$L{title}"</js>,
          description=<js>"$L{description}"</js>,
-         links=<js>"{options:'?method=OPTIONS',doc:'doc'}"</js>
+         links={
+            <js>"options: ?method=OPTIONS"</js>,
+            <js>"doc: doc"</js>
+         }
       )
    )
  </p>
@@ -247,7 +250,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_links_put">HTMLDOC_links_put</a></span></code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_links_add">HTMLDOC_links_add</a></span></code>
 <div class="block"><b>Configuration property:</b>  Add to the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_links"><code>HTMLDOC_links</code></a> property.</div>
 </td>
 </tr>
@@ -427,7 +430,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_title</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.136">HTMLDOC_title</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.137">HTMLDOC_title</a></pre>
 <div class="block"><b>Configuration property:</b>  Page title.
 
  <ul>
@@ -495,7 +498,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_description</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.199">HTMLDOC_description</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.200">HTMLDOC_description</a></pre>
 <div class="block"><b>Configuration property:</b>  Page description.
 
  <ul>
@@ -567,7 +570,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_branding</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.218">HTMLDOC_branding</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.219">HTMLDOC_branding</a></pre>
 <div class="block"><b>Configuration property:</b>  Page branding.
 
  <ul>
@@ -595,7 +598,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_header</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.250">HTMLDOC_header</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.253">HTMLDOC_header</a></pre>
 <div class="block"><b>Configuration property:</b>  Header section contents.
 
  <ul>
@@ -613,7 +616,9 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
  <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
-         nav=<js>"&lt;p class='special-navigation'&gt;This is my special navigation content&lt;/p&gt;"</js>
+         header={
+            <js>"&lt;h1&gt;My own header&lt;/h1&gt;"</js>
+         }
       )
    )
  </p>
@@ -636,13 +641,13 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_links</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.310">HTMLDOC_links</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.318">HTMLDOC_links</a></pre>
 <div class="block"><b>Configuration property:</b>  Page links.
 
  <ul>
-   <li><b>Name:</b> <js>"HtmlDocSerializer.links.map"</js>
-   <li><b>Data type:</b> <code>Map&lt;String,String&gt;</code>
-   <li><b>Default:</b> empty map
+   <li><b>Name:</b> <js>"HtmlDocSerializer.links.list"</js>
+   <li><b>Data type:</b> <code>String[]</code>
+   <li><b>Default:</b> empty array
    <li><b>Session-overridable:</b> <jk>true</jk>
  </ul>
 
@@ -653,7 +658,12 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
  This can be used to provide convenient hyperlinks when viewing the REST interface from a browser.
 
  <p>
- The value is a JSON object string where the keys are anchor text and the values are URLs.
+ The value is an array of strings with two possible values:
+ <ul>
+   <li>A key-value pair representing a hyperlink label and href:
+      <br><js>"google: http://google.com"</js>
+   <li>Arbitrary HTML.
+ </ul>
 
  <p>
  Relative URLs are considered relative to the servlet path.
@@ -670,7 +680,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
    <ja>@RestResource</ja>(
       properties={
          <ja>@Property</ja>(name=HtmlDocSerializerContext.<jsf>HTMLDOC_links</jsf>,
-            value=<js>"{options:'?method=OPTIONS',doc:'doc'}"</js>)
+            value=<js>"['options: ?method=OPTIONS', 'doc: doc']"</js>)
       }
    )
    <jk>public class</jk> AddressBookResource <jk>extends</jk> RestServletJenaDefault {
@@ -685,31 +695,31 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
  <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=@HtmlDoc(
-         links=<js>"{options:'?method=OPTIONS',doc:'doc'}"</js>
+         links={
+            <js>"options: ?method=OPTIONS"</js>,
+            <js>"doc: doc"</js>
+         }
       )
    )
    <jk>public class</jk> AddressBookResource <jk>extends</jk> RestServletJenaDefault {
- </p>
-
- <p>
- Values that start with <js>'&lt;'</js> are assumed to be HTML and rendered as-is.</div>
+ </p></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.juneau.html.HtmlDocSerializerContext.HTMLDOC_links">Constant Field Values</a></dd>
 </dl>
 </li>
 </ul>
-<a name="HTMLDOC_links_put">
+<a name="HTMLDOC_links_add">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>HTMLDOC_links_put</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.315">HTMLDOC_links_put</a></pre>
+<h4>HTMLDOC_links_add</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.323">HTMLDOC_links_add</a></pre>
 <div class="block"><b>Configuration property:</b>  Add to the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_links"><code>HTMLDOC_links</code></a> property.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../constant-values.html#org.apache.juneau.html.HtmlDocSerializerContext.HTMLDOC_links_put">Constant Field Values</a></dd>
+<dd><a href="../../../../constant-values.html#org.apache.juneau.html.HtmlDocSerializerContext.HTMLDOC_links_add">Constant Field Values</a></dd>
 </dl>
 </li>
 </ul>
@@ -719,7 +729,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_nav</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.346">HTMLDOC_nav</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.356">HTMLDOC_nav</a></pre>
 <div class="block"><b>Configuration property:</b>  Nav section contents.
 
  <ul>
@@ -737,7 +747,9 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
  <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
-         nav=<js>"&lt;p class='special-navigation'&gt;This is my special navigation content&lt;/p&gt;"</js>
+         nav={
+            <js>"&lt;p class='special-navigation'&gt;This is my special navigation content&lt;/p&gt;"</js>
+         }
       )
    )
  </p>
@@ -759,7 +771,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_aside</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.378">HTMLDOC_aside</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.394">HTMLDOC_aside</a></pre>
 <div class="block"><b>Configuration property:</b>  Aside section contents.
 
  <ul>
@@ -781,7 +793,13 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
  <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
-         aside=<js>"&lt;ul&gt;&lt;li&gt;Item 1&lt;li&gt;Item 2&lt;li&gt;Item 3&lt;/ul&gt;"</js>
+         aside={
+            <js>"&lt;ul&gt;"</js>,
+            <js>" &lt;li&gt;Item 1"</js>,
+            <js>" &lt;li&gt;Item 2"</js>,
+            <js>" &lt;li&gt;Item 3"</js>,
+            <js>"&lt;/ul&gt;"</js>
+         }
       )
    )
  </p>
@@ -800,7 +818,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_footer</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.408">HTMLDOC_footer</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.426">HTMLDOC_footer</a></pre>
 <div class="block"><b>Configuration property:</b>  Footer section contents.
 
  <ul>
@@ -820,7 +838,9 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
  <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
-         footer=<js>"&lt;b&gt;This interface is great!&lt;/b&gt;"</js>
+         footer={
+            <js>"&lt;b&gt;This interface is great!&lt;/b&gt;"</js>
+         }
       )
    )
  </p>
@@ -839,7 +859,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_noResultsMessage</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.435">HTMLDOC_noResultsMessage</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.453">HTMLDOC_noResultsMessage</a></pre>
 <div class="block"><b>Configuration property:</b>  No-results message.
 
  <ul>
@@ -875,7 +895,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_nowrap</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.450">HTMLDOC_nowrap</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.468">HTMLDOC_nowrap</a></pre>
 <div class="block"><b>Configuration property:</b>  Prevent word wrap on page.
 
  <ul>
@@ -899,7 +919,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_stylesheet</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.471">HTMLDOC_stylesheet</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.489">HTMLDOC_stylesheet</a></pre>
 <div class="block"><b>Configuration property:</b>  Stylesheet import URLs.
 
  <ul>
@@ -929,7 +949,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_stylesheet_add</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.476">HTMLDOC_stylesheet_add</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.494">HTMLDOC_stylesheet_add</a></pre>
 <div class="block"><b>Configuration property:</b>  Add to the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_stylesheet"><code>HTMLDOC_stylesheet</code></a> property.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -943,7 +963,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_style</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.511">HTMLDOC_style</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.532">HTMLDOC_style</a></pre>
 <div class="block"><b>Configuration property:</b>  CSS style code.
 
  <ul>
@@ -971,7 +991,10 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
  <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=@HtmlDoc(
-         style=<js>"h3 { color: red; }\nh5 { font-weight: bold; }"</js>
+         style={
+            <js>"h3 { color: red; }"</js>,
+            <js>"h5 { font-weight: bold; }"</js>
+         }
       )
    )
  </p></div>
@@ -987,7 +1010,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_style_add</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.516">HTMLDOC_style_add</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.537">HTMLDOC_style_add</a></pre>
 <div class="block"><b>Configuration property:</b>  Add to the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_style"><code>HTMLDOC_style</code></a> property.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1001,7 +1024,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_script</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.551">HTMLDOC_script</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.574">HTMLDOC_script</a></pre>
 <div class="block"><b>Configuration property:</b>  Javascript code.
 
  <ul>
@@ -1029,7 +1052,9 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
  <p class='bcode'>
    <ja>@RestResource</ja>(
       htmldoc=@HtmlDoc(
-         script=<js>"alert('hello!');"</js>
+         script={
+            <js>"alert('hello!');"</js>
+         }
       )
    )
  </p></div>
@@ -1045,7 +1070,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>HTMLDOC_script_add</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.556">HTMLDOC_script_add</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.579">HTMLDOC_script_add</a></pre>
 <div class="block"><b>Configuration property:</b>  Add to the <a href="../../../../org/apache/juneau/html/HtmlDocSerializerContext.html#HTMLDOC_script"><code>HTMLDOC_script</code></a> property.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1059,7 +1084,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HTMLDOC_template</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.584">HTMLDOC_template</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.607">HTMLDOC_template</a></pre>
 <div class="block"><b>Configuration property:</b>  HTML document template.
 
  <ul>
@@ -1104,7 +1129,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HtmlDocSerializerContext</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.601">HtmlDocSerializerContext</a>(<a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a>&nbsp;ps)</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.623">HtmlDocSerializerContext</a>(<a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a>&nbsp;ps)</pre>
 <div class="block">Constructor.
 
  <p>
@@ -1129,7 +1154,7 @@ extends <a href="../../../../org/apache/juneau/html/HtmlSerializerContext.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>asMap</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.620">asMap</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/html/HtmlDocSerializerContext.html#line.642">asMap</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/juneau/Context.html#asMap--">Context</a></code></span></div>
 <div class="block">Returns the properties defined on this bean context as a simple map for debugging purposes.</div>
 <dl>


[18/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/RestRequest.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/RestRequest.html b/content/site/apidocs/org/apache/juneau/rest/RestRequest.html
index a5e60a6..272ab65 100644
--- a/content/site/apidocs/org/apache/juneau/rest/RestRequest.html
+++ b/content/site/apidocs/org/apache/juneau/rest/RestRequest.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public final class <a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.68">RestRequest</a>
+<pre>public final class <a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.69">RestRequest</a>
 extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequestWrapper.html?is-external=true" title="class or interface in javax.servlet.http">HttpServletRequestWrapper</a></pre>
 <div class="block">Represents an HTTP request for a REST resource.
 
@@ -418,64 +418,71 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 </td>
 </tr>
 <tr id="i40" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestRequest.html#getUri-boolean-java.util.Map-">getUri</a></span>(boolean&nbsp;includeQuery,
+      <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,?&gt;&nbsp;addQueryParams)</code>
+<div class="block">Returns the URI for this request.</div>
+</td>
+</tr>
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/juneau/UriContext.html" title="class in org.apache.juneau">UriContext</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestRequest.html#getUriContext--">getUriContext</a></span>()</code>
 <div class="block">Returns the URI context of the request.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/juneau/UriResolver.html" title="class in org.apache.juneau">UriResolver</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestRequest.html#getUriResolver--">getUriResolver</a></span>()</code>
 <div class="block">Shortcut for calling <a href="../../../../org/apache/juneau/rest/RestRequest.html#getUriResolver--"><code>getUriResolver()</code></a> using <a href="../../../../org/apache/juneau/UriResolution.html#ROOT_RELATIVE"><code>UriResolution.ROOT_RELATIVE</code></a> and
  <a href="../../../../org/apache/juneau/UriRelativity.html#RESOURCE"><code>UriRelativity.RESOURCE</code></a></div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/juneau/UriResolver.html" title="class in org.apache.juneau">UriResolver</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestRequest.html#getUriResolver-org.apache.juneau.UriResolution-org.apache.juneau.UriRelativity-">getUriResolver</a></span>(<a href="../../../../org/apache/juneau/UriResolution.html" title="enum in org.apache.juneau">UriResolution</a>&nbsp;resolution,
               <a href="../../../../org/apache/juneau/UriRelativity.html" title="enum in org.apache.juneau">UriRelativity</a>&nbsp;relativity)</code>
 <div class="block">Returns a URI resolver that can be used to convert URIs to absolute or root-relative form.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestRequest.html#getVarResolverSession--">getVarResolverSession</a></span>()</code>
 <div class="block">Returns the variable resolver session for this request using session objects created by
  <a href="../../../../org/apache/juneau/rest/RestCallHandler.html#getSessionObjects-org.apache.juneau.rest.RestRequest-"><code>RestCallHandler.getSessionObjects(RestRequest)</code></a>.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/juneau/rest/widget/Widget.html" title="class in org.apache.juneau.rest.widget">Widget</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestRequest.html#getWidgets--">getWidgets</a></span>()</code>
 <div class="block">Returns the widgets used for resolving <js>"$W{...}"</js> string variables.</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestRequest.html#isPlainText--">isPlainText</a></span>()</code>
 <div class="block">Returns <jk>true</jk> if <code>&amp;plainText=true</code> was specified as a URL parameter.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestRequest.html#prop-java.lang.String-java.lang.Object-">prop</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
 <div class="block">Shortcut for calling <code>getProperties().append(name, value);</code> fluently.</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestRequest.html#resolveVars-java.lang.String-">resolveVars</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input)</code>
 <div class="block">Shortcut for calling <code>getVarResolverSession().resolve(input)</code>.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestRequest.html#setCharacterEncoding-java.lang.String-">setCharacterEncoding</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;charset)</code>
 <div class="block">Sets the charset to expect on the request body.</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestRequest.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -528,7 +535,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getDescription</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.205">getDescription</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.206">getDescription</a>()</pre>
 <div class="block">Returns a string of the form <js>"HTTP method-name full-url"</js></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -542,7 +549,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getAttribute</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.217">getAttribute</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.218">getAttribute</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                            <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;def)</pre>
 <div class="block">Same as <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequestWrapper.html?is-external=true#getAttribute-java.lang.String-" title="class or interface in javax.servlet"><code>ServletRequestWrapper.getAttribute(String)</code></a> but returns a default value if not found.</div>
 <dl>
@@ -560,7 +567,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>attr</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.229">attr</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.230">attr</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Shorthand method for calling <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequestWrapper.html?is-external=true#setAttribute-java.lang.String-java.lang.Object-" title="class or interface in javax.servlet"><code>ServletRequestWrapper.setAttribute(String, Object)</code></a> fluently.</div>
 <dl>
@@ -578,7 +585,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getProperties</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.255">getProperties</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.256">getProperties</a>()</pre>
 <div class="block">Retrieve the properties active for this request.
 
  <p>
@@ -595,7 +602,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>prop</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.266">prop</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.267">prop</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Shortcut for calling <code>getProperties().append(name, value);</code> fluently.</div>
 <dl>
@@ -613,7 +620,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getHeaders</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RequestHeaders.html" title="class in org.apache.juneau.rest">RequestHeaders</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.281">getHeaders</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RequestHeaders.html" title="class in org.apache.juneau.rest">RequestHeaders</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.282">getHeaders</a>()</pre>
 <div class="block">Returns the headers on this request.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -627,7 +634,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getHeader</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.286">getHeader</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.287">getHeader</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html?is-external=true#getHeader-java.lang.String-" title="class or interface in javax.servlet.http">getHeader</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http">HttpServletRequest</a></code></dd>
@@ -642,7 +649,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getHeaders</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.291">getHeaders</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.292">getHeaders</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html?is-external=true#getHeaders-java.lang.String-" title="class or interface in javax.servlet.http">getHeaders</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http">HttpServletRequest</a></code></dd>
@@ -657,7 +664,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getSupportedMediaTypes</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.303">getSupportedMediaTypes</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.304">getSupportedMediaTypes</a>()</pre>
 <div class="block">Returns the media types that are valid for <code>Content-Type</code> headers on the request.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -671,7 +678,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>setCharacterEncoding</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.311">setCharacterEncoding</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;charset)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.312">setCharacterEncoding</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;charset)</pre>
 <div class="block">Sets the charset to expect on the request body.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -687,7 +694,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getCharacterEncoding</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.319">getCharacterEncoding</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.320">getCharacterEncoding</a>()</pre>
 <div class="block">Returns the charset specified on the <code>Content-Type</code> header, or <js>"UTF-8"</js> if not specified.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -703,7 +710,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getLocale</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.339">getLocale</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.340">getLocale</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true#getLocale--" title="class or interface in javax.servlet">getLocale</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a></code></dd>
@@ -718,7 +725,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getLocales</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.350">getLocales</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.351">getLocales</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true#getLocales--" title="class or interface in javax.servlet">getLocales</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a></code></dd>
@@ -733,7 +740,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getQuery</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RequestQuery.html" title="class in org.apache.juneau.rest">RequestQuery</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.381">getQuery</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RequestQuery.html" title="class in org.apache.juneau.rest">RequestQuery</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.382">getQuery</a>()</pre>
 <div class="block">Equivalent to <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequestWrapper.html?is-external=true#getParameterMap--" title="class or interface in javax.servlet"><code>ServletRequestWrapper.getParameterMap()</code></a>, but only looks for query parameters in the URL, not form posts.
 
  <p>
@@ -754,7 +761,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getQuery</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.391">getQuery</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.392">getQuery</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Shortcut for calling <code>getQuery().getString(name)</code>.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -770,7 +777,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getFormData</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RequestFormData.html" title="class in org.apache.juneau.rest">RequestFormData</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.405">getFormData</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RequestFormData.html" title="class in org.apache.juneau.rest">RequestFormData</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.406">getFormData</a>()</pre>
 <div class="block">Retrieves the URL-encoded form data from the request if the body has already been cached locally.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -784,7 +791,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getFormData</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.432">getFormData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.433">getFormData</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Shortcut for calling <code>getFormData().getString(name)</code>.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -800,7 +807,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getPathMatch</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RequestPathMatch.html" title="class in org.apache.juneau.rest">RequestPathMatch</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.446">getPathMatch</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RequestPathMatch.html" title="class in org.apache.juneau.rest">RequestPathMatch</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.447">getPathMatch</a>()</pre>
 <div class="block">Retrieves the URL-encoded form data from the request if the body has already been cached locally.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -814,7 +821,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getBody</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RequestBody.html" title="class in org.apache.juneau.rest">RequestBody</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.460">getBody</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RequestBody.html" title="class in org.apache.juneau.rest">RequestBody</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.461">getBody</a>()</pre>
 <div class="block">Returns the body of this HTTP request.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -828,7 +835,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getReader</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html?is-external=true" title="class or interface in java.io">BufferedReader</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.475">getReader</a>()
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html?is-external=true" title="class or interface in java.io">BufferedReader</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.476">getReader</a>()
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns the HTTP body content as a <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a>.
 
@@ -854,7 +861,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getInputStream</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletInputStream.html?is-external=true" title="class or interface in javax.servlet">ServletInputStream</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.489">getInputStream</a>()
+<pre>public&nbsp;<a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletInputStream.html?is-external=true" title="class or interface in javax.servlet">ServletInputStream</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.490">getInputStream</a>()
                                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns the HTTP body content as an <a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a>.
 
@@ -878,7 +885,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getUriContext</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/UriContext.html" title="class in org.apache.juneau">UriContext</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.511">getUriContext</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/UriContext.html" title="class in org.apache.juneau">UriContext</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.512">getUriContext</a>()</pre>
 <div class="block">Returns the URI context of the request.
 
  <p>
@@ -896,7 +903,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getUriResolver</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/UriResolver.html" title="class in org.apache.juneau">UriResolver</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.530">getUriResolver</a>(<a href="../../../../org/apache/juneau/UriResolution.html" title="enum in org.apache.juneau">UriResolution</a>&nbsp;resolution,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/UriResolver.html" title="class in org.apache.juneau">UriResolver</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.531">getUriResolver</a>(<a href="../../../../org/apache/juneau/UriResolution.html" title="enum in org.apache.juneau">UriResolution</a>&nbsp;resolution,
                                   <a href="../../../../org/apache/juneau/UriRelativity.html" title="enum in org.apache.juneau">UriRelativity</a>&nbsp;relativity)</pre>
 <div class="block">Returns a URI resolver that can be used to convert URIs to absolute or root-relative form.</div>
 <dl>
@@ -914,7 +921,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getUriResolver</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/UriResolver.html" title="class in org.apache.juneau">UriResolver</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.540">getUriResolver</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/UriResolver.html" title="class in org.apache.juneau">UriResolver</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.541">getUriResolver</a>()</pre>
 <div class="block">Shortcut for calling <a href="../../../../org/apache/juneau/rest/RestRequest.html#getUriResolver--"><code>getUriResolver()</code></a> using <a href="../../../../org/apache/juneau/UriResolution.html#ROOT_RELATIVE"><code>UriResolution.ROOT_RELATIVE</code></a> and
  <a href="../../../../org/apache/juneau/UriRelativity.html#RESOURCE"><code>UriRelativity.RESOURCE</code></a></div>
 <dl>
@@ -923,13 +930,36 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 </dl>
 </li>
 </ul>
+<a name="getUri-boolean-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getUri</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net">URI</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.557">getUri</a>(boolean&nbsp;includeQuery,
+                  <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,?&gt;&nbsp;addQueryParams)</pre>
+<div class="block">Returns the URI for this request.
+
+ <p>
+ Similar to <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequestWrapper.html?is-external=true#getRequestURI--" title="class or interface in javax.servlet.http"><code>HttpServletRequestWrapper.getRequestURI()</code></a> but returns the value as a <a href="http://docs.oracle.com/javase/7/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net"><code>URI</code></a>.
+ It also gives you the capability to override the query parameters (e.g. add new query parameters to the existing
+ URI).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>includeQuery</code> - If <jk>true</jk> include the query parameters on the request.</dd>
+<dd><code>addQueryParams</code> - Augment the request URI with the specified query parameters.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A new URI.</dd>
+</dl>
+</li>
+</ul>
 <a name="getServletTitle--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getServletTitle</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.557">getServletTitle</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.589">getServletTitle</a>()</pre>
 <div class="block">Returns the localized servlet title.
 
  <p>
@@ -946,7 +976,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getServletDescription</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.569">getServletDescription</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.601">getServletDescription</a>()</pre>
 <div class="block">Returns the localized servlet description.
 
  <p>
@@ -963,7 +993,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getMethodSummary</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.581">getMethodSummary</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.613">getMethodSummary</a>()</pre>
 <div class="block">Returns the localized method summary.
 
  <p>
@@ -980,7 +1010,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getMethodDescription</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.593">getMethodDescription</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.625">getMethodDescription</a>()</pre>
 <div class="block">Returns the localized method description.
 
  <p>
@@ -997,7 +1027,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getStylesheet</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.606">getStylesheet</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.638">getStylesheet</a>()</pre>
 <div class="block">Returns the value of the <jk>"stylesheet"</js> parameter.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1011,7 +1041,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getSerializerGroup</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerGroup.html" title="class in org.apache.juneau.serializer">SerializerGroup</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.615">getSerializerGroup</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/serializer/SerializerGroup.html" title="class in org.apache.juneau.serializer">SerializerGroup</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.647">getSerializerGroup</a>()</pre>
 <div class="block">Returns the serializers associated with this request.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1025,7 +1055,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getParserGroup</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/parser/ParserGroup.html" title="class in org.apache.juneau.parser">ParserGroup</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.624">getParserGroup</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/parser/ParserGroup.html" title="class in org.apache.juneau.parser">ParserGroup</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.656">getParserGroup</a>()</pre>
 <div class="block">Returns the parsers associated with this request.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1039,7 +1069,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getMethod</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.637">getMethod</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.669">getMethod</a>()</pre>
 <div class="block">Returns the method of this request.
 
  <p>
@@ -1059,7 +1089,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getHttpMethod</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/http/HttpMethod.html" title="enum in org.apache.juneau.http">HttpMethod</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.649">getHttpMethod</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/http/HttpMethod.html" title="enum in org.apache.juneau.http">HttpMethod</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.681">getHttpMethod</a>()</pre>
 <div class="block">Returns the HTTP 1.1 method name of the request as an enum.
 
  <p>
@@ -1076,7 +1106,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getContentLength</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.654">getContentLength</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.686">getContentLength</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true#getContentLength--" title="class or interface in javax.servlet">getContentLength</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a></code></dd>
@@ -1091,7 +1121,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>isPlainText</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.674">isPlainText</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.706">isPlainText</a>()</pre>
 <div class="block">Returns <jk>true</jk> if <code>&amp;plainText=true</code> was specified as a URL parameter.
 
  <p>
@@ -1112,7 +1142,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getMessage</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.685">getMessage</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.717">getMessage</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                          <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;args)</pre>
 <div class="block">Shortcut method for calling <a href="../../../../org/apache/juneau/utils/MessageBundle.html#getString-java.util.Locale-java.lang.String-java.lang.Object...-"><code>MessageBundle.getString(Locale, String, Object...)</code></a> based on the request locale.</div>
 <dl>
@@ -1130,7 +1160,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getResourceBundle</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/utils/MessageBundle.html" title="class in org.apache.juneau.utils">MessageBundle</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.694">getResourceBundle</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/utils/MessageBundle.html" title="class in org.apache.juneau.utils">MessageBundle</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.726">getResourceBundle</a>()</pre>
 <div class="block">Returns the resource bundle for the request locale.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1144,7 +1174,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getContext</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.707">getContext</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest">RestContext</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.739">getContext</a>()</pre>
 <div class="block">Returns the servlet handling the request.
 
  <p>
@@ -1162,7 +1192,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getJavaMethod</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.726">getJavaMethod</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.758">getJavaMethod</a>()</pre>
 <div class="block">Returns the java method handling the request.
 
  <p>
@@ -1186,7 +1216,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getBeanSession</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/BeanSession.html" title="class in org.apache.juneau">BeanSession</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.735">getBeanSession</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/BeanSession.html" title="class in org.apache.juneau">BeanSession</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.767">getBeanSession</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/BeanSession.html" title="class in org.apache.juneau"><code>BeanSession</code></a> associated with this request.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1200,7 +1230,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getVarResolverSession</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.745">getVarResolverSession</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.777">getVarResolverSession</a>()</pre>
 <div class="block">Returns the variable resolver session for this request using session objects created by
  <a href="../../../../org/apache/juneau/rest/RestCallHandler.html#getSessionObjects-org.apache.juneau.rest.RestRequest-"><code>RestCallHandler.getSessionObjects(RestRequest)</code></a>.</div>
 <dl>
@@ -1215,7 +1245,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>resolveVars</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.757">resolveVars</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.789">resolveVars</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;input)</pre>
 <div class="block">Shortcut for calling <code>getVarResolverSession().resolve(input)</code>.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1231,7 +1261,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getReaderResource</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/ReaderResource.html" title="class in org.apache.juneau.rest">ReaderResource</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.773">getReaderResource</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/ReaderResource.html" title="class in org.apache.juneau.rest">ReaderResource</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.805">getReaderResource</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                         boolean&nbsp;resolveVars,
                                         <a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>&nbsp;mediaType)
                                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1256,7 +1286,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getReaderResource</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/ReaderResource.html" title="class in org.apache.juneau.rest">ReaderResource</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.794">getReaderResource</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/ReaderResource.html" title="class in org.apache.juneau.rest">ReaderResource</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.826">getReaderResource</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                         boolean&nbsp;resolveVars)
                                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Same as <a href="../../../../org/apache/juneau/rest/RestRequest.html#getReaderResource-java.lang.String-boolean-org.apache.juneau.http.MediaType-"><code>getReaderResource(String, boolean, MediaType)</code></a> except uses the resource mime-type map
@@ -1279,7 +1309,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getReaderResource</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/ReaderResource.html" title="class in org.apache.juneau.rest">ReaderResource</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.805">getReaderResource</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/ReaderResource.html" title="class in org.apache.juneau.rest">ReaderResource</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.837">getReaderResource</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Same as <a href="../../../../org/apache/juneau/rest/RestRequest.html#getReaderResource-java.lang.String-boolean-"><code>getReaderResource(String, boolean)</code></a> with <code>resolveVars == <jk>false</jk></code></div>
 <dl>
@@ -1298,7 +1328,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfigFile</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini">ConfigFile</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.816">getConfigFile</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini">ConfigFile</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.848">getConfigFile</a>()</pre>
 <div class="block">Returns the config file associated with the servlet.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1313,7 +1343,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getSwagger</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/dto/swagger/Swagger.html" title="class in org.apache.juneau.dto.swagger">Swagger</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.829">getSwagger</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/dto/swagger/Swagger.html" title="class in org.apache.juneau.dto.swagger">Swagger</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.861">getSwagger</a>()</pre>
 <div class="block">Returns the localized swagger associated with the servlet.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1328,7 +1358,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getWidgets</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/juneau/rest/widget/Widget.html" title="class in org.apache.juneau.rest.widget">Widget</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.842">getWidgets</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/juneau/rest/widget/Widget.html" title="class in org.apache.juneau.rest.widget">Widget</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.874">getWidgets</a>()</pre>
 <div class="block">Returns the widgets used for resolving <js>"$W{...}"</js> string variables.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1343,7 +1373,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>getSwaggerFromFile</h4>
-<pre>protected&nbsp;<a href="../../../../org/apache/juneau/dto/swagger/Swagger.html" title="class in org.apache.juneau.dto.swagger">Swagger</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.858">getSwaggerFromFile</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../org/apache/juneau/dto/swagger/Swagger.html" title="class in org.apache.juneau.dto.swagger">Swagger</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.890">getSwaggerFromFile</a>()</pre>
 <div class="block">Returns the localized Swagger from the file system.
 
  <p>
@@ -1364,7 +1394,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.867">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestRequest.html#line.899">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/RestResponse.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/RestResponse.html b/content/site/apidocs/org/apache/juneau/rest/RestResponse.html
index 1fe5309..216a8a3 100644
--- a/content/site/apidocs/org/apache/juneau/rest/RestResponse.html
+++ b/content/site/apidocs/org/apache/juneau/rest/RestResponse.html
@@ -318,7 +318,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 </tr>
 <tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestResponse.html#setHtmlLinks-java.lang.Object-">setHtmlLinks</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestResponse.html#setHtmlLinks-java.lang.String:A-">setHtmlLinks</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;value)</code>
 <div class="block">Sets the links in the HTML nav section.</div>
 </td>
 </tr>
@@ -824,7 +824,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
  The format of this value is plain text.
 
  <p>
- It gets wrapped in a <code><xt>&lt;h3&gt; <xa>class</xa>=<xs>'title'</xs>&gt;</xt></code> element and then added
+ It gets wrapped in a <code><xt>&lt;h1&gt;</xt></code> element and then added
  to the <code><xt>&lt;header&gt;</code> section on the page.
 
  <p>
@@ -881,7 +881,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
  The format of this value is plain text.
 
  <p>
- It gets wrapped in a <code><xt>&lt;h5&gt; <xa>class</xa>=<xs>'description'</xs>&gt;</xt></code> element and then
+ It gets wrapped in a <code><xt>&lt;h2&gt;</xt></code> element and then
  added to the <code><xt>&lt;header&gt;</code> section on the page.
 
  <p>
@@ -1002,13 +1002,13 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 </dl>
 </li>
 </ul>
-<a name="setHtmlLinks-java.lang.Object-">
+<a name="setHtmlLinks-java.lang.String:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlLinks</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.644">setHtmlLinks</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.643">setHtmlLinks</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;value)</pre>
 <div class="block">Sets the links in the HTML nav section.
 
  <p>
@@ -1032,7 +1032,6 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>value</code> - The HTML nav section links links.
-   Object will be converted to a string using <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang"><code>Object.toString()</code></a>.
    <p>
    <ul class='doctree'>
       <li class='info'>
@@ -1050,7 +1049,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlNav</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.684">setHtmlNav</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.683">setHtmlNav</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the HTML nav section contents.
 
  <p>
@@ -1063,7 +1062,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
  The format of this value is HTML.
 
  <p>
- When a value is specified, the <a href="../../../../org/apache/juneau/rest/RestResponse.html#setHtmlLinks-java.lang.Object-"><code>setHtmlLinks(Object)</code></a> value will be ignored.
+ When a value is specified, the <a href="../../../../org/apache/juneau/rest/RestResponse.html#setHtmlLinks-java.lang.String:A-"><code>setHtmlLinks(String[])</code></a> value will be ignored.
 
  <p>
  This field can contain variables (e.g. <js>"$L{my.localized.variable}"</js>).
@@ -1094,7 +1093,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlAside</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.718">setHtmlAside</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.717">setHtmlAside</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the HTML aside section contents.
 
  <p>
@@ -1132,7 +1131,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlFooter</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.752">setHtmlFooter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.751">setHtmlFooter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the HTML footer section contents.
 
  <p>
@@ -1170,7 +1169,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlStyle</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.783">setHtmlStyle</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.782">setHtmlStyle</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the HTML CSS style section contents.
 
  <p>
@@ -1205,7 +1204,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlStylesheet</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.818">setHtmlStylesheet</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.817">setHtmlStylesheet</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the CSS URL in the HTML CSS style section.
 
  <p>
@@ -1244,7 +1243,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlScript</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.849">setHtmlScript</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.848">setHtmlScript</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the HTML script section contents.
 
  <p>
@@ -1279,7 +1278,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlNoWrap</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.863">setHtmlNoWrap</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.862">setHtmlNoWrap</a>(boolean&nbsp;value)</pre>
 <div class="block">Shorthand method for forcing the rendered HTML content to be no-wrap.
 
  <p>
@@ -1298,7 +1297,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlNoResultsMessage</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.878">setHtmlNoResultsMessage</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.877">setHtmlNoResultsMessage</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Specifies the text to display when serializing an empty array or collection.
 
  <p>
@@ -1318,7 +1317,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlTemplate</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.896">setHtmlTemplate</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a>&gt;&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.895">setHtmlTemplate</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a>&gt;&nbsp;value)</pre>
 <div class="block">Specifies the template class to use for rendering the HTML page.
 
  <p>
@@ -1341,7 +1340,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlTemplate</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.914">setHtmlTemplate</a>(<a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestResponse.html" title="class in org.apache.juneau.rest">RestResponse</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.913">setHtmlTemplate</a>(<a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a>&nbsp;value)</pre>
 <div class="block">Specifies the template class to use for rendering the HTML page.
 
  <p>
@@ -1364,7 +1363,7 @@ extends <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServ
 <ul class="blockListLast">
 <li class="blockList">
 <h4>flushBuffer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.920">flushBuffer</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestResponse.html#line.919">flushBuffer</a>()
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/RestServletDefault.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/RestServletDefault.html b/content/site/apidocs/org/apache/juneau/rest/RestServletDefault.html
index 7f938fb..7489fbe 100644
--- a/content/site/apidocs/org/apache/juneau/rest/RestServletDefault.html
+++ b/content/site/apidocs/org/apache/juneau/rest/RestServletDefault.html
@@ -387,7 +387,7 @@ extends <a href="../../../../org/apache/juneau/rest/RestServlet.html" title="cla
             <a href="../../../../org/apache/juneau/rest/annotation/RestMethod.html#htmldoc--">htmldoc</a>=,
             <a href="../../../../org/apache/juneau/rest/annotation/RestMethod.html#summary--">summary</a>="Resource options",
             <a href="../../../../org/apache/juneau/rest/annotation/RestMethod.html#description--">description</a>="Swagger documentation")
-public&nbsp;<a href="../../../../org/apache/juneau/dto/swagger/Swagger.html" title="class in org.apache.juneau.dto.swagger">Swagger</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestServletDefault.html#line.221">getOptions</a>(<a href="../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)</pre>
+public&nbsp;<a href="../../../../org/apache/juneau/dto/swagger/Swagger.html" title="class in org.apache.juneau.dto.swagger">Swagger</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestServletDefault.html#line.224">getOptions</a>(<a href="../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)</pre>
 <div class="block">[OPTIONS /*] - Show resource options.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/UrlPathPattern.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/UrlPathPattern.html b/content/site/apidocs/org/apache/juneau/rest/UrlPathPattern.html
index b9f8fe0..76cc4a7 100644
--- a/content/site/apidocs/org/apache/juneau/rest/UrlPathPattern.html
+++ b/content/site/apidocs/org/apache/juneau/rest/UrlPathPattern.html
@@ -265,7 +265,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>compareTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/UrlPathPattern.html#line.132">compareTo</a>(<a href="../../../../org/apache/juneau/rest/UrlPathPattern.html" title="class in org.apache.juneau.rest">UrlPathPattern</a>&nbsp;o)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/UrlPathPattern.html#line.137">compareTo</a>(<a href="../../../../org/apache/juneau/rest/UrlPathPattern.html" title="class in org.apache.juneau.rest">UrlPathPattern</a>&nbsp;o)</pre>
 <div class="block">Comparator for this object.
 
  <p>
@@ -293,7 +293,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/UrlPathPattern.html#line.150">equals</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/UrlPathPattern.html#line.155">equals</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -306,7 +306,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/UrlPathPattern.html#line.157">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/UrlPathPattern.html#line.162">hashCode</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -319,7 +319,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/UrlPathPattern.html#line.162">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/UrlPathPattern.html#line.167">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -332,7 +332,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>toRegEx</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/UrlPathPattern.html#line.174">toRegEx</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/UrlPathPattern.html#line.179">toRegEx</a>()</pre>
 <div class="block">Returns this path pattern as the compiled regular expression.
 
  <p>
@@ -349,7 +349,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>getVars</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/UrlPathPattern.html#line.183">getVars</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/UrlPathPattern.html#line.188">getVars</a>()</pre>
 <div class="block">Bean property getter:  <property>vars</property>.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -363,7 +363,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparabl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getPatternString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/UrlPathPattern.html#line.192">getPatternString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/UrlPathPattern.html#line.197">getPatternString</a>()</pre>
 <div class="block">Bean property getter:  <property>patternString</property>.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>


[03/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/HtmlDoc.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/HtmlDoc.html b/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/HtmlDoc.html
index b53b05f..f36294e 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/HtmlDoc.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/HtmlDoc.html
@@ -63,8 +63,8 @@
 <span class="sourceLineNo">055</span> *       &amp;lt;/head&amp;gt;<a name="line.55"></a>
 <span class="sourceLineNo">056</span> *       &amp;lt;body&amp;gt;<a name="line.56"></a>
 <span class="sourceLineNo">057</span> *          &amp;lt;header&amp;gt;<a name="line.57"></a>
-<span class="sourceLineNo">058</span> *             &amp;lt;h3 &lt;xa&gt;class&lt;/xa&gt;=&lt;xs&gt;'title'&lt;/xs&gt;&amp;gt;&lt;xv&gt;Page title&lt;/xv&gt;&amp;lt;/h3&amp;gt;<a name="line.58"></a>
-<span class="sourceLineNo">059</span> *             &amp;lt;h5 &lt;xa&gt;class&lt;/xa&gt;=&lt;xs&gt;'description'&lt;/xs&gt;&amp;gt;&lt;xv&gt;Page description&lt;/xv&gt;&amp;lt;/h5&amp;gt;<a name="line.59"></a>
+<span class="sourceLineNo">058</span> *             &amp;lt;h1&amp;gt;&lt;xv&gt;Page title&lt;/xv&gt;&amp;lt;/h1&amp;gt;<a name="line.58"></a>
+<span class="sourceLineNo">059</span> *             &amp;lt;h2&amp;gt;&lt;xv&gt;Page description&lt;/xv&gt;&amp;lt;/h2&amp;gt;<a name="line.59"></a>
 <span class="sourceLineNo">060</span> *             &lt;xv&gt;Arbitrary page branding&lt;/xv&gt;<a name="line.60"></a>
 <span class="sourceLineNo">061</span> *          &amp;lt;/header&amp;gt;<a name="line.61"></a>
 <span class="sourceLineNo">062</span> *          &amp;lt;nav&amp;gt;<a name="line.62"></a>
@@ -92,7 +92,7 @@
 <span class="sourceLineNo">084</span>    * The format of this value is HTML (phrasing content only).<a name="line.84"></a>
 <span class="sourceLineNo">085</span>    *<a name="line.85"></a>
 <span class="sourceLineNo">086</span>    * &lt;p&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</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.87"></a>
+<span class="sourceLineNo">087</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.87"></a>
 <span class="sourceLineNo">088</span>    * to the &lt;code&gt;&lt;xt&gt;&amp;lt;header&amp;gt;&lt;/code&gt; section on the page.<a name="line.88"></a>
 <span class="sourceLineNo">089</span>    *<a name="line.89"></a>
 <span class="sourceLineNo">090</span>    * &lt;p&gt;<a name="line.90"></a>
@@ -135,7 +135,7 @@
 <span class="sourceLineNo">127</span>    * The format of this value is HTML (phrasing content only).<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    *<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    * &lt;p&gt;<a name="line.129"></a>
-<span class="sourceLineNo">130</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.130"></a>
+<span class="sourceLineNo">130</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.130"></a>
 <span class="sourceLineNo">131</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.131"></a>
 <span class="sourceLineNo">132</span>    *<a name="line.132"></a>
 <span class="sourceLineNo">133</span>    * &lt;p&gt;<a name="line.133"></a>
@@ -189,186 +189,186 @@
 <span class="sourceLineNo">181</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.181"></a>
 <span class="sourceLineNo">182</span>    *<a name="line.182"></a>
 <span class="sourceLineNo">183</span>    * &lt;p&gt;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    * The programmatic equivalent to this annotation are the<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    * {@link RestConfig#setHtmlBranding(String)}/{@link RestResponse#setHtmlBranding(Object)} methods.<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    */<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   String branding() default "";<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>   /**<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    * Sets the HTML header section contents.<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    *<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    * &lt;p&gt;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    * The format of this value is HTML.<a name="line.193"></a>
+<span class="sourceLineNo">184</span>    * Multiple values are combined with newlines into a single string.<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    *<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    * &lt;p&gt;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    * The programmatic equivalent to this annotation are the<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    * {@link RestConfig#setHtmlBranding(String)}/{@link RestResponse#setHtmlBranding(Object)} methods.<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    */<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   String[] branding() default {};<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>    * Sets the HTML header section contents.<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    *<a name="line.194"></a>
 <span class="sourceLineNo">195</span>    * &lt;p&gt;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    * The page header normally contains the title and description, but this value can be used to override the contents<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    * to be whatever you want.<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    *<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    * &lt;p class='bcode'&gt;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    *          header=&lt;js&gt;"&amp;lt;p&amp;gt;This is my REST interface&amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    *       )<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    *    )<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    * &lt;/p&gt;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    *<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    * &lt;p&gt;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    * When a value is specified, the {@link #title()} and {@link #description()} values will be ignored.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    *<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    * &lt;p&gt;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no header.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    *<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    * &lt;p&gt;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    *<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    * &lt;p&gt;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    * The programmatic equivalent to this annotation are the<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    * {@link RestConfig#setHtmlHeader(String)}/{@link RestResponse#setHtmlHeader(Object)} methods.<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    */<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   String header() default "";<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>   /**<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    * Sets the links in the HTML nav section.<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    *<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    * &lt;p&gt;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    * The format of this value is a lax-JSON map of key/value pairs where the keys are the link text and the values are<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    * relative (to the servlet) or absolute URLs.<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    *<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    * &lt;p&gt;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    * The page links are positioned immediately under the title and text.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    *<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    * &lt;p class='bcode'&gt;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    *          links=&lt;js&gt;"{up:'request:/..',options:'servlet:/?method=OPTIONS'}"&lt;/js&gt;<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    *       )<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    *    )<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    * &lt;/p&gt;<a name="line.240"></a>
+<span class="sourceLineNo">196</span>    * The format of this value is HTML.<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    *<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    * &lt;p&gt;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    * The page header normally contains the title and description, but this value can be used to override the contents<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    * to be whatever you want.<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    *<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    * &lt;p class='bcode'&gt;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    *          header={<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    *             &lt;js&gt;"&amp;lt;p&amp;gt;This is my REST interface&amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    *          }<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    *       )<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    *    )<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    * &lt;/p&gt;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    *<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    * &lt;p&gt;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    * When a value is specified, the {@link #title()} and {@link #description()} values will be ignored.<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    *<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    * &lt;p&gt;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no header.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    *<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    * &lt;p&gt;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    *<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    * &lt;p&gt;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    * Multiple values are combined with newlines into a single string.<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    *<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    * &lt;p&gt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    * The programmatic equivalent to this annotation are the<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    * {@link RestConfig#setHtmlHeader(String)}/{@link RestResponse#setHtmlHeader(Object)} methods.<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    */<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   String[] header() default {};<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>   /**<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    * Sets the links in the HTML nav section.<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    *<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    * &lt;p&gt;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    * The value is an array of strings with two possible values:<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    * &lt;ul&gt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    *    &lt;li&gt;A key-value pair representing a hyperlink label and href:<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    *       &lt;br&gt;&lt;js&gt;"google: http://google.com"&lt;/js&gt;<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    *    &lt;li&gt;Arbitrary HTML.<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    * &lt;/ul&gt;<a name="line.240"></a>
 <span class="sourceLineNo">241</span>    *<a name="line.241"></a>
 <span class="sourceLineNo">242</span>    * &lt;p&gt;<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.243"></a>
+<span class="sourceLineNo">243</span>    * The page links are positioned immediately under the title and text.<a name="line.243"></a>
 <span class="sourceLineNo">244</span>    *<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    * &lt;p&gt;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    *<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    * &lt;p&gt;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    * This field can also use URIs of any support type in {@link UriResolver}.<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    *<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    * &lt;p&gt;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    * The programmatic equivalent to this annotation are the<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    * {@link RestConfig#setHtmlLinks(String)}/{@link RestResponse#setHtmlLinks(Object)} methods.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    */<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   String links() default "";<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span>   /**<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    * Sets the HTML nav section contents.<a name="line.258"></a>
+<span class="sourceLineNo">245</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    * &lt;p class='bcode'&gt;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    *          links={<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    *             &lt;js&gt;"up: request:/.."&lt;/js&gt;,<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    *             &lt;js&gt;"options: servlet:/?method=OPTIONS"&lt;/js&gt;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    *          }<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    *       )<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    *    )<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    * &lt;/p&gt;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    *<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    * &lt;p&gt;<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.258"></a>
 <span class="sourceLineNo">259</span>    *<a name="line.259"></a>
 <span class="sourceLineNo">260</span>    * &lt;p&gt;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    * The format of this value is HTML.<a name="line.261"></a>
+<span class="sourceLineNo">261</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    *<a name="line.262"></a>
 <span class="sourceLineNo">263</span>    * &lt;p&gt;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    * The nav section of the page contains the links.<a name="line.264"></a>
+<span class="sourceLineNo">264</span>    * This field can also use URIs of any support type in {@link UriResolver}.<a name="line.264"></a>
 <span class="sourceLineNo">265</span>    *<a name="line.265"></a>
 <span class="sourceLineNo">266</span>    * &lt;p&gt;<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    * The format of this value is HTML.<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    *<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    * &lt;p class='bcode'&gt;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    *          nav=&lt;js&gt;"&amp;lt;p&amp;gt;Custom nav content&amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    *       )<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    *    )<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    * &lt;/p&gt;<a name="line.276"></a>
+<span class="sourceLineNo">267</span>    * The programmatic equivalent to this annotation are the<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    * {@link RestConfig#setHtmlLinks(String[])}/{@link RestResponse#setHtmlLinks(String[])} methods.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    */<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   String[] links() default {};<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>   /**<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    * Sets the HTML nav section contents.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    *<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    * &lt;p&gt;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    * The format of this value is HTML.<a name="line.276"></a>
 <span class="sourceLineNo">277</span>    *<a name="line.277"></a>
 <span class="sourceLineNo">278</span>    * &lt;p&gt;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    * When a value is specified, the {@link #links()} value will be ignored.<a name="line.279"></a>
+<span class="sourceLineNo">279</span>    * The nav section of the page contains the links.<a name="line.279"></a>
 <span class="sourceLineNo">280</span>    *<a name="line.280"></a>
 <span class="sourceLineNo">281</span>    * &lt;p&gt;<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.282"></a>
+<span class="sourceLineNo">282</span>    * The format of this value is HTML.<a name="line.282"></a>
 <span class="sourceLineNo">283</span>    *<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    * &lt;p&gt;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    *<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    * &lt;p&gt;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    * The programmatic equivalent to this annotation are the<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    * {@link RestConfig#setHtmlNav(String)}/{@link RestResponse#setHtmlNav(Object)} methods.<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    */<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   String nav() default "";<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>   /**<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    * Sets the HTML aside section contents.<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    *<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    * &lt;p&gt;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    * The format of this value is HTML.<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    *<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    * &lt;p&gt;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    * The aside section typically floats on the right side of the page.<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    *<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    * &lt;p class='bcode'&gt;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    *          aside=&lt;js&gt;"&amp;lt;p&amp;gt;Custom aside content&amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    *       )<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    *    )<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    * &lt;/p&gt;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    *<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    * &lt;p&gt;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    *<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    * &lt;p&gt;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    *<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    * &lt;p&gt;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    * The programmatic equivalent to this annotation are the<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    * {@link RestConfig#setHtmlAside(String)}/{@link RestResponse#setHtmlAside(Object)} methods.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    */<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   String aside() default "";<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>   /**<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    * Sets the HTML footer section contents.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    *<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    * &lt;p&gt;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    * The format of this value is HTML.<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    *<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    * &lt;p&gt;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    * The footer section typically floats on the bottom of the page.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    *<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    * &lt;p class='bcode'&gt;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    *          footer=&lt;js&gt;"&amp;lt;p&amp;gt;Custom footer content&amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    *       )<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    *    )<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    * &lt;/p&gt;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    *<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    * &lt;p&gt;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    *<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    * &lt;p&gt;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    *<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    * &lt;p&gt;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    * The programmatic equivalent to this annotation are the<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    * {@link RestConfig#setHtmlFooter(String)}/{@link RestResponse#setHtmlFooter(Object)} methods.<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    */<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   String footer() default "";<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>   /**<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    * Sets the HTML CSS style section contents.<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    *<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    * &lt;p&gt;<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    * The format of this value is CSS.<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    *<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    * &lt;p class='bcode'&gt;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    *          style=&lt;js&gt;".red{color:red;}\n.blue{color:blue}"&lt;/js&gt;<a name="line.363"></a>
+<span class="sourceLineNo">284</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    * &lt;p class='bcode'&gt;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    *          nav={<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    *             &lt;js&gt;"&amp;lt;p&amp;gt;Custom nav content&amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    *          }<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    *       )<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    *    )<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    * &lt;/p&gt;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    *<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    * &lt;p&gt;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    * When a value is specified, the {@link #links()} value will be ignored.<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    *<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    * &lt;p&gt;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    *<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    * &lt;p&gt;<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    *<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    * &lt;p&gt;<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    * Multiple values are combined with newlines into a single string.<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    *<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    * &lt;p&gt;<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    * The programmatic equivalent to this annotation are the<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    * {@link RestConfig#setHtmlNav(String)}/{@link RestResponse#setHtmlNav(Object)} methods.<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    */<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   String[] nav() default {};<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>   /**<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    * Sets the HTML aside section contents.<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    *<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    * &lt;p&gt;<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    * The format of this value is HTML.<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    *<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    * &lt;p&gt;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    * The aside section typically floats on the right side of the page.<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    *<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    * &lt;p class='bcode'&gt;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    *          aside={<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    *             &lt;js&gt;"&amp;lt;p&amp;gt;Custom aside content&amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    *          }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    *       )<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    *    )<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    * &lt;/p&gt;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    *<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    * &lt;p&gt;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    *<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    * &lt;p&gt;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    *<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    * &lt;p&gt;<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    * Multiple values are combined with newlines into a single string.<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    *<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    * &lt;p&gt;<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    * The programmatic equivalent to this annotation are the<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    * {@link RestConfig#setHtmlAside(String)}/{@link RestResponse#setHtmlAside(Object)} methods.<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    */<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   String[] aside() default {};<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>   /**<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    * Sets the HTML footer section contents.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    *<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    * &lt;p&gt;<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    * The format of this value is HTML.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    *<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    * &lt;p&gt;<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    * The footer section typically floats on the bottom of the page.<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    *<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    * &lt;p class='bcode'&gt;<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    *          footer={<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    *             &lt;js&gt;"&amp;lt;p&amp;gt;Custom footer content&amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    *          }<a name="line.363"></a>
 <span class="sourceLineNo">364</span>    *       )<a name="line.364"></a>
 <span class="sourceLineNo">365</span>    *    )<a name="line.365"></a>
 <span class="sourceLineNo">366</span>    * &lt;/p&gt;<a name="line.366"></a>
@@ -380,95 +380,136 @@
 <span class="sourceLineNo">372</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.372"></a>
 <span class="sourceLineNo">373</span>    *<a name="line.373"></a>
 <span class="sourceLineNo">374</span>    * &lt;p&gt;<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    * The programmatic equivalent to this annotation are the<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    * {@link RestConfig#setHtmlStyle(String)}/{@link RestResponse#setHtmlStyle(Object)} methods.<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    */<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   String style() default "";<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>   /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    * Sets the CSS URL in the HTML CSS style section.<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    *<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    * &lt;p&gt;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    * The format of this value is a URL.<a name="line.384"></a>
+<span class="sourceLineNo">375</span>    * Multiple values are combined with newlines into a single string.<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    *<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    * &lt;p&gt;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    * The programmatic equivalent to this annotation are the<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    * {@link RestConfig#setHtmlFooter(String)}/{@link RestResponse#setHtmlFooter(Object)} methods.<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    */<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   String[] footer() default {};<a name="line.381"></a>
+<span class="sourceLineNo">382</span><a name="line.382"></a>
+<span class="sourceLineNo">383</span>   /**<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    * Sets the HTML CSS style section contents.<a name="line.384"></a>
 <span class="sourceLineNo">385</span>    *<a name="line.385"></a>
 <span class="sourceLineNo">386</span>    * &lt;p&gt;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    * Specifies the URL to the stylesheet to add as a link in the style tag in the header.<a name="line.387"></a>
+<span class="sourceLineNo">387</span>    * The format of this value is CSS.<a name="line.387"></a>
 <span class="sourceLineNo">388</span>    *<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    * &lt;p&gt;<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    * The format of this value is CSS.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    *<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    * &lt;p class='bcode'&gt;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    *          stylesheet=&lt;js&gt;"http://someOtherHost/stealTheir.css"&lt;/js&gt;<a name="line.396"></a>
+<span class="sourceLineNo">389</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    * &lt;p class='bcode'&gt;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    *          style={<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    *             &lt;js&gt;".red{color:red;}"&lt;/js&gt;,<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    *             &lt;js&gt;".blue{color:blue;}"&lt;/js&gt;<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    *          }<a name="line.396"></a>
 <span class="sourceLineNo">397</span>    *       )<a name="line.397"></a>
 <span class="sourceLineNo">398</span>    *    )<a name="line.398"></a>
 <span class="sourceLineNo">399</span>    * &lt;/p&gt;<a name="line.399"></a>
 <span class="sourceLineNo">400</span>    *<a name="line.400"></a>
 <span class="sourceLineNo">401</span>    * &lt;p&gt;<a name="line.401"></a>
-<span class="sourceLineNo">402</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.402"></a>
-<span class="sourceLineNo">403</span>    * by {@link UriResolver}.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    *<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    * &lt;p&gt;<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    * The programmatic equivalent to this annotation are the<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    * {@link RestConfig#setHtmlStylesheet(String)}/{@link RestResponse#setHtmlStylesheet(Object)} methods.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    */<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   String stylesheet() default "";<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>   /**<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    * Sets the HTML script section contents.<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    *<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    * &lt;p&gt;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    * The format of this value is Javascript.<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    *<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    * &lt;p class='bcode'&gt;<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    *          script=&lt;js&gt;"alert('Hello!')"&lt;/js&gt;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    *       )<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    *    )<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    * &lt;/p&gt;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    *<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    * &lt;p&gt;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    *<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    * &lt;p&gt;<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    *<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    * &lt;p&gt;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    * The programmatic equivalent to this annotation are the<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    * {@link RestConfig#setHtmlScript(String)}/{@link RestResponse#setHtmlScript(Object)} methods.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    */<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   String script() default "";<a name="line.436"></a>
-<span class="sourceLineNo">437</span><a name="line.437"></a>
-<span class="sourceLineNo">438</span>   /**<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    * Shorthand method for forcing the rendered HTML content to be no-wrap.<a name="line.439"></a>
+<span class="sourceLineNo">402</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    *<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    * &lt;p&gt;<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    *<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    * &lt;p&gt;<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    * Multiple values are combined with newlines into a single string.<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    *<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    * &lt;p&gt;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    * The programmatic equivalent to this annotation are the<a name="line.411"></a>
+<span class="sourceLineNo">412</span>    * {@link RestConfig#setHtmlStyle(String)}/{@link RestResponse#setHtmlStyle(Object)} methods.<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    */<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   String[] style() default {};<a name="line.414"></a>
+<span class="sourceLineNo">415</span><a name="line.415"></a>
+<span class="sourceLineNo">416</span>   /**<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    * Sets the CSS URL in the HTML CSS style section.<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    *<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    * &lt;p&gt;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    * The format of this value is a URL.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    *<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    * &lt;p&gt;<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    * Specifies the URL to the stylesheet to add as a link in the style tag in the header.<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    *<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    * &lt;p&gt;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    * The format of this value is CSS.<a name="line.426"></a>
+<span class="sourceLineNo">427</span>    *<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    * &lt;p class='bcode'&gt;<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    *          stylesheet=&lt;js&gt;"http://someOtherHost/stealTheir.css"&lt;/js&gt;<a name="line.432"></a>
+<span class="sourceLineNo">433</span>    *       )<a name="line.433"></a>
+<span class="sourceLineNo">434</span>    *    )<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    * &lt;/p&gt;<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    *<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    * &lt;p&gt;<a name="line.437"></a>
+<span class="sourceLineNo">438</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.438"></a>
+<span class="sourceLineNo">439</span>    * by {@link UriResolver}.<a name="line.439"></a>
 <span class="sourceLineNo">440</span>    *<a name="line.440"></a>
 <span class="sourceLineNo">441</span>    * &lt;p&gt;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    * This only applies to the rendered data portion of the page.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    */<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   boolean nowrap() default false;<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>   /**<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    * Specifies the text to display when serializing an empty array or collection.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    */<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   String noResultsMessage() default "no results";<a name="line.449"></a>
-<span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>   /**<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    * Specifies the template class to use for rendering the HTML page.<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    *<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    * &lt;p&gt;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    * By default, uses {@link HtmlDocTemplateBasic} to render the contents, although you can provide your own custom<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    * renderer or subclasses from the basic class to have full control over how the page is rendered.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    *<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    * &lt;p&gt;<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    * The programmatic equivalent to this annotation are the<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    * {@link RestConfig#setHtmlTemplate(Class)}/{@link RestResponse#setHtmlTemplate(Class)} methods.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    */<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   Class&lt;? extends HtmlDocTemplate&gt; template() default HtmlDocTemplate.class;<a name="line.462"></a>
-<span class="sourceLineNo">463</span>}<a name="line.463"></a>
+<span class="sourceLineNo">442</span>    * The programmatic equivalent to this annotation are the<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    * {@link RestConfig#setHtmlStylesheet(String)}/{@link RestResponse#setHtmlStylesheet(Object)} methods.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    */<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   String stylesheet() default "";<a name="line.445"></a>
+<span class="sourceLineNo">446</span><a name="line.446"></a>
+<span class="sourceLineNo">447</span>   /**<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    * Sets the HTML script section contents.<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>
+<span class="sourceLineNo">451</span>    * The format of this value is Javascript.<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    *<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    * &lt;p class='bcode'&gt;<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    *          script={<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    *             &lt;js&gt;"alert('Hello!')"&lt;/js&gt;<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    *          }<a name="line.459"></a>
+<span class="sourceLineNo">460</span>    *       )<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    *    )<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    * &lt;/p&gt;<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    *<a name="line.463"></a>
+<span class="sourceLineNo">464</span>    * &lt;p&gt;<a name="line.464"></a>
+<span class="sourceLineNo">465</span>    * This field can contain variables (e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.465"></a>
+<span class="sourceLineNo">466</span>    *<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    * &lt;p&gt;<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to force no value.<a name="line.468"></a>
+<span class="sourceLineNo">469</span>    *<a name="line.469"></a>
+<span class="sourceLineNo">470</span>    * &lt;p&gt;<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    * Multiple values are combined with newlines into a single string.<a name="line.471"></a>
+<span class="sourceLineNo">472</span>    *<a name="line.472"></a>
+<span class="sourceLineNo">473</span>    * &lt;p&gt;<a name="line.473"></a>
+<span class="sourceLineNo">474</span>    * The programmatic equivalent to this annotation are the<a name="line.474"></a>
+<span class="sourceLineNo">475</span>    * {@link RestConfig#setHtmlScript(String)}/{@link RestResponse#setHtmlScript(Object)} methods.<a name="line.475"></a>
+<span class="sourceLineNo">476</span>    */<a name="line.476"></a>
+<span class="sourceLineNo">477</span>   String[] script() default {};<a name="line.477"></a>
+<span class="sourceLineNo">478</span><a name="line.478"></a>
+<span class="sourceLineNo">479</span>   /**<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    * Shorthand method for forcing the rendered HTML content to be no-wrap.<a name="line.480"></a>
+<span class="sourceLineNo">481</span>    *<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    * &lt;p&gt;<a name="line.482"></a>
+<span class="sourceLineNo">483</span>    * This only applies to the rendered data portion of the page.<a name="line.483"></a>
+<span class="sourceLineNo">484</span>    */<a name="line.484"></a>
+<span class="sourceLineNo">485</span>   boolean nowrap() default false;<a name="line.485"></a>
+<span class="sourceLineNo">486</span><a name="line.486"></a>
+<span class="sourceLineNo">487</span>   /**<a name="line.487"></a>
+<span class="sourceLineNo">488</span>    * Specifies the text to display when serializing an empty array or collection.<a name="line.488"></a>
+<span class="sourceLineNo">489</span>    */<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   String noResultsMessage() default "no results";<a name="line.490"></a>
+<span class="sourceLineNo">491</span><a name="line.491"></a>
+<span class="sourceLineNo">492</span>   /**<a name="line.492"></a>
+<span class="sourceLineNo">493</span>    * Specifies the template class to use for rendering the HTML page.<a name="line.493"></a>
+<span class="sourceLineNo">494</span>    *<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    * &lt;p&gt;<a name="line.495"></a>
+<span class="sourceLineNo">496</span>    * By default, uses {@link HtmlDocTemplateBasic} to render the contents, although you can provide your own custom<a name="line.496"></a>
+<span class="sourceLineNo">497</span>    * renderer or subclasses from the basic class to have full control over how the page is rendered.<a name="line.497"></a>
+<span class="sourceLineNo">498</span>    *<a name="line.498"></a>
+<span class="sourceLineNo">499</span>    * &lt;p&gt;<a name="line.499"></a>
+<span class="sourceLineNo">500</span>    * The programmatic equivalent to this annotation are the<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    * {@link RestConfig#setHtmlTemplate(Class)}/{@link RestResponse#setHtmlTemplate(Class)} methods.<a name="line.501"></a>
+<span class="sourceLineNo">502</span>    */<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   Class&lt;? extends HtmlDocTemplate&gt; template() default HtmlDocTemplate.class;<a name="line.503"></a>
+<span class="sourceLineNo">504</span>}<a name="line.504"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/RestResource.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/RestResource.html b/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/RestResource.html
index 3cf79a8..7ec992b 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/RestResource.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/RestResource.html
@@ -708,32 +708,37 @@
 <span class="sourceLineNo">700</span>    *       // "servlet:/..." URIs are relative to the servlet URI.<a name="line.700"></a>
 <span class="sourceLineNo">701</span>    *       // "$C{...}" variables are pulled from the config file.&lt;/jc&gt;<a name="line.701"></a>
 <span class="sourceLineNo">702</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    *          links=&lt;js&gt;"{up:'request:/..',options:'servlet:/?method=OPTIONS',source:'$C{Source/gitHub}/org/apache/juneau/examples/rest/addressbook/AddressBookResource.java'}"&lt;/js&gt;,<a name="line.703"></a>
-<span class="sourceLineNo">704</span>    *             aside=&lt;js&gt;""&lt;/js&gt;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    *                + &lt;js&gt;"&amp;lt;div style='max-width:400px;min-width:200px'&amp;gt;"&lt;/js&gt;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    *                + &lt;js&gt;"  &amp;lt;p&amp;gt;Proof-of-concept resource that shows off the capabilities of working with POJO resources.&amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    *                + &lt;js&gt;"  &amp;lt;p&amp;gt;Provides examples of: &amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    *                + &lt;js&gt;"     &amp;lt;ul&amp;gt;"&lt;/js&gt;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    *                + &lt;js&gt;"        &amp;lt;li&amp;gt;XML and RDF namespaces"&lt;/js&gt;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>    *                + &lt;js&gt;"        &amp;lt;li&amp;gt;Swagger documentation"&lt;/js&gt;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    *                + &lt;js&gt;"        &amp;lt;li&amp;gt;Widgets"&lt;/js&gt;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>    *                + &lt;js&gt;"     &amp;lt;/ul&amp;gt;"&lt;/js&gt;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>    *                + &lt;js&gt;"  &amp;lt;p style='text-weight:bold;text-decoration:underline;'&amp;gt;Available Content Types&amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    *                + &lt;js&gt;"  $W{contentTypeLinks}"&lt;/js&gt;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>    *                + &lt;js&gt;"&amp;lt;/div&amp;gt;"&lt;/js&gt;,<a name="line.715"></a>
-<span class="sourceLineNo">716</span>    *          footer=&lt;js&gt;"$W{poweredByJuneau}"&lt;/js&gt;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>    *       ),<a name="line.717"></a>
-<span class="sourceLineNo">718</span>    *<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    *       &lt;jc&gt;// Widgets for $W variables above.&lt;/jc&gt;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    *       widgets={<a name="line.720"></a>
-<span class="sourceLineNo">721</span>    *          PoweredByJuneauWidget.&lt;jk&gt;class&lt;/jk&gt;,<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    *          ContentTypeLinksWidget.&lt;jk&gt;class&lt;/jk&gt;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    *       }<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>    */<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   HtmlDoc htmldoc() default @HtmlDoc;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>}<a name="line.728"></a>
+<span class="sourceLineNo">703</span>    *          links={<a name="line.703"></a>
+<span class="sourceLineNo">704</span>    *             &lt;js&gt;"up: request:/.."&lt;/js&gt;,<a name="line.704"></a>
+<span class="sourceLineNo">705</span>    *             &lt;js&gt;"options: servlet:/?method=OPTIONS"&lt;/js&gt;,<a name="line.705"></a>
+<span class="sourceLineNo">706</span>    *             &lt;js&gt;"source: $C{Source/gitHub}/org/apache/juneau/examples/rest/addressbook/AddressBookResource.java"&lt;/js&gt;,<a name="line.706"></a>
+<span class="sourceLineNo">707</span>    *          },<a name="line.707"></a>
+<span class="sourceLineNo">708</span>    *          aside={<a name="line.708"></a>
+<span class="sourceLineNo">709</span>    *             &lt;js&gt;"&amp;lt;div style='max-width:400px;min-width:200px'&amp;gt;"&lt;/js&gt;,<a name="line.709"></a>
+<span class="sourceLineNo">710</span>    *             &lt;js&gt;" &amp;lt;p&amp;gt;Proof-of-concept resource that shows off the capabilities of working with POJO resources.&amp;lt;/p&amp;gt;"&lt;/js&gt;,<a name="line.710"></a>
+<span class="sourceLineNo">711</span>    *             &lt;js&gt;" &amp;lt;p&amp;gt;Provides examples of: &amp;lt;/p&amp;gt;"&lt;/js&gt;,<a name="line.711"></a>
+<span class="sourceLineNo">712</span>    *             &lt;js&gt;"    &amp;lt;ul&amp;gt;"&lt;/js&gt;,<a name="line.712"></a>
+<span class="sourceLineNo">713</span>    *             &lt;js&gt;"       &amp;lt;li&amp;gt;XML and RDF namespaces"&lt;/js&gt;,<a name="line.713"></a>
+<span class="sourceLineNo">714</span>    *             &lt;js&gt;"       &amp;lt;li&amp;gt;Swagger documentation"&lt;/js&gt;,<a name="line.714"></a>
+<span class="sourceLineNo">715</span>    *             &lt;js&gt;"       &amp;lt;li&amp;gt;Widgets"&lt;/js&gt;,<a name="line.715"></a>
+<span class="sourceLineNo">716</span>    *             &lt;js&gt;"    &amp;lt;/ul&amp;gt;"&lt;/js&gt;,<a name="line.716"></a>
+<span class="sourceLineNo">717</span>    *             &lt;js&gt;" &amp;lt;p style='text-weight:bold;text-decoration:underline;'&amp;gt;Available Content Types&amp;lt;/p&amp;gt;"&lt;/js&gt;,<a name="line.717"></a>
+<span class="sourceLineNo">718</span>    *             &lt;js&gt;" $W{contentTypeLinks}"&lt;/js&gt;,<a name="line.718"></a>
+<span class="sourceLineNo">719</span>    *             &lt;js&gt;"&amp;lt;/div&amp;gt;"&lt;/js&gt;<a name="line.719"></a>
+<span class="sourceLineNo">720</span>    *          },<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    *          footer=&lt;js&gt;"$W{poweredByJuneau}"&lt;/js&gt;<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>    *       &lt;jc&gt;// Widgets for $W variables above.&lt;/jc&gt;<a name="line.724"></a>
+<span class="sourceLineNo">725</span>    *       widgets={<a name="line.725"></a>
+<span class="sourceLineNo">726</span>    *          PoweredByJuneauWidget.&lt;jk&gt;class&lt;/jk&gt;,<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    *          ContentTypeLinksWidget.&lt;jk&gt;class&lt;/jk&gt;<a name="line.727"></a>
+<span class="sourceLineNo">728</span>    *       }<a name="line.728"></a>
+<span class="sourceLineNo">729</span>    *    )<a name="line.729"></a>
+<span class="sourceLineNo">730</span>    * &lt;/p&gt;<a name="line.730"></a>
+<span class="sourceLineNo">731</span>    */<a name="line.731"></a>
+<span class="sourceLineNo">732</span>   HtmlDoc htmldoc() default @HtmlDoc;<a name="line.732"></a>
+<span class="sourceLineNo">733</span>}<a name="line.733"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/rest/jena/RestServletJenaDefault.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/jena/RestServletJenaDefault.html b/content/site/apidocs/src-html/org/apache/juneau/rest/jena/RestServletJenaDefault.html
index 5930055..051bfc2 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/jena/RestServletJenaDefault.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/jena/RestServletJenaDefault.html
@@ -269,16 +269,21 @@
 <span class="sourceLineNo">261</span>    * @return The bean containing the contents of the OPTIONS page.<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    */<a name="line.262"></a>
 <span class="sourceLineNo">263</span>   @RestMethod(name="OPTIONS", path="/*",<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      summary="Resource options",<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      description="Resource options",<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      htmldoc=@HtmlDoc(<a name="line.266"></a>
-<span class="sourceLineNo">267</span>         links="{back:'$R{servletURI}'}"<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      )<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   )<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   public Swagger getOptions(RestRequest req) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      return req.getSwagger();<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   }<a name="line.272"></a>
-<span class="sourceLineNo">273</span>}<a name="line.273"></a>
+<span class="sourceLineNo">264</span>      htmldoc=@HtmlDoc(<a name="line.264"></a>
+<span class="sourceLineNo">265</span>         links={<a name="line.265"></a>
+<span class="sourceLineNo">266</span>            "back: servlet:/",<a name="line.266"></a>
+<span class="sourceLineNo">267</span>            "json: servlet:/?method=OPTIONS&amp;Accept=text/json&amp;plainText=true"<a name="line.267"></a>
+<span class="sourceLineNo">268</span>         },<a name="line.268"></a>
+<span class="sourceLineNo">269</span>         description="Swagger documentation",<a name="line.269"></a>
+<span class="sourceLineNo">270</span>         aside="NONE"<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      ),<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      summary="Resource options",<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      description="Swagger documentation"<a name="line.273"></a>
+<span class="sourceLineNo">274</span>   )<a name="line.274"></a>
+<span class="sourceLineNo">275</span>   public Swagger getOptions(RestRequest req) {<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      return req.getSwagger();<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   }<a name="line.277"></a>
+<span class="sourceLineNo">278</span>}<a name="line.278"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/rest/widget/ContentTypeMenuItem.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/widget/ContentTypeMenuItem.html b/content/site/apidocs/src-html/org/apache/juneau/rest/widget/ContentTypeMenuItem.html
index d7735da..fde7cb8 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/widget/ContentTypeMenuItem.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/widget/ContentTypeMenuItem.html
@@ -20,74 +20,82 @@
 <span class="sourceLineNo">012</span>// ***************************************************************************************************************************<a name="line.12"></a>
 <span class="sourceLineNo">013</span>package org.apache.juneau.rest.widget;<a name="line.13"></a>
 <span class="sourceLineNo">014</span><a name="line.14"></a>
-<span class="sourceLineNo">015</span>import java.util.*;<a name="line.15"></a>
-<span class="sourceLineNo">016</span><a name="line.16"></a>
-<span class="sourceLineNo">017</span>import org.apache.juneau.*;<a name="line.17"></a>
+<span class="sourceLineNo">015</span>import java.net.*;<a name="line.15"></a>
+<span class="sourceLineNo">016</span>import java.util.*;<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
 <span class="sourceLineNo">018</span>import org.apache.juneau.http.*;<a name="line.18"></a>
 <span class="sourceLineNo">019</span>import org.apache.juneau.rest.*;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>/**<a name="line.21"></a>
-<span class="sourceLineNo">022</span> * Widget that returns back a list of hyperlinks for rendering the contents of a page in a variety of content types.<a name="line.22"></a>
-<span class="sourceLineNo">023</span> *<a name="line.23"></a>
-<span class="sourceLineNo">024</span> * &lt;p&gt;<a name="line.24"></a>
-<span class="sourceLineNo">025</span> * The variable it resolves is &lt;js&gt;"$W{contentTypeMenuItem}"&lt;/js&gt;.<a name="line.25"></a>
-<span class="sourceLineNo">026</span> *<a name="line.26"></a>
-<span class="sourceLineNo">027</span> * &lt;p&gt;<a name="line.27"></a>
-<span class="sourceLineNo">028</span> * An example of this widget can be found in the &lt;code&gt;PetStoreResource&lt;/code&gt; in the examples that provides<a name="line.28"></a>
-<span class="sourceLineNo">029</span> * a drop-down menu item for rendering all other supported content types in plain text:<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * &lt;p class='bcode'&gt;<a name="line.30"></a>
-<span class="sourceLineNo">031</span> *    &lt;ja&gt;@RestMethod&lt;/ja&gt;(<a name="line.31"></a>
-<span class="sourceLineNo">032</span> *       name=&lt;js&gt;"GET"&lt;/js&gt;,<a name="line.32"></a>
-<span class="sourceLineNo">033</span> *       path=&lt;js&gt;"/"&lt;/js&gt;,<a name="line.33"></a>
-<span class="sourceLineNo">034</span> *       widgets={<a name="line.34"></a>
-<span class="sourceLineNo">035</span> *          ContentTypeMenuItem.&lt;jk&gt;class&lt;/jk&gt;,<a name="line.35"></a>
-<span class="sourceLineNo">036</span> *       },<a name="line.36"></a>
-<span class="sourceLineNo">037</span> *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *          links=&lt;js&gt;"{up:'...',options:'...',query:'...',contentTypes:'$W{contentTypeMenuItem}',source:'...'}"&lt;/js&gt;<a name="line.38"></a>
-<span class="sourceLineNo">039</span> *       )<a name="line.39"></a>
-<span class="sourceLineNo">040</span> *    )<a name="line.40"></a>
-<span class="sourceLineNo">041</span> *    &lt;jk&gt;public&lt;/jk&gt; Collection&amp;lt;Pet&amp;gt; getPets() {<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * &lt;/p&gt;<a name="line.42"></a>
-<span class="sourceLineNo">043</span> *<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * &lt;p&gt;<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * It renders the following popup-box:<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * &lt;br&gt;&lt;img class='bordered' src='doc-files/ContentTypeMenuItem.png'&gt;<a name="line.46"></a>
-<span class="sourceLineNo">047</span> */<a name="line.47"></a>
-<span class="sourceLineNo">048</span>public class ContentTypeMenuItem extends MenuItemWidget {<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>   /**<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    * Returns &lt;js&gt;"contentTypeMenuItem"&lt;/js&gt;.<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    */<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   @Override /* Widget */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   public String getName() {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>      return "contentTypeMenuItem";<a name="line.55"></a>
-<span class="sourceLineNo">056</span>   }<a name="line.56"></a>
+<span class="sourceLineNo">020</span>import org.apache.juneau.utils.*;<a name="line.20"></a>
+<span class="sourceLineNo">021</span><a name="line.21"></a>
+<span class="sourceLineNo">022</span>/**<a name="line.22"></a>
+<span class="sourceLineNo">023</span> * Widget that returns back a list of hyperlinks for rendering the contents of a page in a variety of content types.<a name="line.23"></a>
+<span class="sourceLineNo">024</span> *<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;p&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> * The variable it resolves is &lt;js&gt;"$W{contentTypeMenuItem}"&lt;/js&gt;.<a name="line.26"></a>
+<span class="sourceLineNo">027</span> *<a name="line.27"></a>
+<span class="sourceLineNo">028</span> * &lt;p&gt;<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * An example of this widget can be found in the &lt;code&gt;PetStoreResource&lt;/code&gt; in the examples that provides<a name="line.29"></a>
+<span class="sourceLineNo">030</span> * a drop-down menu item for rendering all other supported content types in plain text:<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * &lt;p class='bcode'&gt;<a name="line.31"></a>
+<span class="sourceLineNo">032</span> *    &lt;ja&gt;@RestMethod&lt;/ja&gt;(<a name="line.32"></a>
+<span class="sourceLineNo">033</span> *       name=&lt;js&gt;"GET"&lt;/js&gt;,<a name="line.33"></a>
+<span class="sourceLineNo">034</span> *       path=&lt;js&gt;"/"&lt;/js&gt;,<a name="line.34"></a>
+<span class="sourceLineNo">035</span> *       widgets={<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *          ContentTypeMenuItem.&lt;jk&gt;class&lt;/jk&gt;,<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *       },<a name="line.37"></a>
+<span class="sourceLineNo">038</span> *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.38"></a>
+<span class="sourceLineNo">039</span> *          links={<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *             &lt;js&gt;"up: ..."&lt;/js&gt;,<a name="line.40"></a>
+<span class="sourceLineNo">041</span> *             &lt;js&gt;"options: ..."&lt;/js&gt;,<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *             &lt;js&gt;"$W{queryMenuItem}"&lt;/js&gt;,<a name="line.42"></a>
+<span class="sourceLineNo">043</span> *             &lt;js&gt;"$W{contentTypeMenuItem}"&lt;/js&gt;,<a name="line.43"></a>
+<span class="sourceLineNo">044</span> *             &lt;js&gt;"$W{styleMenuItem}"&lt;/js&gt;,<a name="line.44"></a>
+<span class="sourceLineNo">045</span> *             &lt;js&gt;"source: ..."&lt;/js&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span> *          }<a name="line.46"></a>
+<span class="sourceLineNo">047</span> *       )<a name="line.47"></a>
+<span class="sourceLineNo">048</span> *    )<a name="line.48"></a>
+<span class="sourceLineNo">049</span> *    &lt;jk&gt;public&lt;/jk&gt; Collection&amp;lt;Pet&amp;gt; getPets() {<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;/p&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> *<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * &lt;p&gt;<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * It renders the following popup-box:<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * &lt;br&gt;&lt;img class='bordered' src='doc-files/ContentTypeMenuItem.png'&gt;<a name="line.54"></a>
+<span class="sourceLineNo">055</span> */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>public class ContentTypeMenuItem extends MenuItemWidget {<a name="line.56"></a>
 <span class="sourceLineNo">057</span><a name="line.57"></a>
 <span class="sourceLineNo">058</span>   /**<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    * Looks at the supported media types from the request and constructs a list of hyperlinks to render the data<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    * as plain-text.<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   @Override /* Widget */<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   public String getHtml(RestRequest req) throws Exception {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      UriResolver r = req.getUriResolver();<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      StringBuilder sb = new StringBuilder();<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      sb.append(""<a name="line.66"></a>
-<span class="sourceLineNo">067</span>         + "&lt;div class='menu-item'&gt;"<a name="line.67"></a>
-<span class="sourceLineNo">068</span>         + "\n\t&lt;a class='link' onclick='menuClick(this)'&gt;content-types&lt;/a&gt;"<a name="line.68"></a>
-<span class="sourceLineNo">069</span>         + "\n\t&lt;div class='popup-content'&gt;"<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      );<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      List&lt;MediaType&gt; l = new ArrayList&lt;MediaType&gt;(req.getSerializerGroup().getSupportedMediaTypes());<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      Collections.sort(l);<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      for (MediaType mt : l)<a name="line.73"></a>
-<span class="sourceLineNo">074</span>         sb.append("\n\t\t&lt;a class='link' href='").append(r.resolve("request:/?plainText=true&amp;Accept="+mt))<a name="line.74"></a>
-<span class="sourceLineNo">075</span>            .append("'&gt;").append(mt).append("&lt;/a&gt;&lt;br&gt;");<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      sb.append(""<a name="line.76"></a>
-<span class="sourceLineNo">077</span>         + "\n\t&lt;/div&gt;"<a name="line.77"></a>
-<span class="sourceLineNo">078</span>         + "\n&lt;/div&gt;"<a name="line.78"></a>
-<span class="sourceLineNo">079</span>      );<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      return sb.toString();<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   }<a name="line.81"></a>
-<span class="sourceLineNo">082</span>}<a name="line.82"></a>
+<span class="sourceLineNo">059</span>    * Returns &lt;js&gt;"contentTypeMenuItem"&lt;/js&gt;.<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    */<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   @Override /* Widget */<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   public String getName() {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>      return "contentTypeMenuItem";<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   }<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>   /**<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    * Looks at the supported media types from the request and constructs a list of hyperlinks to render the data<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    * as plain-text.<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   @Override /* Widget */<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   public String getHtml(RestRequest req) throws Exception {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      StringBuilder sb = new StringBuilder();<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      sb.append(""<a name="line.73"></a>
+<span class="sourceLineNo">074</span>         + "&lt;div class='menu-item'&gt;"<a name="line.74"></a>
+<span class="sourceLineNo">075</span>         + "\n\t&lt;a class='link' onclick='menuClick(this)'&gt;content-types&lt;/a&gt;"<a name="line.75"></a>
+<span class="sourceLineNo">076</span>         + "\n\t&lt;div class='popup-content'&gt;"<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      );<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      List&lt;MediaType&gt; l = new ArrayList&lt;MediaType&gt;(req.getSerializerGroup().getSupportedMediaTypes());<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      Collections.sort(l);<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      for (MediaType mt : l) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>         URI uri = req.getUri(true, new AMap&lt;String,String&gt;().append("plainText","true").append("Accept",mt.toString()));<a name="line.81"></a>
+<span class="sourceLineNo">082</span>         sb.append("\n\t\t&lt;a class='link' href='").append(uri).append("'&gt;").append(mt).append("&lt;/a&gt;&lt;br&gt;");<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      }<a name="line.83"></a>
+<span class="sourceLineNo">084</span>      sb.append(""<a name="line.84"></a>
+<span class="sourceLineNo">085</span>         + "\n\t&lt;/div&gt;"<a name="line.85"></a>
+<span class="sourceLineNo">086</span>         + "\n&lt;/div&gt;"<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      );<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      return sb.toString();<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   }<a name="line.89"></a>
+<span class="sourceLineNo">090</span>}<a name="line.90"></a>
 
 
 


[12/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.Sq.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.Sq.html b/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.Sq.html
index cbb85fc..2731806 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.Sq.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/html/HtmlSerializer.Sq.html
@@ -306,512 +306,516 @@
 <span class="sourceLineNo">298</span><a name="line.298"></a>
 <span class="sourceLineNo">299</span>         if (render != null) {<a name="line.299"></a>
 <span class="sourceLineNo">300</span>            Object o2 = render.getContent(session, o);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>            if (o2 != o)<a name="line.301"></a>
-<span class="sourceLineNo">302</span>               return serializeAnything(session, out, o2, null, typeName, 2, null, false);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>         }<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>         if (html.isAsXml() || (pMeta != null &amp;&amp; pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isAsXml())) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>            super.serializeAnything(session, out, o, null, null, null, false, XmlFormat.MIXED, false, false, null);<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>         } else if (html.isAsPlainText() || (pMeta != null &amp;&amp; pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isAsPlainText())) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>            out.write(o == null ? "null" : o.toString());<a name="line.309"></a>
-<span class="sourceLineNo">310</span>            cr = CR_SIMPLE;<a name="line.310"></a>
+<span class="sourceLineNo">301</span>            if (o2 != o) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>               session.indent -= indent;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>               session.pop();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>               out.nl(session.indent);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>               return serializeAnything(session, out, o2, null, typeName, indent, null, false);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>            }<a name="line.306"></a>
+<span class="sourceLineNo">307</span>         }<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>         if (html.isAsXml() || (pMeta != null &amp;&amp; pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isAsXml())) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>            super.serializeAnything(session, out, o, null, null, null, false, XmlFormat.MIXED, false, false, null);<a name="line.310"></a>
 <span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>         } else if (o == null || (sType.isChar() &amp;&amp; ((Character)o).charValue() == 0)) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>            out.tag("null");<a name="line.313"></a>
+<span class="sourceLineNo">312</span>         } else if (html.isAsPlainText() || (pMeta != null &amp;&amp; pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isAsPlainText())) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>            out.write(o == null ? "null" : o.toString());<a name="line.313"></a>
 <span class="sourceLineNo">314</span>            cr = CR_SIMPLE;<a name="line.314"></a>
 <span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>         } else if (sType.isNumber()) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>            if (eType.isNumber() &amp;&amp; ! isRoot)<a name="line.317"></a>
-<span class="sourceLineNo">318</span>               out.append(o);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>            else<a name="line.319"></a>
-<span class="sourceLineNo">320</span>               out.sTag("number").append(o).eTag("number");<a name="line.320"></a>
-<span class="sourceLineNo">321</span>            cr = CR_SIMPLE;<a name="line.321"></a>
-<span class="sourceLineNo">322</span><a name="line.322"></a>
-<span class="sourceLineNo">323</span>         } else if (sType.isBoolean()) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>            if (eType.isBoolean() &amp;&amp; ! isRoot)<a name="line.324"></a>
-<span class="sourceLineNo">325</span>               out.append(o);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>            else<a name="line.326"></a>
-<span class="sourceLineNo">327</span>               out.sTag("boolean").append(o).eTag("boolean");<a name="line.327"></a>
-<span class="sourceLineNo">328</span>            cr = CR_SIMPLE;<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>         } else if (sType.isMap() || (wType != null &amp;&amp; wType.isMap())) {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>            out.nlIf(! isRoot, indent+1);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>            if (o instanceof BeanMap)<a name="line.332"></a>
-<span class="sourceLineNo">333</span>               serializeBeanMap(session, out, (BeanMap)o, eType, pMeta);<a name="line.333"></a>
-<span class="sourceLineNo">334</span>            else<a name="line.334"></a>
-<span class="sourceLineNo">335</span>               serializeMap(session, out, (Map)o, sType, eType.getKeyType(), eType.getValueType(), typeName, pMeta);<a name="line.335"></a>
-<span class="sourceLineNo">336</span><a name="line.336"></a>
-<span class="sourceLineNo">337</span>         } else if (sType.isBean()) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>            BeanMap m = session.toBeanMap(o);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>            Class&lt;?&gt; c = o.getClass();<a name="line.339"></a>
-<span class="sourceLineNo">340</span>            if (c.isAnnotationPresent(HtmlLink.class)) {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>               HtmlLink h = o.getClass().getAnnotation(HtmlLink.class);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>               Object urlProp = m.get(h.hrefProperty());<a name="line.342"></a>
-<span class="sourceLineNo">343</span>               Object nameProp = m.get(h.nameProperty());<a name="line.343"></a>
-<span class="sourceLineNo">344</span>               out.oTag("a").attrUri("href", urlProp).append('&gt;').text(nameProp).eTag("a");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>               cr = CR_SIMPLE;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>            } else {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>               out.nlIf(! isRoot, indent+2);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>               serializeBeanMap(session, out, m, eType, pMeta);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>            }<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>         } else if (sType.isCollection() || sType.isArray() || (wType != null &amp;&amp; wType.isCollection())) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>            out.nlIf(! isRoot, indent+1);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>            serializeCollection(session, out, o, sType, eType, name, pMeta);<a name="line.353"></a>
+<span class="sourceLineNo">316</span>         } else if (o == null || (sType.isChar() &amp;&amp; ((Character)o).charValue() == 0)) {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>            out.tag("null");<a name="line.317"></a>
+<span class="sourceLineNo">318</span>            cr = CR_SIMPLE;<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>         } else if (sType.isNumber()) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>            if (eType.isNumber() &amp;&amp; ! isRoot)<a name="line.321"></a>
+<span class="sourceLineNo">322</span>               out.append(o);<a name="line.322"></a>
+<span class="sourceLineNo">323</span>            else<a name="line.323"></a>
+<span class="sourceLineNo">324</span>               out.sTag("number").append(o).eTag("number");<a name="line.324"></a>
+<span class="sourceLineNo">325</span>            cr = CR_SIMPLE;<a name="line.325"></a>
+<span class="sourceLineNo">326</span><a name="line.326"></a>
+<span class="sourceLineNo">327</span>         } else if (sType.isBoolean()) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>            if (eType.isBoolean() &amp;&amp; ! isRoot)<a name="line.328"></a>
+<span class="sourceLineNo">329</span>               out.append(o);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>            else<a name="line.330"></a>
+<span class="sourceLineNo">331</span>               out.sTag("boolean").append(o).eTag("boolean");<a name="line.331"></a>
+<span class="sourceLineNo">332</span>            cr = CR_SIMPLE;<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>         } else if (sType.isMap() || (wType != null &amp;&amp; wType.isMap())) {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>            out.nlIf(! isRoot, indent+1);<a name="line.335"></a>
+<span class="sourceLineNo">336</span>            if (o instanceof BeanMap)<a name="line.336"></a>
+<span class="sourceLineNo">337</span>               serializeBeanMap(session, out, (BeanMap)o, eType, pMeta);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>            else<a name="line.338"></a>
+<span class="sourceLineNo">339</span>               serializeMap(session, out, (Map)o, sType, eType.getKeyType(), eType.getValueType(), typeName, pMeta);<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>         } else if (sType.isBean()) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>            BeanMap m = session.toBeanMap(o);<a name="line.342"></a>
+<span class="sourceLineNo">343</span>            Class&lt;?&gt; c = o.getClass();<a name="line.343"></a>
+<span class="sourceLineNo">344</span>            if (c.isAnnotationPresent(HtmlLink.class)) {<a name="line.344"></a>
+<span class="sourceLineNo">345</span>               HtmlLink h = o.getClass().getAnnotation(HtmlLink.class);<a name="line.345"></a>
+<span class="sourceLineNo">346</span>               Object urlProp = m.get(h.hrefProperty());<a name="line.346"></a>
+<span class="sourceLineNo">347</span>               Object nameProp = m.get(h.nameProperty());<a name="line.347"></a>
+<span class="sourceLineNo">348</span>               out.oTag("a").attrUri("href", urlProp).append('&gt;').text(nameProp).eTag("a");<a name="line.348"></a>
+<span class="sourceLineNo">349</span>               cr = CR_SIMPLE;<a name="line.349"></a>
+<span class="sourceLineNo">350</span>            } else {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>               out.nlIf(! isRoot, indent+2);<a name="line.351"></a>
+<span class="sourceLineNo">352</span>               serializeBeanMap(session, out, m, eType, pMeta);<a name="line.352"></a>
+<span class="sourceLineNo">353</span>            }<a name="line.353"></a>
 <span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>         } else if (session.isUri(sType, pMeta, o)) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>            String label = session.getAnchorText(pMeta, o);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>            out.oTag("a").attrUri("href", o).append('&gt;');<a name="line.357"></a>
-<span class="sourceLineNo">358</span>            out.text(label);<a name="line.358"></a>
-<span class="sourceLineNo">359</span>            out.eTag("a");<a name="line.359"></a>
-<span class="sourceLineNo">360</span>            cr = CR_SIMPLE;<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>         } else {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>            if (isRoot)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>               out.sTag("string").text(session.toString(o)).eTag("string");<a name="line.364"></a>
-<span class="sourceLineNo">365</span>            else<a name="line.365"></a>
-<span class="sourceLineNo">366</span>               out.text(session.toString(o));<a name="line.366"></a>
-<span class="sourceLineNo">367</span>            cr = CR_SIMPLE;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>         }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      }<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      session.pop();<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      session.indent -= indent;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      return cr;<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>   /**<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    * Identifies what the contents were of a serialized bean.<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    */<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   static enum ContentResult {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      CR_SIMPLE,    // Simple content.  Shouldn't use whitespace.<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      CR_NORMAL     // Normal content.  Use whitespace.<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   }<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   private void serializeMap(HtmlSerializerSession session, HtmlWriter out, Map m, ClassMeta&lt;?&gt; sType,<a name="line.384"></a>
-<span class="sourceLineNo">385</span>         ClassMeta&lt;?&gt; eKeyType, ClassMeta&lt;?&gt; eValueType, String typeName, BeanPropertyMeta ppMeta) throws Exception {<a name="line.385"></a>
+<span class="sourceLineNo">355</span>         } else if (sType.isCollection() || sType.isArray() || (wType != null &amp;&amp; wType.isCollection())) {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>            out.nlIf(! isRoot, indent+1);<a name="line.356"></a>
+<span class="sourceLineNo">357</span>            serializeCollection(session, out, o, sType, eType, name, pMeta);<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>         } else if (session.isUri(sType, pMeta, o)) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>            String label = session.getAnchorText(pMeta, o);<a name="line.360"></a>
+<span class="sourceLineNo">361</span>            out.oTag("a").attrUri("href", o).append('&gt;');<a name="line.361"></a>
+<span class="sourceLineNo">362</span>            out.text(label);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>            out.eTag("a");<a name="line.363"></a>
+<span class="sourceLineNo">364</span>            cr = CR_SIMPLE;<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>         } else {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>            if (isRoot)<a name="line.367"></a>
+<span class="sourceLineNo">368</span>               out.sTag("string").text(session.toString(o)).eTag("string");<a name="line.368"></a>
+<span class="sourceLineNo">369</span>            else<a name="line.369"></a>
+<span class="sourceLineNo">370</span>               out.text(session.toString(o));<a name="line.370"></a>
+<span class="sourceLineNo">371</span>            cr = CR_SIMPLE;<a name="line.371"></a>
+<span class="sourceLineNo">372</span>         }<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      }<a name="line.373"></a>
+<span class="sourceLineNo">374</span>      session.pop();<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      session.indent -= indent;<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      return cr;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>   /**<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    * Identifies what the contents were of a serialized bean.<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    */<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   static enum ContentResult {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      CR_SIMPLE,    // Simple content.  Shouldn't use whitespace.<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      CR_NORMAL     // Normal content.  Use whitespace.<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   }<a name="line.385"></a>
 <span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>      ClassMeta&lt;?&gt; keyType = eKeyType == null ? session.string() : eKeyType;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      ClassMeta&lt;?&gt; valueType = eValueType == null ? session.object() : eValueType;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      ClassMeta&lt;?&gt; aType = session.getClassMetaForObject(m);       // The actual type<a name="line.389"></a>
+<span class="sourceLineNo">387</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   private void serializeMap(HtmlSerializerSession session, HtmlWriter out, Map m, ClassMeta&lt;?&gt; sType,<a name="line.388"></a>
+<span class="sourceLineNo">389</span>         ClassMeta&lt;?&gt; eKeyType, ClassMeta&lt;?&gt; eValueType, String typeName, BeanPropertyMeta ppMeta) throws Exception {<a name="line.389"></a>
 <span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>      int i = session.getIndent();<a name="line.391"></a>
-<span class="sourceLineNo">392</span><a name="line.392"></a>
-<span class="sourceLineNo">393</span>      out.oTag(i, "table");<a name="line.393"></a>
+<span class="sourceLineNo">391</span>      ClassMeta&lt;?&gt; keyType = eKeyType == null ? session.string() : eKeyType;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      ClassMeta&lt;?&gt; valueType = eValueType == null ? session.object() : eValueType;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      ClassMeta&lt;?&gt; aType = session.getClassMetaForObject(m);       // The actual type<a name="line.393"></a>
 <span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>      if (typeName != null &amp;&amp; ppMeta != null &amp;&amp; ppMeta.getClassMeta() != aType)<a name="line.395"></a>
-<span class="sourceLineNo">396</span>         out.attr(session.getBeanTypePropertyName(sType), typeName);<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>      out.append("&gt;").nl(i+1);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      if (session.isAddKeyValueTableHeaders() &amp;&amp; ! (aType.getExtendedMeta(HtmlClassMeta.class).isNoTableHeaders()<a name="line.399"></a>
-<span class="sourceLineNo">400</span>            || (ppMeta != null &amp;&amp; ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isNoTableHeaders()))) {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>         out.sTag(i+2, "th").append("key").eTag("th").nl(i+3);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>         out.sTag(i+2, "th").append("value").eTag("th").nl(i+3);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>         out.ie(i+1).eTag("tr").nl(i+2);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      }<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      for (Map.Entry e : (Set&lt;Map.Entry&gt;)m.entrySet()) {<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>         Object key = session.generalize(e.getKey(), keyType);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>         Object value = null;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>         try {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>            value = e.getValue();<a name="line.411"></a>
-<span class="sourceLineNo">412</span>         } catch (StackOverflowError t) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            throw t;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>         } catch (Throwable t) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>            session.onError(t, "Could not call getValue() on property ''{0}'', {1}", e.getKey(), t.getLocalizedMessage());<a name="line.415"></a>
-<span class="sourceLineNo">416</span>         }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span>         String link = getLink(ppMeta);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>         String style = getStyle(session, ppMeta, value);<a name="line.419"></a>
-<span class="sourceLineNo">420</span><a name="line.420"></a>
-<span class="sourceLineNo">421</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>         out.oTag(i+2, "td");<a name="line.422"></a>
-<span class="sourceLineNo">423</span>         if (style != null)<a name="line.423"></a>
-<span class="sourceLineNo">424</span>            out.attr("style", style);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>         out.cTag();<a name="line.425"></a>
-<span class="sourceLineNo">426</span>         if (link != null)<a name="line.426"></a>
-<span class="sourceLineNo">427</span>            out.oTag(i+3, "a").attrUri("href", link.replace("{#}", StringUtils.toString(value))).cTag();<a name="line.427"></a>
-<span class="sourceLineNo">428</span>         ContentResult cr = serializeAnything(session, out, key, keyType, null, 2, null, false);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>         if (link != null)<a name="line.429"></a>
-<span class="sourceLineNo">430</span>            out.eTag("a");<a name="line.430"></a>
-<span class="sourceLineNo">431</span>         if (cr == CR_NORMAL)<a name="line.431"></a>
-<span class="sourceLineNo">432</span>            out.i(i+2);<a name="line.432"></a>
-<span class="sourceLineNo">433</span>         out.eTag("td").nl(i+2);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>         out.sTag(i+2, "td");<a name="line.434"></a>
-<span class="sourceLineNo">435</span>         cr = serializeAnything(session, out, value, valueType, (key == null ? "_x0000_" : session.toString(key)), 2, null, false);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>         if (cr == CR_NORMAL)<a name="line.436"></a>
-<span class="sourceLineNo">437</span>            out.ie(i+2);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>         out.eTag("td").nl(i+2);<a name="line.438"></a>
-<span class="sourceLineNo">439</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      }<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      out.ie(i).eTag("table").nl(i);<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   }<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>   private void serializeBeanMap(HtmlSerializerSession session, HtmlWriter out, BeanMap&lt;?&gt; m, ClassMeta&lt;?&gt; eType,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>         BeanPropertyMeta ppMeta) throws Exception {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      int i = session.getIndent();<a name="line.446"></a>
+<span class="sourceLineNo">395</span>      int i = session.getIndent();<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span>      out.oTag(i, "table");<a name="line.397"></a>
+<span class="sourceLineNo">398</span><a name="line.398"></a>
+<span class="sourceLineNo">399</span>      if (typeName != null &amp;&amp; ppMeta != null &amp;&amp; ppMeta.getClassMeta() != aType)<a name="line.399"></a>
+<span class="sourceLineNo">400</span>         out.attr(session.getBeanTypePropertyName(sType), typeName);<a name="line.400"></a>
+<span class="sourceLineNo">401</span><a name="line.401"></a>
+<span class="sourceLineNo">402</span>      out.append("&gt;").nl(i+1);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>      if (session.isAddKeyValueTableHeaders() &amp;&amp; ! (aType.getExtendedMeta(HtmlClassMeta.class).isNoTableHeaders()<a name="line.403"></a>
+<span class="sourceLineNo">404</span>            || (ppMeta != null &amp;&amp; ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isNoTableHeaders()))) {<a name="line.404"></a>
+<span class="sourceLineNo">405</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.405"></a>
+<span class="sourceLineNo">406</span>         out.sTag(i+2, "th").append("key").eTag("th").nl(i+3);<a name="line.406"></a>
+<span class="sourceLineNo">407</span>         out.sTag(i+2, "th").append("value").eTag("th").nl(i+3);<a name="line.407"></a>
+<span class="sourceLineNo">408</span>         out.ie(i+1).eTag("tr").nl(i+2);<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      }<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      for (Map.Entry e : (Set&lt;Map.Entry&gt;)m.entrySet()) {<a name="line.410"></a>
+<span class="sourceLineNo">411</span><a name="line.411"></a>
+<span class="sourceLineNo">412</span>         Object key = session.generalize(e.getKey(), keyType);<a name="line.412"></a>
+<span class="sourceLineNo">413</span>         Object value = null;<a name="line.413"></a>
+<span class="sourceLineNo">414</span>         try {<a name="line.414"></a>
+<span class="sourceLineNo">415</span>            value = e.getValue();<a name="line.415"></a>
+<span class="sourceLineNo">416</span>         } catch (StackOverflowError t) {<a name="line.416"></a>
+<span class="sourceLineNo">417</span>            throw t;<a name="line.417"></a>
+<span class="sourceLineNo">418</span>         } catch (Throwable t) {<a name="line.418"></a>
+<span class="sourceLineNo">419</span>            session.onError(t, "Could not call getValue() on property ''{0}'', {1}", e.getKey(), t.getLocalizedMessage());<a name="line.419"></a>
+<span class="sourceLineNo">420</span>         }<a name="line.420"></a>
+<span class="sourceLineNo">421</span><a name="line.421"></a>
+<span class="sourceLineNo">422</span>         String link = getLink(ppMeta);<a name="line.422"></a>
+<span class="sourceLineNo">423</span>         String style = getStyle(session, ppMeta, value);<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.425"></a>
+<span class="sourceLineNo">426</span>         out.oTag(i+2, "td");<a name="line.426"></a>
+<span class="sourceLineNo">427</span>         if (style != null)<a name="line.427"></a>
+<span class="sourceLineNo">428</span>            out.attr("style", style);<a name="line.428"></a>
+<span class="sourceLineNo">429</span>         out.cTag();<a name="line.429"></a>
+<span class="sourceLineNo">430</span>         if (link != null)<a name="line.430"></a>
+<span class="sourceLineNo">431</span>            out.oTag(i+3, "a").attrUri("href", link.replace("{#}", StringUtils.toString(value))).cTag();<a name="line.431"></a>
+<span class="sourceLineNo">432</span>         ContentResult cr = serializeAnything(session, out, key, keyType, null, 2, null, false);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>         if (link != null)<a name="line.433"></a>
+<span class="sourceLineNo">434</span>            out.eTag("a");<a name="line.434"></a>
+<span class="sourceLineNo">435</span>         if (cr == CR_NORMAL)<a name="line.435"></a>
+<span class="sourceLineNo">436</span>            out.i(i+2);<a name="line.436"></a>
+<span class="sourceLineNo">437</span>         out.eTag("td").nl(i+2);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>         out.sTag(i+2, "td");<a name="line.438"></a>
+<span class="sourceLineNo">439</span>         cr = serializeAnything(session, out, value, valueType, (key == null ? "_x0000_" : session.toString(key)), 2, null, false);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>         if (cr == CR_NORMAL)<a name="line.440"></a>
+<span class="sourceLineNo">441</span>            out.ie(i+2);<a name="line.441"></a>
+<span class="sourceLineNo">442</span>         out.eTag("td").nl(i+2);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      }<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      out.ie(i).eTag("table").nl(i);<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   }<a name="line.446"></a>
 <span class="sourceLineNo">447</span><a name="line.447"></a>
-<span class="sourceLineNo">448</span>      out.oTag(i, "table");<a name="line.448"></a>
-<span class="sourceLineNo">449</span><a name="line.449"></a>
-<span class="sourceLineNo">450</span>      String typeName = m.getMeta().getDictionaryName();<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      if (typeName != null &amp;&amp; eType != m.getClassMeta())<a name="line.451"></a>
-<span class="sourceLineNo">452</span>         out.attr(session.getBeanTypePropertyName(m.getClassMeta()), typeName);<a name="line.452"></a>
+<span class="sourceLineNo">448</span>   private void serializeBeanMap(HtmlSerializerSession session, HtmlWriter out, BeanMap&lt;?&gt; m, ClassMeta&lt;?&gt; eType,<a name="line.448"></a>
+<span class="sourceLineNo">449</span>         BeanPropertyMeta ppMeta) throws Exception {<a name="line.449"></a>
+<span class="sourceLineNo">450</span>      int i = session.getIndent();<a name="line.450"></a>
+<span class="sourceLineNo">451</span><a name="line.451"></a>
+<span class="sourceLineNo">452</span>      out.oTag(i, "table");<a name="line.452"></a>
 <span class="sourceLineNo">453</span><a name="line.453"></a>
-<span class="sourceLineNo">454</span>      out.append('&gt;').nl(i);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      if (session.isAddKeyValueTableHeaders() &amp;&amp; ! (m.getClassMeta().getExtendedMeta(HtmlClassMeta.class).isNoTableHeaders()<a name="line.455"></a>
-<span class="sourceLineNo">456</span>            || (ppMeta != null &amp;&amp; ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isNoTableHeaders()))) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>         out.sTag(i+1, "tr").nl(i+1);<a name="line.457"></a>
-<span class="sourceLineNo">458</span>         out.sTag(i+2, "th").append("key").eTag("th").nl(i+2);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>         out.sTag(i+2, "th").append("value").eTag("th").nl(i+2);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>      for (BeanPropertyValue p : m.getValues(session.isTrimNulls())) {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>         BeanPropertyMeta pMeta = p.getMeta();<a name="line.464"></a>
-<span class="sourceLineNo">465</span>         ClassMeta&lt;?&gt; cMeta = p.getClassMeta();<a name="line.465"></a>
+<span class="sourceLineNo">454</span>      String typeName = m.getMeta().getDictionaryName();<a name="line.454"></a>
+<span class="sourceLineNo">455</span>      if (typeName != null &amp;&amp; eType != m.getClassMeta())<a name="line.455"></a>
+<span class="sourceLineNo">456</span>         out.attr(session.getBeanTypePropertyName(m.getClassMeta()), typeName);<a name="line.456"></a>
+<span class="sourceLineNo">457</span><a name="line.457"></a>
+<span class="sourceLineNo">458</span>      out.append('&gt;').nl(i);<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      if (session.isAddKeyValueTableHeaders() &amp;&amp; ! (m.getClassMeta().getExtendedMeta(HtmlClassMeta.class).isNoTableHeaders()<a name="line.459"></a>
+<span class="sourceLineNo">460</span>            || (ppMeta != null &amp;&amp; ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isNoTableHeaders()))) {<a name="line.460"></a>
+<span class="sourceLineNo">461</span>         out.sTag(i+1, "tr").nl(i+1);<a name="line.461"></a>
+<span class="sourceLineNo">462</span>         out.sTag(i+2, "th").append("key").eTag("th").nl(i+2);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>         out.sTag(i+2, "th").append("value").eTag("th").nl(i+2);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      }<a name="line.465"></a>
 <span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>         String key = p.getName();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>         Object value = p.getValue();<a name="line.468"></a>
-<span class="sourceLineNo">469</span>         Throwable t = p.getThrown();<a name="line.469"></a>
-<span class="sourceLineNo">470</span>         if (t != null)<a name="line.470"></a>
-<span class="sourceLineNo">471</span>            session.onBeanGetterException(pMeta, t);<a name="line.471"></a>
-<span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span>         if (session.canIgnoreValue(cMeta, key, value))<a name="line.473"></a>
-<span class="sourceLineNo">474</span>            continue;<a name="line.474"></a>
-<span class="sourceLineNo">475</span><a name="line.475"></a>
-<span class="sourceLineNo">476</span>         String link = cMeta.isCollectionOrArray() ? null : getLink(pMeta);<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>         out.sTag(i+1, "tr").nl(i+1);<a name="line.478"></a>
-<span class="sourceLineNo">479</span>         out.sTag(i+2, "td").text(key).eTag("td").nl(i+2);<a name="line.479"></a>
-<span class="sourceLineNo">480</span>         out.oTag(i+2, "td");<a name="line.480"></a>
-<span class="sourceLineNo">481</span>         String style = getStyle(session, pMeta, value);<a name="line.481"></a>
-<span class="sourceLineNo">482</span>         if (style != null)<a name="line.482"></a>
-<span class="sourceLineNo">483</span>            out.attr("style", style);<a name="line.483"></a>
-<span class="sourceLineNo">484</span>         out.cTag();<a name="line.484"></a>
-<span class="sourceLineNo">485</span><a name="line.485"></a>
-<span class="sourceLineNo">486</span>         try {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>            if (link != null)<a name="line.487"></a>
-<span class="sourceLineNo">488</span>               out.oTag(i+3, "a").attrUri("href", m.resolveVars(link)).cTag();<a name="line.488"></a>
-<span class="sourceLineNo">489</span>            ContentResult cr = serializeAnything(session, out, value, cMeta, key, 2, pMeta, false);<a name="line.489"></a>
-<span class="sourceLineNo">490</span>            if (cr == CR_NORMAL)<a name="line.490"></a>
-<span class="sourceLineNo">491</span>               out.i(i+2);<a name="line.491"></a>
-<span class="sourceLineNo">492</span>            if (link != null)<a name="line.492"></a>
-<span class="sourceLineNo">493</span>               out.eTag("a");<a name="line.493"></a>
-<span class="sourceLineNo">494</span>         } catch (SerializeException e) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>            throw e;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>         } catch (Error e) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>            throw e;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>         } catch (Throwable e) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>            e.printStackTrace();<a name="line.499"></a>
-<span class="sourceLineNo">500</span>            session.onBeanGetterException(pMeta, e);<a name="line.500"></a>
-<span class="sourceLineNo">501</span>         }<a name="line.501"></a>
-<span class="sourceLineNo">502</span>         out.eTag("td").nl(i+2);<a name="line.502"></a>
-<span class="sourceLineNo">503</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>      }<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      out.ie(i).eTag("table").nl(i);<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   }<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   private void serializeCollection(HtmlSerializerSession session, HtmlWriter out, Object in, ClassMeta&lt;?&gt; sType,<a name="line.509"></a>
-<span class="sourceLineNo">510</span>         ClassMeta&lt;?&gt; eType, String name, BeanPropertyMeta ppMeta) throws Exception {<a name="line.510"></a>
+<span class="sourceLineNo">467</span>      for (BeanPropertyValue p : m.getValues(session.isTrimNulls())) {<a name="line.467"></a>
+<span class="sourceLineNo">468</span>         BeanPropertyMeta pMeta = p.getMeta();<a name="line.468"></a>
+<span class="sourceLineNo">469</span>         ClassMeta&lt;?&gt; cMeta = p.getClassMeta();<a name="line.469"></a>
+<span class="sourceLineNo">470</span><a name="line.470"></a>
+<span class="sourceLineNo">471</span>         String key = p.getName();<a name="line.471"></a>
+<span class="sourceLineNo">472</span>         Object value = p.getValue();<a name="line.472"></a>
+<span class="sourceLineNo">473</span>         Throwable t = p.getThrown();<a name="line.473"></a>
+<span class="sourceLineNo">474</span>         if (t != null)<a name="line.474"></a>
+<span class="sourceLineNo">475</span>            session.onBeanGetterException(pMeta, t);<a name="line.475"></a>
+<span class="sourceLineNo">476</span><a name="line.476"></a>
+<span class="sourceLineNo">477</span>         if (session.canIgnoreValue(cMeta, key, value))<a name="line.477"></a>
+<span class="sourceLineNo">478</span>            continue;<a name="line.478"></a>
+<span class="sourceLineNo">479</span><a name="line.479"></a>
+<span class="sourceLineNo">480</span>         String link = cMeta.isCollectionOrArray() ? null : getLink(pMeta);<a name="line.480"></a>
+<span class="sourceLineNo">481</span><a name="line.481"></a>
+<span class="sourceLineNo">482</span>         out.sTag(i+1, "tr").nl(i+1);<a name="line.482"></a>
+<span class="sourceLineNo">483</span>         out.sTag(i+2, "td").text(key).eTag("td").nl(i+2);<a name="line.483"></a>
+<span class="sourceLineNo">484</span>         out.oTag(i+2, "td");<a name="line.484"></a>
+<span class="sourceLineNo">485</span>         String style = getStyle(session, pMeta, value);<a name="line.485"></a>
+<span class="sourceLineNo">486</span>         if (style != null)<a name="line.486"></a>
+<span class="sourceLineNo">487</span>            out.attr("style", style);<a name="line.487"></a>
+<span class="sourceLineNo">488</span>         out.cTag();<a name="line.488"></a>
+<span class="sourceLineNo">489</span><a name="line.489"></a>
+<span class="sourceLineNo">490</span>         try {<a name="line.490"></a>
+<span class="sourceLineNo">491</span>            if (link != null)<a name="line.491"></a>
+<span class="sourceLineNo">492</span>               out.oTag(i+3, "a").attrUri("href", m.resolveVars(link)).cTag();<a name="line.492"></a>
+<span class="sourceLineNo">493</span>            ContentResult cr = serializeAnything(session, out, value, cMeta, key, 2, pMeta, false);<a name="line.493"></a>
+<span class="sourceLineNo">494</span>            if (cr == CR_NORMAL)<a name="line.494"></a>
+<span class="sourceLineNo">495</span>               out.i(i+2);<a name="line.495"></a>
+<span class="sourceLineNo">496</span>            if (link != null)<a name="line.496"></a>
+<span class="sourceLineNo">497</span>               out.eTag("a");<a name="line.497"></a>
+<span class="sourceLineNo">498</span>         } catch (SerializeException e) {<a name="line.498"></a>
+<span class="sourceLineNo">499</span>            throw e;<a name="line.499"></a>
+<span class="sourceLineNo">500</span>         } catch (Error e) {<a name="line.500"></a>
+<span class="sourceLineNo">501</span>            throw e;<a name="line.501"></a>
+<span class="sourceLineNo">502</span>         } catch (Throwable e) {<a name="line.502"></a>
+<span class="sourceLineNo">503</span>            e.printStackTrace();<a name="line.503"></a>
+<span class="sourceLineNo">504</span>            session.onBeanGetterException(pMeta, e);<a name="line.504"></a>
+<span class="sourceLineNo">505</span>         }<a name="line.505"></a>
+<span class="sourceLineNo">506</span>         out.eTag("td").nl(i+2);<a name="line.506"></a>
+<span class="sourceLineNo">507</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      }<a name="line.508"></a>
+<span class="sourceLineNo">509</span>      out.ie(i).eTag("table").nl(i);<a name="line.509"></a>
+<span class="sourceLineNo">510</span>   }<a name="line.510"></a>
 <span class="sourceLineNo">511</span><a name="line.511"></a>
-<span class="sourceLineNo">512</span>      ClassMeta&lt;?&gt; seType = sType.getElementType();<a name="line.512"></a>
-<span class="sourceLineNo">513</span>      if (seType == null)<a name="line.513"></a>
-<span class="sourceLineNo">514</span>         seType = session.object();<a name="line.514"></a>
+<span class="sourceLineNo">512</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.512"></a>
+<span class="sourceLineNo">513</span>   private void serializeCollection(HtmlSerializerSession session, HtmlWriter out, Object in, ClassMeta&lt;?&gt; sType,<a name="line.513"></a>
+<span class="sourceLineNo">514</span>         ClassMeta&lt;?&gt; eType, String name, BeanPropertyMeta ppMeta) throws Exception {<a name="line.514"></a>
 <span class="sourceLineNo">515</span><a name="line.515"></a>
-<span class="sourceLineNo">516</span>      Collection c = (sType.isCollection() ? (Collection)in : toList(sType.getInnerClass(), in));<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>      int i = session.getIndent();<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      if (c.isEmpty()) {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>         out.appendln(i, "&lt;ul&gt;&lt;/ul&gt;");<a name="line.520"></a>
-<span class="sourceLineNo">521</span>         return;<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      }<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>      String type2 = null;<a name="line.524"></a>
-<span class="sourceLineNo">525</span>      if (sType != eType)<a name="line.525"></a>
-<span class="sourceLineNo">526</span>         type2 = sType.getDictionaryName();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      if (type2 == null)<a name="line.527"></a>
-<span class="sourceLineNo">528</span>         type2 = "array";<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>      c = session.sort(c);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>      HtmlBeanPropertyMeta hbpMeta = (ppMeta == null ? null : ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class));<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      String btpn = session.getBeanTypePropertyName(eType);<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>      // Look at the objects to see how we're going to handle them.  Check the first object to see how we're going to<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      // handle this.<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      // If it's a map or bean, then we'll create a table.<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      // Otherwise, we'll create a list.<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      Object[] th = getTableHeaders(session, c, hbpMeta);<a name="line.539"></a>
-<span class="sourceLineNo">540</span><a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (th != null) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span><a name="line.542"></a>
-<span class="sourceLineNo">543</span>         out.oTag(i, "table").attr(btpn, type2).append('&gt;').nl(i+1);<a name="line.543"></a>
-<span class="sourceLineNo">544</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>         for (Object key : th) {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>            out.sTag(i+2, "th");<a name="line.546"></a>
-<span class="sourceLineNo">547</span>            out.text(session.convertToType(key, String.class));<a name="line.547"></a>
-<span class="sourceLineNo">548</span>            out.eTag("th").nl(i+2);<a name="line.548"></a>
-<span class="sourceLineNo">549</span>         }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>         for (Object o : c) {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>            ClassMeta&lt;?&gt; cm = session.getClassMetaForObject(o);<a name="line.553"></a>
-<span class="sourceLineNo">554</span><a name="line.554"></a>
-<span class="sourceLineNo">555</span>            if (cm != null &amp;&amp; cm.getPojoSwap() != null) {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>               PojoSwap f = cm.getPojoSwap();<a name="line.556"></a>
-<span class="sourceLineNo">557</span>               o = f.swap(session, o);<a name="line.557"></a>
-<span class="sourceLineNo">558</span>               cm = cm.getSerializedClassMeta();<a name="line.558"></a>
-<span class="sourceLineNo">559</span>            }<a name="line.559"></a>
-<span class="sourceLineNo">560</span><a name="line.560"></a>
-<span class="sourceLineNo">561</span>            out.oTag(i+1, "tr");<a name="line.561"></a>
-<span class="sourceLineNo">562</span>            String typeName = (cm == null ? null : cm.getDictionaryName());<a name="line.562"></a>
-<span class="sourceLineNo">563</span>            String typeProperty = session.getBeanTypePropertyName(cm);<a name="line.563"></a>
+<span class="sourceLineNo">516</span>      ClassMeta&lt;?&gt; seType = sType.getElementType();<a name="line.516"></a>
+<span class="sourceLineNo">517</span>      if (seType == null)<a name="line.517"></a>
+<span class="sourceLineNo">518</span>         seType = session.object();<a name="line.518"></a>
+<span class="sourceLineNo">519</span><a name="line.519"></a>
+<span class="sourceLineNo">520</span>      Collection c = (sType.isCollection() ? (Collection)in : toList(sType.getInnerClass(), in));<a name="line.520"></a>
+<span class="sourceLineNo">521</span><a name="line.521"></a>
+<span class="sourceLineNo">522</span>      int i = session.getIndent();<a name="line.522"></a>
+<span class="sourceLineNo">523</span>      if (c.isEmpty()) {<a name="line.523"></a>
+<span class="sourceLineNo">524</span>         out.appendln(i, "&lt;ul&gt;&lt;/ul&gt;");<a name="line.524"></a>
+<span class="sourceLineNo">525</span>         return;<a name="line.525"></a>
+<span class="sourceLineNo">526</span>      }<a name="line.526"></a>
+<span class="sourceLineNo">527</span><a name="line.527"></a>
+<span class="sourceLineNo">528</span>      String type2 = null;<a name="line.528"></a>
+<span class="sourceLineNo">529</span>      if (sType != eType)<a name="line.529"></a>
+<span class="sourceLineNo">530</span>         type2 = sType.getDictionaryName();<a name="line.530"></a>
+<span class="sourceLineNo">531</span>      if (type2 == null)<a name="line.531"></a>
+<span class="sourceLineNo">532</span>         type2 = "array";<a name="line.532"></a>
+<span class="sourceLineNo">533</span><a name="line.533"></a>
+<span class="sourceLineNo">534</span>      c = session.sort(c);<a name="line.534"></a>
+<span class="sourceLineNo">535</span><a name="line.535"></a>
+<span class="sourceLineNo">536</span>      HtmlBeanPropertyMeta hbpMeta = (ppMeta == null ? null : ppMeta.getExtendedMeta(HtmlBeanPropertyMeta.class));<a name="line.536"></a>
+<span class="sourceLineNo">537</span>      String btpn = session.getBeanTypePropertyName(eType);<a name="line.537"></a>
+<span class="sourceLineNo">538</span><a name="line.538"></a>
+<span class="sourceLineNo">539</span>      // Look at the objects to see how we're going to handle them.  Check the first object to see how we're going to<a name="line.539"></a>
+<span class="sourceLineNo">540</span>      // handle this.<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      // If it's a map or bean, then we'll create a table.<a name="line.541"></a>
+<span class="sourceLineNo">542</span>      // Otherwise, we'll create a list.<a name="line.542"></a>
+<span class="sourceLineNo">543</span>      Object[] th = getTableHeaders(session, c, hbpMeta);<a name="line.543"></a>
+<span class="sourceLineNo">544</span><a name="line.544"></a>
+<span class="sourceLineNo">545</span>      if (th != null) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span><a name="line.546"></a>
+<span class="sourceLineNo">547</span>         out.oTag(i, "table").attr(btpn, type2).append('&gt;').nl(i+1);<a name="line.547"></a>
+<span class="sourceLineNo">548</span>         out.sTag(i+1, "tr").nl(i+2);<a name="line.548"></a>
+<span class="sourceLineNo">549</span>         for (Object key : th) {<a name="line.549"></a>
+<span class="sourceLineNo">550</span>            out.sTag(i+2, "th");<a name="line.550"></a>
+<span class="sourceLineNo">551</span>            out.text(session.convertToType(key, String.class));<a name="line.551"></a>
+<span class="sourceLineNo">552</span>            out.eTag("th").nl(i+2);<a name="line.552"></a>
+<span class="sourceLineNo">553</span>         }<a name="line.553"></a>
+<span class="sourceLineNo">554</span>         out.ie(i+1).eTag("tr").nl(i+1);<a name="line.554"></a>
+<span class="sourceLineNo">555</span><a name="line.555"></a>
+<span class="sourceLineNo">556</span>         for (Object o : c) {<a name="line.556"></a>
+<span class="sourceLineNo">557</span>            ClassMeta&lt;?&gt; cm = session.getClassMetaForObject(o);<a name="line.557"></a>
+<span class="sourceLineNo">558</span><a name="line.558"></a>
+<span class="sourceLineNo">559</span>            if (cm != null &amp;&amp; cm.getPojoSwap() != null) {<a name="line.559"></a>
+<span class="sourceLineNo">560</span>               PojoSwap f = cm.getPojoSwap();<a name="line.560"></a>
+<span class="sourceLineNo">561</span>               o = f.swap(session, o);<a name="line.561"></a>
+<span class="sourceLineNo">562</span>               cm = cm.getSerializedClassMeta();<a name="line.562"></a>
+<span class="sourceLineNo">563</span>            }<a name="line.563"></a>
 <span class="sourceLineNo">564</span><a name="line.564"></a>
-<span class="sourceLineNo">565</span>            if (typeName != null &amp;&amp; eType.getElementType() != cm)<a name="line.565"></a>
-<span class="sourceLineNo">566</span>               out.attr(typeProperty, typeName);<a name="line.566"></a>
-<span class="sourceLineNo">567</span>            out.cTag().nl(i+2);<a name="line.567"></a>
+<span class="sourceLineNo">565</span>            out.oTag(i+1, "tr");<a name="line.565"></a>
+<span class="sourceLineNo">566</span>            String typeName = (cm == null ? null : cm.getDictionaryName());<a name="line.566"></a>
+<span class="sourceLineNo">567</span>            String typeProperty = session.getBeanTypePropertyName(cm);<a name="line.567"></a>
 <span class="sourceLineNo">568</span><a name="line.568"></a>
-<span class="sourceLineNo">569</span>            if (cm == null) {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>               serializeAnything(session, out, o, null, null, 1, null, false);<a name="line.570"></a>
-<span class="sourceLineNo">571</span><a name="line.571"></a>
-<span class="sourceLineNo">572</span>            } else if (cm.isMap() &amp;&amp; ! (cm.isBeanMap())) {<a name="line.572"></a>
-<span class="sourceLineNo">573</span>               Map m2 = session.sort((Map)o);<a name="line.573"></a>
-<span class="sourceLineNo">574</span><a name="line.574"></a>
-<span class="sourceLineNo">575</span>               for (Object k : th) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>                  out.sTag(i+2, "td");<a name="line.576"></a>
-<span class="sourceLineNo">577</span>                  ContentResult cr = serializeAnything(session, out, m2.get(k), eType.getElementType(), session.toString(k), 2, null, false);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>                  if (cr == CR_NORMAL)<a name="line.578"></a>
-<span class="sourceLineNo">579</span>                     out.i(i+2);<a name="line.579"></a>
-<span class="sourceLineNo">580</span>                  out.eTag("td").nl(i+2);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>               }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>            } else {<a name="line.582"></a>
-<span class="sourceLineNo">583</span>               BeanMap m2 = null;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>               if (o instanceof BeanMap)<a name="line.584"></a>
-<span class="sourceLineNo">585</span>                  m2 = (BeanMap)o;<a name="line.585"></a>
-<span class="sourceLineNo">586</span>               else<a name="line.586"></a>
-<span class="sourceLineNo">587</span>                  m2 = session.toBeanMap(o);<a name="line.587"></a>
-<span class="sourceLineNo">588</span><a name="line.588"></a>
-<span class="sourceLineNo">589</span>               for (Object k : th) {<a name="line.589"></a>
-<span class="sourceLineNo">590</span>                  BeanMapEntry p = m2.getProperty(session.toString(k));<a name="line.590"></a>
-<span class="sourceLineNo">591</span>                  BeanPropertyMeta pMeta = p.getMeta();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>                  String link = pMeta.getClassMeta().isCollectionOrArray() ? null : getLink(pMeta);<a name="line.592"></a>
-<span class="sourceLineNo">593</span>                  Object value = p.getValue();<a name="line.593"></a>
-<span class="sourceLineNo">594</span>                  String style = getStyle(session, pMeta, value);<a name="line.594"></a>
-<span class="sourceLineNo">595</span>                  out.oTag(i+2, "td");<a name="line.595"></a>
-<span class="sourceLineNo">596</span>                  if (style != null)<a name="line.596"></a>
-<span class="sourceLineNo">597</span>                     out.attr("style", style);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>                  out.cTag();<a name="line.598"></a>
-<span class="sourceLineNo">599</span>                  if (link != null)<a name="line.599"></a>
-<span class="sourceLineNo">600</span>                     out.oTag(i+3, "a").attrUri("href", m2.resolveVars(link)).cTag();<a name="line.600"></a>
-<span class="sourceLineNo">601</span>                  ContentResult cr = serializeAnything(session, out, value, pMeta.getClassMeta(), p.getKey().toString(), 2, pMeta, false);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>                  if (cr == CR_NORMAL)<a name="line.602"></a>
-<span class="sourceLineNo">603</span>                     out.i(i+2);<a name="line.603"></a>
-<span class="sourceLineNo">604</span>                  if (link != null)<a name="line.604"></a>
-<span class="sourceLineNo">605</span>                     out.eTag("a");<a name="line.605"></a>
-<span class="sourceLineNo">606</span>                  out.eTag("td").nl(i+2);<a name="line.606"></a>
-<span class="sourceLineNo">607</span>               }<a name="line.607"></a>
-<span class="sourceLineNo">608</span>            }<a name="line.608"></a>
-<span class="sourceLineNo">609</span>            out.ie(i+1).eTag("tr").nl(i+1);<a name="line.609"></a>
-<span class="sourceLineNo">610</span>         }<a name="line.610"></a>
-<span class="sourceLineNo">611</span>         out.ie(i).eTag("table").nl(i);<a name="line.611"></a>
-<span class="sourceLineNo">612</span><a name="line.612"></a>
-<span class="sourceLineNo">613</span>      } else {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>         out.oTag(i, "ul");<a name="line.614"></a>
-<span class="sourceLineNo">615</span>         if (! type2.equals("array"))<a name="line.615"></a>
-<span class="sourceLineNo">616</span>            out.attr(btpn, type2);<a name="line.616"></a>
-<span class="sourceLineNo">617</span>         out.append('&gt;').nl(i+1);<a name="line.617"></a>
-<span class="sourceLineNo">618</span>         for (Object o : c) {<a name="line.618"></a>
-<span class="sourceLineNo">619</span>            out.oTag(i+1, "li");<a name="line.619"></a>
-<span class="sourceLineNo">620</span>            String style = getStyle(session, ppMeta, o);<a name="line.620"></a>
-<span class="sourceLineNo">621</span>            String link = getLink(ppMeta);<a name="line.621"></a>
-<span class="sourceLineNo">622</span>            if (style != null)<a name="line.622"></a>
-<span class="sourceLineNo">623</span>               out.attr("style", style);<a name="line.623"></a>
-<span class="sourceLineNo">624</span>            out.cTag();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>            if (link != null)<a name="line.625"></a>
-<span class="sourceLineNo">626</span>               out.oTag(i+2, "a").attrUri("href", link.replace("{#}", StringUtils.toString(o))).cTag();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>            ContentResult cr = serializeAnything(session, out, o, eType.getElementType(), name, 1, null, false);<a name="line.627"></a>
-<span class="sourceLineNo">628</span>            if (link != null)<a name="line.628"></a>
-<span class="sourceLineNo">629</span>               out.eTag("a");<a name="line.629"></a>
-<span class="sourceLineNo">630</span>            if (cr == CR_NORMAL)<a name="line.630"></a>
-<span class="sourceLineNo">631</span>               out.ie(i+1);<a name="line.631"></a>
-<span class="sourceLineNo">632</span>            out.eTag("li").nl(i+1);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>         }<a name="line.633"></a>
-<span class="sourceLineNo">634</span>         out.ie(i).eTag("ul").nl(i);<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      }<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   }<a name="line.636"></a>
-<span class="sourceLineNo">637</span><a name="line.637"></a>
-<span class="sourceLineNo">638</span>   private static HtmlRender&lt;?&gt; getRender(HtmlSerializerSession session, BeanPropertyMeta pMeta, Object value) {<a name="line.638"></a>
-<span class="sourceLineNo">639</span>      if (pMeta == null)<a name="line.639"></a>
-<span class="sourceLineNo">640</span>         return null;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      HtmlBeanPropertyMeta hpMeta = pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      HtmlRender&lt;?&gt; render = hpMeta.getRender();<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      if (render != null)<a name="line.643"></a>
-<span class="sourceLineNo">644</span>         return render;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      ClassMeta&lt;?&gt; cMeta = session.getClassMetaForObject(value);<a name="line.645"></a>
-<span class="sourceLineNo">646</span>      render = cMeta == null ? null : cMeta.getExtendedMeta(HtmlClassMeta.class).getRender();<a name="line.646"></a>
-<span class="sourceLineNo">647</span>      return render;<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>   @SuppressWarnings({"rawtypes","unchecked"})<a name="line.650"></a>
-<span class="sourceLineNo">651</span>   private static String getStyle(HtmlSerializerSession session, BeanPropertyMeta pMeta, Object value) {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      HtmlRender render = getRender(session, pMeta, value);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      return render == null ? null : render.getStyle(session, value);<a name="line.653"></a>
-<span class="sourceLineNo">654</span>   }<a name="line.654"></a>
-<span class="sourceLineNo">655</span><a name="line.655"></a>
-<span class="sourceLineNo">656</span>   private static String getLink(BeanPropertyMeta pMeta) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      return pMeta == null ? null : pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).getLink();<a name="line.657"></a>
+<span class="sourceLineNo">569</span>            if (typeName != null &amp;&amp; eType.getElementType() != cm)<a name="line.569"></a>
+<span class="sourceLineNo">570</span>               out.attr(typeProperty, typeName);<a name="line.570"></a>
+<span class="sourceLineNo">571</span>            out.cTag().nl(i+2);<a name="line.571"></a>
+<span class="sourceLineNo">572</span><a name="line.572"></a>
+<span class="sourceLineNo">573</span>            if (cm == null) {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>               serializeAnything(session, out, o, null, null, 1, null, false);<a name="line.574"></a>
+<span class="sourceLineNo">575</span><a name="line.575"></a>
+<span class="sourceLineNo">576</span>            } else if (cm.isMap() &amp;&amp; ! (cm.isBeanMap())) {<a name="line.576"></a>
+<span class="sourceLineNo">577</span>               Map m2 = session.sort((Map)o);<a name="line.577"></a>
+<span class="sourceLineNo">578</span><a name="line.578"></a>
+<span class="sourceLineNo">579</span>               for (Object k : th) {<a name="line.579"></a>
+<span class="sourceLineNo">580</span>                  out.sTag(i+2, "td");<a name="line.580"></a>
+<span class="sourceLineNo">581</span>                  ContentResult cr = serializeAnything(session, out, m2.get(k), eType.getElementType(), session.toString(k), 2, null, false);<a name="line.581"></a>
+<span class="sourceLineNo">582</span>                  if (cr == CR_NORMAL)<a name="line.582"></a>
+<span class="sourceLineNo">583</span>                     out.i(i+2);<a name="line.583"></a>
+<span class="sourceLineNo">584</span>                  out.eTag("td").nl(i+2);<a name="line.584"></a>
+<span class="sourceLineNo">585</span>               }<a name="line.585"></a>
+<span class="sourceLineNo">586</span>            } else {<a name="line.586"></a>
+<span class="sourceLineNo">587</span>               BeanMap m2 = null;<a name="line.587"></a>
+<span class="sourceLineNo">588</span>               if (o instanceof BeanMap)<a name="line.588"></a>
+<span class="sourceLineNo">589</span>                  m2 = (BeanMap)o;<a name="line.589"></a>
+<span class="sourceLineNo">590</span>               else<a name="line.590"></a>
+<span class="sourceLineNo">591</span>                  m2 = session.toBeanMap(o);<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span>               for (Object k : th) {<a name="line.593"></a>
+<span class="sourceLineNo">594</span>                  BeanMapEntry p = m2.getProperty(session.toString(k));<a name="line.594"></a>
+<span class="sourceLineNo">595</span>                  BeanPropertyMeta pMeta = p.getMeta();<a name="line.595"></a>
+<span class="sourceLineNo">596</span>                  String link = pMeta.getClassMeta().isCollectionOrArray() ? null : getLink(pMeta);<a name="line.596"></a>
+<span class="sourceLineNo">597</span>                  Object value = p.getValue();<a name="line.597"></a>
+<span class="sourceLineNo">598</span>                  String style = getStyle(session, pMeta, value);<a name="line.598"></a>
+<span class="sourceLineNo">599</span>                  out.oTag(i+2, "td");<a name="line.599"></a>
+<span class="sourceLineNo">600</span>                  if (style != null)<a name="line.600"></a>
+<span class="sourceLineNo">601</span>                     out.attr("style", style);<a name="line.601"></a>
+<span class="sourceLineNo">602</span>                  out.cTag();<a name="line.602"></a>
+<span class="sourceLineNo">603</span>                  if (link != null)<a name="line.603"></a>
+<span class="sourceLineNo">604</span>                     out.oTag("a").attrUri("href", m2.resolveVars(link)).cTag();<a name="line.604"></a>
+<span class="sourceLineNo">605</span>                  ContentResult cr = serializeAnything(session, out, value, pMeta.getClassMeta(), p.getKey().toString(), 2, pMeta, false);<a name="line.605"></a>
+<span class="sourceLineNo">606</span>                  if (cr == CR_NORMAL)<a name="line.606"></a>
+<span class="sourceLineNo">607</span>                     out.i(i+2);<a name="line.607"></a>
+<span class="sourceLineNo">608</span>                  if (link != null)<a name="line.608"></a>
+<span class="sourceLineNo">609</span>                     out.eTag("a");<a name="line.609"></a>
+<span class="sourceLineNo">610</span>                  out.eTag("td").nl(i+2);<a name="line.610"></a>
+<span class="sourceLineNo">611</span>               }<a name="line.611"></a>
+<span class="sourceLineNo">612</span>            }<a name="line.612"></a>
+<span class="sourceLineNo">613</span>            out.ie(i+1).eTag("tr").nl(i+1);<a name="line.613"></a>
+<span class="sourceLineNo">614</span>         }<a name="line.614"></a>
+<span class="sourceLineNo">615</span>         out.ie(i).eTag("table").nl(i);<a name="line.615"></a>
+<span class="sourceLineNo">616</span><a name="line.616"></a>
+<span class="sourceLineNo">617</span>      } else {<a name="line.617"></a>
+<span class="sourceLineNo">618</span>         out.oTag(i, "ul");<a name="line.618"></a>
+<span class="sourceLineNo">619</span>         if (! type2.equals("array"))<a name="line.619"></a>
+<span class="sourceLineNo">620</span>            out.attr(btpn, type2);<a name="line.620"></a>
+<span class="sourceLineNo">621</span>         out.append('&gt;').nl(i+1);<a name="line.621"></a>
+<span class="sourceLineNo">622</span>         for (Object o : c) {<a name="line.622"></a>
+<span class="sourceLineNo">623</span>            out.oTag(i+1, "li");<a name="line.623"></a>
+<span class="sourceLineNo">624</span>            String style = getStyle(session, ppMeta, o);<a name="line.624"></a>
+<span class="sourceLineNo">625</span>            String link = getLink(ppMeta);<a name="line.625"></a>
+<span class="sourceLineNo">626</span>            if (style != null)<a name="line.626"></a>
+<span class="sourceLineNo">627</span>               out.attr("style", style);<a name="line.627"></a>
+<span class="sourceLineNo">628</span>            out.cTag();<a name="line.628"></a>
+<span class="sourceLineNo">629</span>            if (link != null)<a name="line.629"></a>
+<span class="sourceLineNo">630</span>               out.oTag(i+2, "a").attrUri("href", link.replace("{#}", StringUtils.toString(o))).cTag();<a name="line.630"></a>
+<span class="sourceLineNo">631</span>            ContentResult cr = serializeAnything(session, out, o, eType.getElementType(), name, 1, null, false);<a name="line.631"></a>
+<span class="sourceLineNo">632</span>            if (link != null)<a name="line.632"></a>
+<span class="sourceLineNo">633</span>               out.eTag("a");<a name="line.633"></a>
+<span class="sourceLineNo">634</span>            if (cr == CR_NORMAL)<a name="line.634"></a>
+<span class="sourceLineNo">635</span>               out.ie(i+1);<a name="line.635"></a>
+<span class="sourceLineNo">636</span>            out.eTag("li").nl(i+1);<a name="line.636"></a>
+<span class="sourceLineNo">637</span>         }<a name="line.637"></a>
+<span class="sourceLineNo">638</span>         out.ie(i).eTag("ul").nl(i);<a name="line.638"></a>
+<span class="sourceLineNo">639</span>      }<a name="line.639"></a>
+<span class="sourceLineNo">640</span>   }<a name="line.640"></a>
+<span class="sourceLineNo">641</span><a name="line.641"></a>
+<span class="sourceLineNo">642</span>   private static HtmlRender&lt;?&gt; getRender(HtmlSerializerSession session, BeanPropertyMeta pMeta, Object value) {<a name="line.642"></a>
+<span class="sourceLineNo">643</span>      if (pMeta == null)<a name="line.643"></a>
+<span class="sourceLineNo">644</span>         return null;<a name="line.644"></a>
+<span class="sourceLineNo">645</span>      HtmlBeanPropertyMeta hpMeta = pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class);<a name="line.645"></a>
+<span class="sourceLineNo">646</span>      HtmlRender&lt;?&gt; render = hpMeta.getRender();<a name="line.646"></a>
+<span class="sourceLineNo">647</span>      if (render != null)<a name="line.647"></a>
+<span class="sourceLineNo">648</span>         return render;<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      ClassMeta&lt;?&gt; cMeta = session.getClassMetaForObject(value);<a name="line.649"></a>
+<span class="sourceLineNo">650</span>      render = cMeta == null ? null : cMeta.getExtendedMeta(HtmlClassMeta.class).getRender();<a name="line.650"></a>
+<span class="sourceLineNo">651</span>      return render;<a name="line.651"></a>
+<span class="sourceLineNo">652</span>   }<a name="line.652"></a>
+<span class="sourceLineNo">653</span><a name="line.653"></a>
+<span class="sourceLineNo">654</span>   @SuppressWarnings({"rawtypes","unchecked"})<a name="line.654"></a>
+<span class="sourceLineNo">655</span>   private static String getStyle(HtmlSerializerSession session, BeanPropertyMeta pMeta, Object value) {<a name="line.655"></a>
+<span class="sourceLineNo">656</span>      HtmlRender render = getRender(session, pMeta, value);<a name="line.656"></a>
+<span class="sourceLineNo">657</span>      return render == null ? null : render.getStyle(session, value);<a name="line.657"></a>
 <span class="sourceLineNo">658</span>   }<a name="line.658"></a>
 <span class="sourceLineNo">659</span><a name="line.659"></a>
-<span class="sourceLineNo">660</span>   /*<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    * Returns the table column headers for the specified collection of objects.<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    * Returns null if collection should not be serialized as a 2-dimensional table.<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    * 2-dimensional tables are used for collections of objects that all have the same set of property names.<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    */<a name="line.664"></a>
-<span class="sourceLineNo">665</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.665"></a>
-<span class="sourceLineNo">666</span>   private static Object[] getTableHeaders(SerializerSession session, Collection c, HtmlBeanPropertyMeta hbpMeta) throws Exception {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      if (c.size() == 0)<a name="line.667"></a>
-<span class="sourceLineNo">668</span>         return null;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      c = session.sort(c);<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      Object[] th;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      Set&lt;ClassMeta&gt; prevC = new HashSet&lt;ClassMeta&gt;();<a name="line.671"></a>
-<span class="sourceLineNo">672</span>      Object o1 = null;<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      for (Object o : c)<a name="line.673"></a>
-<span class="sourceLineNo">674</span>         if (o != null) {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>            o1 = o;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>            break;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>         }<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      if (o1 == null)<a name="line.678"></a>
-<span class="sourceLineNo">679</span>         return null;<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      ClassMeta&lt;?&gt; cm = session.getClassMetaForObject(o1);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      if (cm.getPojoSwap() != null) {<a name="line.681"></a>
-<span class="sourceLineNo">682</span>         PojoSwap f = cm.getPojoSwap();<a name="line.682"></a>
-<span class="sourceLineNo">683</span>         o1 = f.swap(session, o1);<a name="line.683"></a>
-<span class="sourceLineNo">684</span>         cm = cm.getSerializedClassMeta();<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      }<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      if (cm == null || ! cm.isMapOrBean())<a name="line.686"></a>
-<span class="sourceLineNo">687</span>         return null;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      if (cm.getInnerClass().isAnnotationPresent(HtmlLink.class))<a name="line.688"></a>
-<span class="sourceLineNo">689</span>         return null;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      HtmlClassMeta h = cm.getExtendedMeta(HtmlClassMeta.class);<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      if (h.isNoTables() || (hbpMeta != null &amp;&amp; hbpMeta.isNoTables()))<a name="line.691"></a>
-<span class="sourceLineNo">692</span>         return null;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      if (h.isNoTableHeaders() || (hbpMeta != null &amp;&amp; hbpMeta.isNoTableHeaders()))<a name="line.693"></a>
-<span class="sourceLineNo">694</span>         return new Object[0];<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      if (session.canIgnoreValue(cm, null, o1))<a name="line.695"></a>
+<span class="sourceLineNo">660</span>   private static String getLink(BeanPropertyMeta pMeta) {<a name="line.660"></a>
+<span class="sourceLineNo">661</span>      return pMeta == null ? null : pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).getLink();<a name="line.661"></a>
+<span class="sourceLineNo">662</span>   }<a name="line.662"></a>
+<span class="sourceLineNo">663</span><a name="line.663"></a>
+<span class="sourceLineNo">664</span>   /*<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    * Returns the table column headers for the specified collection of objects.<a name="line.665"></a>
+<span class="sourceLineNo">666</span>    * Returns null if collection should not be serialized as a 2-dimensional table.<a name="line.666"></a>
+<span class="sourceLineNo">667</span>    * 2-dimensional tables are used for collections of objects that all have the same set of property names.<a name="line.667"></a>
+<span class="sourceLineNo">668</span>    */<a name="line.668"></a>
+<span class="sourceLineNo">669</span>   @SuppressWarnings({ "rawtypes", "unchecked" })<a name="line.669"></a>
+<span class="sourceLineNo">670</span>   private static Object[] getTableHeaders(SerializerSession session, Collection c, HtmlBeanPropertyMeta hbpMeta) throws Exception {<a name="line.670"></a>
+<span class="sourceLineNo">671</span>      if (c.size() == 0)<a name="line.671"></a>
+<span class="sourceLineNo">672</span>         return null;<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      c = session.sort(c);<a name="line.673"></a>
+<span class="sourceLineNo">674</span>      Object[] th;<a name="line.674"></a>
+<span class="sourceLineNo">675</span>      Set&lt;ClassMeta&gt; prevC = new HashSet&lt;ClassMeta&gt;();<a name="line.675"></a>
+<span class="sourceLineNo">676</span>      Object o1 = null;<a name="line.676"></a>
+<span class="sourceLineNo">677</span>      for (Object o : c)<a name="line.677"></a>
+<span class="sourceLineNo">678</span>         if (o != null) {<a name="line.678"></a>
+<span class="sourceLineNo">679</span>            o1 = o;<a name="line.679"></a>
+<span class="sourceLineNo">680</span>            break;<a name="line.680"></a>
+<span class="sourceLineNo">681</span>         }<a name="line.681"></a>
+<span class="sourceLineNo">682</span>      if (o1 == null)<a name="line.682"></a>
+<span class="sourceLineNo">683</span>         return null;<a name="line.683"></a>
+<span class="sourceLineNo">684</span>      ClassMeta&lt;?&gt; cm = session.getClassMetaForObject(o1);<a name="line.684"></a>
+<span class="sourceLineNo">685</span>      if (cm.getPojoSwap() != null) {<a name="line.685"></a>
+<span class="sourceLineNo">686</span>         PojoSwap f = cm.getPojoSwap();<a name="line.686"></a>
+<span class="sourceLineNo">687</span>         o1 = f.swap(session, o1);<a name="line.687"></a>
+<span class="sourceLineNo">688</span>         cm = cm.getSerializedClassMeta();<a name="line.688"></a>
+<span class="sourceLineNo">689</span>      }<a name="line.689"></a>
+<span class="sourceLineNo">690</span>      if (cm == null || ! cm.isMapOrBean())<a name="line.690"></a>
+<span class="sourceLineNo">691</span>         return null;<a name="line.691"></a>
+<span class="sourceLineNo">692</span>      if (cm.getInnerClass().isAnnotationPresent(HtmlLink.class))<a name="line.692"></a>
+<span class="sourceLineNo">693</span>         return null;<a name="line.693"></a>
+<span class="sourceLineNo">694</span>      HtmlClassMeta h = cm.getExtendedMeta(HtmlClassMeta.class);<a name="line.694"></a>
+<span class="sourceLineNo">695</span>      if (h.isNoTables() || (hbpMeta != null &amp;&amp; hbpMeta.isNoTables()))<a name="line.695"></a>
 <span class="sourceLineNo">696</span>         return null;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      if (cm.isMap() &amp;&amp; ! cm.isBeanMap()) {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>         Set&lt;Object&gt; set = new LinkedHashSet&lt;Object&gt;();<a name="line.698"></a>
-<span class="sourceLineNo">699</span>         for (Object o : c) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>            if (! session.canIgnoreValue(cm, null, o)) {<a name="line.700"></a>
-<span class="sourceLineNo">701</span>               if (! cm.isInstance(o))<a name="line.701"></a>
-<span class="sourceLineNo">702</span>                  return null;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>               Map m = session.sort((Map)o);<a name="line.703"></a>
-<span class="sourceLineNo">704</span>               for (Map.Entry e : (Set&lt;Map.Entry&gt;)m.entrySet()) {<a name="line.704"></a>
-<span class="sourceLineNo">705</span>                  if (e.getValue() != null)<a name="line.705"></a>
-<span class="sourceLineNo">706</span>                     set.add(e.getKey() == null ? null : e.getKey());<a name="line.706"></a>
-<span class="sourceLineNo">707</span>               }<a name="line.707"></a>
-<span class="sourceLineNo">708</span>            }<a name="line.708"></a>
-<span class="sourceLineNo">709</span>         }<a name="line.709"></a>
-<span class="sourceLineNo">710</span>         th = set.toArray(new Object[set.size()]);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      } else {<a name="line.711"></a>
-<span class="sourceLineNo">712</span>         Map&lt;String,Boolean&gt; m = new LinkedHashMap&lt;String,Boolean&gt;();<a name="line.712"></a>
-<span class="sourceLineNo">713</span>         for (Object o : c) {<a name="line.713"></a>
-<span class="sourceLineNo">714</span>            if (! session.canIgnoreValue(cm, null, o)) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>               if (! cm.isInstance(o))<a name="line.715"></a>
-<span class="sourceLineNo">716</span>                  return null;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>               BeanMap&lt;?&gt; bm = (o instanceof BeanMap ? (BeanMap)o : session.toBeanMap(o));<a name="line.717"></a>
-<span class="sourceLineNo">718</span>               for (Map.Entry&lt;String,Object&gt; e : bm.entrySet()) {<a name="line.718"></a>
-<span class="sourceLineNo">719</span>                  String key = e.getKey();<a name="line.719"></a>
-<span class="sourceLineNo">720</span>                  if (e.getValue() != null)<a name="line.720"></a>
-<span class="sourceLineNo">721</span>                     m.put(key, true);<a name="line.721"></a>
-<span class="sourceLineNo">722</span>                  else if (! m.containsKey(key))<a name="line.722"></a>
-<span class="sourceLineNo">723</span>                     m.put(key, false);<a name="line.723"></a>
-<span class="sourceLineNo">724</span>               }<a name="line.724"></a>
-<span class="sourceLineNo">725</span>            }<a name="line.725"></a>
-<span class="sourceLineNo">726</span>         }<a name="line.726"></a>
-<span class="sourceLineNo">727</span>         for (Iterator&lt;Boolean&gt; i = m.values().iterator(); i.hasNext();)<a name="line.727"></a>
-<span class="sourceLineNo">728</span>            if (! i.next())<a name="line.728"></a>
-<span class="sourceLineNo">729</span>               i.remove();<a name="line.729"></a>
-<span class="sourceLineNo">730</span>         th = m.keySet().toArray(new Object[m.size()]);<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>      prevC.add(cm);<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      boolean isSortable = true;<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      for (Object o : th)<a name="line.734"></a>
-<span class="sourceLineNo">735</span>         isSortable &amp;= (o instanceof Comparable);<a name="line.735"></a>
-<span class="sourceLineNo">736</span>      Set&lt;Object&gt; s = (isSortable ? new TreeSet&lt;Object&gt;() : new LinkedHashSet&lt;Object&gt;());<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      s.addAll(Arrays.asList(th));<a name="line.737"></a>
-<span class="sourceLineNo">738</span><a name="line.738"></a>
-<span class="sourceLineNo">739</span>      for (Object o : c) {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>         if (o == null)<a name="line.740"></a>
-<span class="sourceLineNo">741</span>            continue;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>         cm = session.getClassMetaForObject(o);<a name="line.742"></a>
-<span class="sourceLineNo">743</span>         if (cm != null &amp;&amp; cm.getPojoSwap() != null) {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>            PojoSwap f = cm.getPojoSwap();<a name="line.744"></a>
-<span class="sourceLineNo">745</span>            o = f.swap(session, o);<a name="line.745"></a>
-<span class="sourceLineNo">746</span>            cm = cm.getSerializedClassMeta();<a name="line.746"></a>
-<span class="sourceLineNo">747</span>         }<a name="line.747"></a>
-<span class="sourceLineNo">748</span>         if (prevC.contains(cm))<a name="line.748"></a>
-<span class="sourceLineNo">749</span>            continue;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>         if (cm == null || ! (cm.isMap() || cm.isBean()))<a name="line.750"></a>
-<span class="sourceLineNo">751</span>            return null;<a name="line.751"></a>
-<span class="sourceLineNo">752</span>         if (cm.getInnerClass().isAnnotationPresent(HtmlLink.class))<a name="line.752"></a>
-<span class="sourceLineNo">753</span>            return null;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>         if (session.canIgnoreValue(cm, null, o))<a name="line.754"></a>
+<span class="sourceLineNo">697</span>      if (h.isNoTableHeaders() || (hbpMeta != null &amp;&amp; hbpMeta.isNoTableHeaders()))<a name="line.697"></a>
+<span class="sourceLineNo">698</span>         return new Object[0];<a name="line.698"></a>
+<span class="sourceLineNo">699</span>      if (session.canIgnoreValue(cm, null, o1))<a name="line.699"></a>
+<span class="sourceLineNo">700</span>         return null;<a name="line.700"></a>
+<span class="sourceLineNo">701</span>      if (cm.isMap() &amp;&amp; ! cm.isBeanMap()) {<a name="line.701"></a>
+<span class="sourceLineNo">702</span>         Set&lt;Object&gt; set = new LinkedHashSet&lt;Object&gt;();<a name="line.702"></a>
+<span class="sourceLineNo">703</span>         for (Object o : c) {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>            if (! session.canIgnoreValue(cm, null, o)) {<a name="line.704"></a>
+<span class="sourceLineNo">705</span>               if (! cm.isInstance(o))<a name="line.705"></a>
+<span class="sourceLineNo">706</span>                  return null;<a name="line.706"></a>
+<span class="sourceLineNo">707</span>               Map m = session.sort((Map)o);<a name="line.707"></a>
+<span class="sourceLineNo">708</span>               for (Map.Entry e : (Set&lt;Map.Entry&gt;)m.entrySet()) {<a name="line.708"></a>
+<span class="sourceLineNo">709</span>                  if (e.getValue() != null)<a name="line.709"></a>
+<span class="sourceLineNo">710</span>                     set.add(e.getKey() == null ? null : e.getKey());<a name="line.710"></a>
+<span class="sourceLineNo">711</span>               }<a name="line.711"></a>
+<span class="sourceLineNo">712</span>            }<a name="line.712"></a>
+<span class="sourceLineNo">713</span>         }<a name="line.713"></a>
+<span class="sourceLineNo">714</span>         th = set.toArray(new Object[set.size()]);<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      } else {<a name="line.715"></a>
+<span class="sourceLineNo">716</span>         Map&lt;String,Boolean&gt; m = new LinkedHashMap&lt;String,Boolean&gt;();<a name="line.716"></a>
+<span class="sourceLineNo">717</span>         for (Object o : c) {<a name="line.717"></a>
+<span class="sourceLineNo">718</span>            if (! session.canIgnoreValue(cm, null, o)) {<a name="line.718"></a>
+<span class="sourceLineNo">719</span>               if (! cm.isInstance(o))<a name="line.719"></a>
+<span class="sourceLineNo">720</span>                  return null;<a name="line.720"></a>
+<span class="sourceLineNo">721</span>               BeanMap&lt;?&gt; bm = (o instanceof BeanMap ? (BeanMap)o : session.toBeanMap(o));<a name="line.721"></a>
+<span class="sourceLineNo">722</span>               for (Map.Entry&lt;String,Object&gt; e : bm.entrySet()) {<a name="line.722"></a>
+<span class="sourceLineNo">723</span>                  String key = e.getKey();<a name="line.723"></a>
+<span class="sourceLineNo">724</span>                  if (e.getValue() != null)<a name="line.724"></a>
+<span class="sourceLineNo">725</span>                     m.put(key, true);<a name="line.725"></a>
+<span class="sourceLineNo">726</span>                  else if (! m.containsKey(key))<a name="line.726"></a>
+<span class="sourceLineNo">727</span>                     m.put(key, false);<a name="line.727"></a>
+<span class="sourceLineNo">728</span>               }<a name="line.728"></a>
+<span class="sourceLineNo">729</span>            }<a name="line.729"></a>
+<span class="sourceLineNo">730</span>         }<a name="line.730"></a>
+<span class="sourceLineNo">731</span>         for (Iterator&lt;Boolean&gt; i = m.values().iterator(); i.hasNext();)<a n

<TRUNCATED>


[20/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/org/apache/juneau/rest/RestConfig.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/RestConfig.html b/content/site/apidocs/org/apache/juneau/rest/RestConfig.html
index 3ef3d38..a7ad71b 100644
--- a/content/site/apidocs/org/apache/juneau/rest/RestConfig.html
+++ b/content/site/apidocs/org/apache/juneau/rest/RestConfig.html
@@ -458,7 +458,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 </tr>
 <tr id="i48" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestConfig.html#setHtmlLinks-java.lang.String-">setHtmlLinks</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/rest/RestConfig.html#setHtmlLinks-java.lang.String:A-">setHtmlLinks</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;value)</code>
 <div class="block">Sets the links in the HTML nav section.</div>
 </td>
 </tr>
@@ -623,7 +623,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addVars</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.310">addVars</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;vars)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.313">addVars</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;vars)</pre>
 <div class="block">Adds the specified <a href="../../../../org/apache/juneau/svl/Var.html" title="class in org.apache.juneau.svl"><code>Var</code></a> classes to this config.
 
  <p>
@@ -665,7 +665,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addVarContextObject</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.335">addVarContextObject</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.338">addVarContextObject</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object)</pre>
 <div class="block">Adds a var context object to this config.
 
@@ -696,7 +696,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setConfigFile</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.351">setConfigFile</a>(<a href="../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini">ConfigFile</a>&nbsp;configFile)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.354">setConfigFile</a>(<a href="../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini">ConfigFile</a>&nbsp;configFile)</pre>
 <div class="block">Overwrites the default config file with a custom config file.
 
  <p>
@@ -717,7 +717,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setProperty</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.366">setProperty</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.369">setProperty</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                               <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets a property on this resource.
 
@@ -738,7 +738,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setProperties</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.383">setProperties</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;properties)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.386">setProperties</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;properties)</pre>
 <div class="block">Sets multiple properties on this resource.
 
  <p>
@@ -760,7 +760,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addBeanFilters</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.402">addBeanFilters</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;beanFilters)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.405">addBeanFilters</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;beanFilters)</pre>
 <div class="block">Adds class-level bean filters to this resource.
 
  <p>
@@ -784,7 +784,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addPojoSwaps</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.420">addPojoSwaps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;pojoSwaps)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.423">addPojoSwaps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;pojoSwaps)</pre>
 <div class="block">Adds class-level pojo swaps to this resource.
 
  <p>
@@ -807,7 +807,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>serializerListener</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.435">serializerListener</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/serializer/SerializerListener.html" title="class in org.apache.juneau.serializer">SerializerListener</a>&gt;&nbsp;listener)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.438">serializerListener</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/serializer/SerializerListener.html" title="class in org.apache.juneau.serializer">SerializerListener</a>&gt;&nbsp;listener)</pre>
 <div class="block">Specifies the serializer listener class to use for listening to non-fatal serialization errors.
 
  <p>
@@ -827,7 +827,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>parserListener</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.451">parserListener</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/parser/ParserListener.html" title="class in org.apache.juneau.parser">ParserListener</a>&gt;&nbsp;listener)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.454">parserListener</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/parser/ParserListener.html" title="class in org.apache.juneau.parser">ParserListener</a>&gt;&nbsp;listener)</pre>
 <div class="block">Specifies the parser listener class to use for listening to non-fatal parse errors.
 
  <p>
@@ -847,7 +847,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addParamResolvers</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.467">addParamResolvers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/rest/RestParam.html" title="class in org.apache.juneau.rest">RestParam</a>&gt;...&nbsp;paramResolvers)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.470">addParamResolvers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/rest/RestParam.html" title="class in org.apache.juneau.rest">RestParam</a>&gt;...&nbsp;paramResolvers)</pre>
 <div class="block">Adds class-level parameter resolvers to this resource.
 
  <p>
@@ -867,7 +867,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addSerializers</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.486">addSerializers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;serializers)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.489">addSerializers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;serializers)</pre>
 <div class="block">Adds class-level serializers to this resource.
 
  <p>
@@ -891,7 +891,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addSerializers</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.509">addSerializers</a>(<a href="../../../../org/apache/juneau/serializer/Serializer.html" title="class in org.apache.juneau.serializer">Serializer</a>...&nbsp;serializers)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.512">addSerializers</a>(<a href="../../../../org/apache/juneau/serializer/Serializer.html" title="class in org.apache.juneau.serializer">Serializer</a>...&nbsp;serializers)</pre>
 <div class="block">Adds class-level serializers to this resource.
 
  <p>
@@ -919,7 +919,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addParsers</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.527">addParsers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;parsers)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.530">addParsers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;parsers)</pre>
 <div class="block">Adds class-level parsers to this resource.
 
  <p>
@@ -942,7 +942,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addParsers</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.550">addParsers</a>(<a href="../../../../org/apache/juneau/parser/Parser.html" title="class in org.apache.juneau.parser">Parser</a>...&nbsp;parsers)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.553">addParsers</a>(<a href="../../../../org/apache/juneau/parser/Parser.html" title="class in org.apache.juneau.parser">Parser</a>...&nbsp;parsers)</pre>
 <div class="block">Adds class-level parsers to this resource.
 
  <p>
@@ -970,7 +970,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addEncoders</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.571">addEncoders</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;encoders)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.574">addEncoders</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;encoders)</pre>
 <div class="block">Adds class-level encoders to this resource.
 
  <p>
@@ -996,7 +996,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addEncoders</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.585">addEncoders</a>(<a href="../../../../org/apache/juneau/encoders/Encoder.html" title="class in org.apache.juneau.encoders">Encoder</a>...&nbsp;encoders)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.588">addEncoders</a>(<a href="../../../../org/apache/juneau/encoders/Encoder.html" title="class in org.apache.juneau.encoders">Encoder</a>...&nbsp;encoders)</pre>
 <div class="block">Adds class-level encoders to this resource.
 
  <p>
@@ -1015,7 +1015,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addConverters</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.615">addConverters</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;converters)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.618">addConverters</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;converters)</pre>
 <div class="block">Adds class-level converters to this resource.
 
  <p>
@@ -1050,7 +1050,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addConverters</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.629">addConverters</a>(<a href="../../../../org/apache/juneau/rest/RestConverter.html" title="interface in org.apache.juneau.rest">RestConverter</a>...&nbsp;converters)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.632">addConverters</a>(<a href="../../../../org/apache/juneau/rest/RestConverter.html" title="interface in org.apache.juneau.rest">RestConverter</a>...&nbsp;converters)</pre>
 <div class="block">Adds class-level encoders to this resource.
 
  <p>
@@ -1069,7 +1069,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addGuards</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.647">addGuards</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;guards)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.650">addGuards</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;guards)</pre>
 <div class="block">Adds class-level guards to this resource.
 
  <p>
@@ -1092,7 +1092,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addGuards</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.661">addGuards</a>(<a href="../../../../org/apache/juneau/rest/RestGuard.html" title="class in org.apache.juneau.rest">RestGuard</a>...&nbsp;guards)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.664">addGuards</a>(<a href="../../../../org/apache/juneau/rest/RestGuard.html" title="class in org.apache.juneau.rest">RestGuard</a>...&nbsp;guards)</pre>
 <div class="block">Adds class-level guards to this resource.
 
  <p>
@@ -1111,7 +1111,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addMimeTypes</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.695">addMimeTypes</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;mimeTypes)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.698">addMimeTypes</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;mimeTypes)</pre>
 <div class="block">Adds MIME-type definitions.
 
  <p>
@@ -1150,7 +1150,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addDefaultRequestHeader</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.717">addDefaultRequestHeader</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.720">addDefaultRequestHeader</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                           <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Adds class-level default HTTP request headers to this resource.
 
@@ -1177,7 +1177,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addDefaultRequestHeaders</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.738">addDefaultRequestHeaders</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;headers)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.741">addDefaultRequestHeaders</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;headers)
                                     throws <a href="../../../../org/apache/juneau/rest/RestServletException.html" title="class in org.apache.juneau.rest">RestServletException</a></pre>
 <div class="block">Adds class-level default HTTP request headers to this resource.
 
@@ -1205,7 +1205,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addDefaultResponseHeader</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.767">addDefaultResponseHeader</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.770">addDefaultResponseHeader</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                            <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Adds class-level default HTTP response headers to this resource.
 
@@ -1235,7 +1235,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addDefaultResponseHeaders</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.787">addDefaultResponseHeaders</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;headers)
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.790">addDefaultResponseHeaders</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;headers)
                                      throws <a href="../../../../org/apache/juneau/rest/RestServletException.html" title="class in org.apache.juneau.rest">RestServletException</a></pre>
 <div class="block">Adds class-level default HTTP response headers to this resource.
 
@@ -1262,7 +1262,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addResponseHandlers</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.821">addResponseHandlers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;responseHandlers)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.824">addResponseHandlers</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;responseHandlers)</pre>
 <div class="block">Adds class-level response handler classes to this resource.
 
  <p>
@@ -1296,7 +1296,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addResponseHandlers</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.835">addResponseHandlers</a>(<a href="../../../../org/apache/juneau/rest/ResponseHandler.html" title="interface in org.apache.juneau.rest">ResponseHandler</a>...&nbsp;responseHandlers)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.838">addResponseHandlers</a>(<a href="../../../../org/apache/juneau/rest/ResponseHandler.html" title="interface in org.apache.juneau.rest">ResponseHandler</a>...&nbsp;responseHandlers)</pre>
 <div class="block">Adds class-level response handlers to this resource.
 
  <p>
@@ -1315,7 +1315,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addChildResource</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.853">addChildResource</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.856">addChildResource</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path,
                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;child)</pre>
 <div class="block">Adds a child resource to this resource.
 
@@ -1339,7 +1339,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addChildResources</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.871">addChildResources</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;children)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.874">addChildResources</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;children)</pre>
 <div class="block">Add child resources to this resource.
 
  <p>
@@ -1362,7 +1362,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addChildResources</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.889">addChildResources</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;children)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.892">addChildResources</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;children)</pre>
 <div class="block">Add child resources to this resource.
 
  <p>
@@ -1385,7 +1385,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setSupportedAcceptTypes</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.906">setSupportedAcceptTypes</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;mediaTypes)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.909">setSupportedAcceptTypes</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;mediaTypes)</pre>
 <div class="block">Specifies the list of supported <code>Accept</code> media types for this resource.
 
  <p>
@@ -1407,7 +1407,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setSupportedAcceptTypes</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.925">setSupportedAcceptTypes</a>(<a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>...&nbsp;mediaTypes)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.928">setSupportedAcceptTypes</a>(<a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>...&nbsp;mediaTypes)</pre>
 <div class="block">Specifies the list of supported <code>Accept</code> media types for this resource.
 
  <p>
@@ -1429,7 +1429,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setSupportedContentTypes</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.942">setSupportedContentTypes</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;mediaTypes)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.945">setSupportedContentTypes</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;mediaTypes)</pre>
 <div class="block">Specifies the list of supported <code>Content-Type</code> media types for this resource.
 
  <p>
@@ -1451,7 +1451,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setSupportedContentTypes</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.961">setSupportedContentTypes</a>(<a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>...&nbsp;mediaTypes)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.964">setSupportedContentTypes</a>(<a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>...&nbsp;mediaTypes)</pre>
 <div class="block">Specifies the list of supported <code>Content-Type</code> media types for this resource.
 
  <p>
@@ -1473,7 +1473,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setFavIcon</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.983">setFavIcon</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;favIcon)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.986">setFavIcon</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;favIcon)</pre>
 <div class="block">Specifies the icon contents that make up the contents of the page <js>"/resource-path/favicon.ico"</js>.
 
  <p>
@@ -1500,7 +1500,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setFavIcon</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1004">setFavIcon</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;resourceClass,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1007">setFavIcon</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;resourceClass,
                              <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resourcePath)</pre>
 <div class="block">Specifies the icon contents that make up the contents of the page <js>"/resource-path/favicon.ico"</js>.
 
@@ -1526,7 +1526,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addStaticFiles</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1027">addStaticFiles</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;resourceClass,
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1030">addStaticFiles</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;resourceClass,
                                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;staticFilesString)</pre>
 <div class="block">Appends to the static files resource map.
 
@@ -1554,7 +1554,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setResourceResolver</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1049">setResourceResolver</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/rest/RestResourceResolver.html" title="class in org.apache.juneau.rest">RestResourceResolver</a>&gt;&nbsp;resourceResolver)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1052">setResourceResolver</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/rest/RestResourceResolver.html" title="class in org.apache.juneau.rest">RestResourceResolver</a>&gt;&nbsp;resourceResolver)</pre>
 <div class="block">Overrides the default REST resource resolver.
 
  <p>
@@ -1579,7 +1579,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setResourceResolver</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1063">setResourceResolver</a>(<a href="../../../../org/apache/juneau/rest/RestResourceResolver.html" title="class in org.apache.juneau.rest">RestResourceResolver</a>&nbsp;resourceResolver)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1066">setResourceResolver</a>(<a href="../../../../org/apache/juneau/rest/RestResourceResolver.html" title="class in org.apache.juneau.rest">RestResourceResolver</a>&nbsp;resourceResolver)</pre>
 <div class="block">Overrides the default REST resource resolver.
 
  <p>
@@ -1598,7 +1598,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setPath</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1077">setPath</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1080">setPath</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</pre>
 <div class="block">Sets the URL path of the resource <js>"/foobar"</js>.
 
  <p>
@@ -1617,7 +1617,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setClientVersionHeader</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1094">setClientVersionHeader</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientVersionHeader)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1097">setClientVersionHeader</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientVersionHeader)</pre>
 <div class="block">Sets name of the header used to denote the client version on HTTP requests.
 
  <p>
@@ -1637,14 +1637,14 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlTitle</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1139">setHtmlTitle</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1142">setHtmlTitle</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Sets the HTML page title.
 
  <p>
  The format of this value is plain text.
 
  <p>
- It gets wrapped in a <code><xt>&lt;h3&gt; <xa>class</xa>=<xs>'title'</xs>&gt;</xt></code> element and then added
+ It gets wrapped in a <code><xt>&lt;h1&gt;</xt></code> element and then added
  to the <code><xt>&lt;header&gt;</code> section on the page.
 
  <p>
@@ -1687,14 +1687,14 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlDescription</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1186">setHtmlDescription</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1189">setHtmlDescription</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Sets the HTML page description.
 
  <p>
  The format of this value is plain text.
 
  <p>
- It gets wrapped in a <code><xt>&lt;h5&gt; <xa>class</xa>=<xs>'description'</xs>&gt;</xt></code> element and then
+ It gets wrapped in a <code><xt>&lt;h2&gt;</xt></code> element and then
  added to the <code><xt>&lt;header&gt;</code> section on the page.
 
  <p>
@@ -1739,7 +1739,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlBranding</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1212">setHtmlBranding</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1215">setHtmlBranding</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Sets the HTML page branding in the header section of the page generated by the default HTML doc template.
 
  <p>
@@ -1770,7 +1770,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlHeader</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1243">setHtmlHeader</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1246">setHtmlHeader</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Sets the HTML header section contents.
 
  <p>
@@ -1800,13 +1800,13 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 </dl>
 </li>
 </ul>
-<a name="setHtmlLinks-java.lang.String-">
+<a name="setHtmlLinks-java.lang.String:A-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlLinks</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1273">setHtmlLinks</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1276">setHtmlLinks</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;value)</pre>
 <div class="block">Sets the links in the HTML nav section.
 
  <p>
@@ -1841,7 +1841,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlNav</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1305">setHtmlNav</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1308">setHtmlNav</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Sets the HTML nav section contents.
 
  <p>
@@ -1854,7 +1854,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
  The format of this value is HTML.
 
  <p>
- When a value is specified, the <a href="../../../../org/apache/juneau/rest/RestConfig.html#setHtmlLinks-java.lang.String-"><code>setHtmlLinks(String)</code></a> value will be ignored.
+ When a value is specified, the <a href="../../../../org/apache/juneau/rest/RestConfig.html#setHtmlLinks-java.lang.String:A-"><code>setHtmlLinks(String[])</code></a> value will be ignored.
 
  <p>
  This field can contain variables (e.g. <js>"$L{my.localized.variable}"</js>).
@@ -1878,7 +1878,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlAside</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1331">setHtmlAside</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1334">setHtmlAside</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Sets the HTML aside section contents.
 
  <p>
@@ -1909,7 +1909,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlFooter</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1357">setHtmlFooter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1360">setHtmlFooter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Sets the HTML footer section contents.
 
  <p>
@@ -1940,7 +1940,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlStyle</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1380">setHtmlStyle</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1383">setHtmlStyle</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Sets the HTML CSS style section contents.
 
  <p>
@@ -1968,7 +1968,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlStylesheet</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1407">setHtmlStylesheet</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1410">setHtmlStylesheet</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Sets the CSS URL in the HTML CSS style section.
 
  <p>
@@ -2000,7 +2000,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlScript</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1430">setHtmlScript</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1433">setHtmlScript</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Sets the HTML script section contents.
 
  <p>
@@ -2028,7 +2028,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlNoWrap</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1444">setHtmlNoWrap</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1447">setHtmlNoWrap</a>(boolean&nbsp;value)</pre>
 <div class="block">Shorthand method for forcing the rendered HTML content to be no-wrap.
 
  <p>
@@ -2047,7 +2047,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlNoResultsMessage</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1459">setHtmlNoResultsMessage</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1462">setHtmlNoResultsMessage</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Specifies the text to display when serializing an empty array or collection.
 
  <p>
@@ -2067,7 +2067,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlTemplate</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1477">setHtmlTemplate</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a>&gt;&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1480">setHtmlTemplate</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a>&gt;&nbsp;value)</pre>
 <div class="block">Specifies the template class to use for rendering the HTML page.
 
  <p>
@@ -2090,7 +2090,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setHtmlTemplate</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1495">setHtmlTemplate</a>(<a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1498">setHtmlTemplate</a>(<a href="../../../../org/apache/juneau/html/HtmlDocTemplate.html" title="interface in org.apache.juneau.html">HtmlDocTemplate</a>&nbsp;value)</pre>
 <div class="block">Specifies the template class to use for rendering the HTML page.
 
  <p>
@@ -2113,7 +2113,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>addWidget</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1510">addWidget</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/rest/widget/Widget.html" title="class in org.apache.juneau.rest.widget">Widget</a>&gt;&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1513">addWidget</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/rest/widget/Widget.html" title="class in org.apache.juneau.rest.widget">Widget</a>&gt;&nbsp;value)</pre>
 <div class="block">Defines widgets that can be used in conjunction with string variables of the form <js>"$W{name}"</js>to quickly
  generate arbitrary replacement text.
 
@@ -2133,7 +2133,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setLogger</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1525">setLogger</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/rest/RestLogger.html" title="class in org.apache.juneau.rest">RestLogger</a>&gt;&nbsp;logger)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1528">setLogger</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/rest/RestLogger.html" title="class in org.apache.juneau.rest">RestLogger</a>&gt;&nbsp;logger)</pre>
 <div class="block">Overrides the logger for the resource.
 
  <p>
@@ -2152,7 +2152,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setLogger</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1539">setLogger</a>(<a href="../../../../org/apache/juneau/rest/RestLogger.html" title="class in org.apache.juneau.rest">RestLogger</a>&nbsp;logger)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1542">setLogger</a>(<a href="../../../../org/apache/juneau/rest/RestLogger.html" title="class in org.apache.juneau.rest">RestLogger</a>&nbsp;logger)</pre>
 <div class="block">Overrides the logger for the resource.
 
  <p>
@@ -2171,7 +2171,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setCallHandler</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1558">setCallHandler</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/rest/RestCallHandler.html" title="class in org.apache.juneau.rest">RestCallHandler</a>&gt;&nbsp;restHandler)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1561">setCallHandler</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/rest/RestCallHandler.html" title="class in org.apache.juneau.rest">RestCallHandler</a>&gt;&nbsp;restHandler)</pre>
 <div class="block">Overrides the call handler for the resource.
 
  <p>
@@ -2195,7 +2195,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setCallHandler</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1577">setCallHandler</a>(<a href="../../../../org/apache/juneau/rest/RestCallHandler.html" title="class in org.apache.juneau.rest">RestCallHandler</a>&nbsp;restHandler)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1580">setCallHandler</a>(<a href="../../../../org/apache/juneau/rest/RestCallHandler.html" title="class in org.apache.juneau.rest">RestCallHandler</a>&nbsp;restHandler)</pre>
 <div class="block">Overrides the call handler for the resource.
 
  <p>
@@ -2219,7 +2219,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setInfoProvider</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1596">setInfoProvider</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/rest/RestInfoProvider.html" title="class in org.apache.juneau.rest">RestInfoProvider</a>&gt;&nbsp;infoProvider)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1599">setInfoProvider</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/juneau/rest/RestInfoProvider.html" title="class in org.apache.juneau.rest">RestInfoProvider</a>&gt;&nbsp;infoProvider)</pre>
 <div class="block">Overrides the info provider for the resource.
 
  <p>
@@ -2243,7 +2243,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>setInfoProvider</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1615">setInfoProvider</a>(<a href="../../../../org/apache/juneau/rest/RestInfoProvider.html" title="class in org.apache.juneau.rest">RestInfoProvider</a>&nbsp;infoProvider)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/rest/RestConfig.html" title="class in org.apache.juneau.rest">RestConfig</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1618">setInfoProvider</a>(<a href="../../../../org/apache/juneau/rest/RestInfoProvider.html" title="class in org.apache.juneau.rest">RestInfoProvider</a>&nbsp;infoProvider)</pre>
 <div class="block">Overrides the info provider for the resource.
 
  <p>
@@ -2267,7 +2267,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>createPropertyStore</h4>
-<pre>protected&nbsp;<a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1625">createPropertyStore</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1628">createPropertyStore</a>()</pre>
 <div class="block">Creates a new <a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau"><code>PropertyStore</code></a> object initialized with the properties defined in this config.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -2281,7 +2281,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfigFile</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini">ConfigFile</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1652">getConfigFile</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini">ConfigFile</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1655">getConfigFile</a>()</pre>
 <div class="block">Returns the external configuration file for this resource.
 
  <p>
@@ -2308,7 +2308,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>getProperties</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1674">getProperties</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1677">getProperties</a>()</pre>
 <div class="block">Returns the configuration properties for this resource.
 
  <p>
@@ -2335,7 +2335,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>getVarResolverBuilder</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/juneau/svl/VarResolverBuilder.html" title="class in org.apache.juneau.svl">VarResolverBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1697">getVarResolverBuilder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/juneau/svl/VarResolverBuilder.html" title="class in org.apache.juneau.svl">VarResolverBuilder</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1700">getVarResolverBuilder</a>()</pre>
 <div class="block">Creates the variable resolver for this resource.
 
  <p>
@@ -2363,7 +2363,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitParameter</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1707">getInitParameter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1710">getInitParameter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletConfig.html?is-external=true#getInitParameter-java.lang.String-" title="class or interface in javax.servlet">getInitParameter</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletConfig.html?is-external=true" title="class or interface in javax.servlet">ServletConfig</a></code></dd>
@@ -2376,7 +2376,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitParameterNames</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1712">getInitParameterNames</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1715">getInitParameterNames</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletConfig.html?is-external=true#getInitParameterNames--" title="class or interface in javax.servlet">getInitParameterNames</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletConfig.html?is-external=true" title="class or interface in javax.servlet">ServletConfig</a></code></dd>
@@ -2389,7 +2389,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockList">
 <li class="blockList">
 <h4>getServletContext</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletContext.html?is-external=true" title="class or interface in javax.servlet">ServletContext</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1717">getServletContext</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletContext.html?is-external=true" title="class or interface in javax.servlet">ServletContext</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1720">getServletContext</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletConfig.html?is-external=true#getServletContext--" title="class or interface in javax.servlet">getServletContext</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletConfig.html?is-external=true" title="class or interface in javax.servlet">ServletConfig</a></code></dd>
@@ -2402,7 +2402,7 @@ implements <a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletCon
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getServletName</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1722">getServletName</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestConfig.html#line.1725">getServletName</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletConfig.html?is-external=true#getServletName--" title="class or interface in javax.servlet">getServletName</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javaee/5/api/javax/servlet/ServletConfig.html?is-external=true" title="class or interface in javax.servlet">ServletConfig</a></code></dd>


[08/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/rest/RequestQuery.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/RequestQuery.html b/content/site/apidocs/src-html/org/apache/juneau/rest/RequestQuery.html
index 3178fcf..43d029e 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/RequestQuery.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/RequestQuery.html
@@ -33,454 +33,484 @@
 <span class="sourceLineNo">025</span>import org.apache.juneau.parser.*;<a name="line.25"></a>
 <span class="sourceLineNo">026</span>import org.apache.juneau.urlencoding.*;<a name="line.26"></a>
 <span class="sourceLineNo">027</span>import org.apache.juneau.utils.*;<a name="line.27"></a>
-<span class="sourceLineNo">028</span><a name="line.28"></a>
-<span class="sourceLineNo">029</span>/**<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * Represents the query parameters in an HTTP request.<a name="line.30"></a>
-<span class="sourceLineNo">031</span> */<a name="line.31"></a>
-<span class="sourceLineNo">032</span>@SuppressWarnings("unchecked")<a name="line.32"></a>
-<span class="sourceLineNo">033</span>public final class RequestQuery extends LinkedHashMap&lt;String,String[]&gt; {<a name="line.33"></a>
-<span class="sourceLineNo">034</span>   private static final long serialVersionUID = 1L;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>   private UrlEncodingParser parser;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>   private BeanSession beanSession;<a name="line.37"></a>
-<span class="sourceLineNo">038</span><a name="line.38"></a>
-<span class="sourceLineNo">039</span>   RequestQuery setParser(UrlEncodingParser parser) {<a name="line.39"></a>
-<span class="sourceLineNo">040</span>      this.parser = parser;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>      return this;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>   }<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>   RequestQuery setBeanSession(BeanSession beanSession) {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>      this.beanSession = beanSession;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>      return this;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>   }<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>   /**<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    * Adds default entries to these query parameters.<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    *<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    * &lt;p&gt;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    * This includes the default queries defined on the servlet and method levels.<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    *<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    * @param defaultEntries The default entries.  Can be &lt;jk&gt;null&lt;/jk&gt;.<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    * @return This object (for method chaining).<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   public RequestQuery addDefault(Map&lt;String,String&gt; defaultEntries) {<a name="line.58"></a>
-<span class="sourceLineNo">059</span>      if (defaultEntries != null) {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>         for (Map.Entry&lt;String,String&gt; e : defaultEntries.entrySet()) {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>            String key = e.getKey(), value = e.getValue();<a name="line.61"></a>
-<span class="sourceLineNo">062</span>            String[] v = get(key);<a name="line.62"></a>
-<span class="sourceLineNo">063</span>            if (v == null || v.length == 0 || StringUtils.isEmpty(v[0]))<a name="line.63"></a>
-<span class="sourceLineNo">064</span>               put(key, new String[]{value});<a name="line.64"></a>
-<span class="sourceLineNo">065</span>         }<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      }<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      return this;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   }<a name="line.68"></a>
-<span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span>   /**<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    * Sets a request query parameter value.<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    *<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    * @param name The parameter name.<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    * @param value The parameter value.<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    */<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   public void put(String name, Object value) {<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      put(name, new String[]{StringUtils.toString(value)});<a name="line.77"></a>
+<span class="sourceLineNo">028</span>import org.apache.juneau.xml.*;<a name="line.28"></a>
+<span class="sourceLineNo">029</span><a name="line.29"></a>
+<span class="sourceLineNo">030</span>/**<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * Represents the query parameters in an HTTP request.<a name="line.31"></a>
+<span class="sourceLineNo">032</span> */<a name="line.32"></a>
+<span class="sourceLineNo">033</span>@SuppressWarnings("unchecked")<a name="line.33"></a>
+<span class="sourceLineNo">034</span>public final class RequestQuery extends LinkedHashMap&lt;String,String[]&gt; {<a name="line.34"></a>
+<span class="sourceLineNo">035</span>   private static final long serialVersionUID = 1L;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>   private UrlEncodingParser parser;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>   private BeanSession beanSession;<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>   RequestQuery setParser(UrlEncodingParser parser) {<a name="line.40"></a>
+<span class="sourceLineNo">041</span>      this.parser = parser;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>      return this;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>   }<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>   RequestQuery setBeanSession(BeanSession beanSession) {<a name="line.45"></a>
+<span class="sourceLineNo">046</span>      this.beanSession = beanSession;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>      return this;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>   }<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>   /**<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    * Create a copy of the request query parameters.<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    */<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   RequestQuery copy() {<a name="line.53"></a>
+<span class="sourceLineNo">054</span>      RequestQuery rq = new RequestQuery();<a name="line.54"></a>
+<span class="sourceLineNo">055</span>      rq.putAll(this);<a name="line.55"></a>
+<span class="sourceLineNo">056</span>      return rq;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>   }<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>   /**<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    * Adds default entries to these query parameters.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    *<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    * &lt;p&gt;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    * This includes the default queries defined on the servlet and method levels.<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    *<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    * @param defaultEntries The default entries.  Can be &lt;jk&gt;null&lt;/jk&gt;.<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    * @return This object (for method chaining).<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    */<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   public RequestQuery addDefault(Map&lt;String,String&gt; defaultEntries) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>      if (defaultEntries != null) {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>         for (Map.Entry&lt;String,String&gt; e : defaultEntries.entrySet()) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>            String key = e.getKey(), value = e.getValue();<a name="line.71"></a>
+<span class="sourceLineNo">072</span>            String[] v = get(key);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>            if (v == null || v.length == 0 || StringUtils.isEmpty(v[0]))<a name="line.73"></a>
+<span class="sourceLineNo">074</span>               put(key, new String[]{value});<a name="line.74"></a>
+<span class="sourceLineNo">075</span>         }<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      }<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      return this;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>   }<a name="line.78"></a>
 <span class="sourceLineNo">079</span><a name="line.79"></a>
 <span class="sourceLineNo">080</span>   /**<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    * Returns a query parameter value.<a name="line.81"></a>
+<span class="sourceLineNo">081</span>    * Sets a request query parameter value.<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    *<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    * &lt;p&gt;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    * Same as {@link HttpServletRequest#getParameter(String)} except only looks in the URL string, not parameters from<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    * URL-Encoded FORM posts.<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    *<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    * &lt;p&gt;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    * This method can be used to retrieve a parameter without triggering the underlying servlet API to load and parse<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    * the request body.<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    *<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    * &lt;p&gt;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    * If multiple query parameters have the same name, this returns only the first instance.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    *<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    * @param name The URL parameter name.<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    * @return The parameter value, or &lt;jk&gt;null&lt;/jk&gt; if parameter not specified or has no value (e.g. &lt;js&gt;"&amp;amp;foo"&lt;/js&gt;.<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   public String getString(String name) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      String[] v = get(name);<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      if (v == null || v.length == 0)<a name="line.99"></a>
-<span class="sourceLineNo">100</span>         return null;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>      // Fix for behavior difference between Tomcat and WAS.<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      // getParameter("foo") on "&amp;foo" in Tomcat returns "".<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      // getParameter("foo") on "&amp;foo" in WAS returns null.<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      if (v.length == 1 &amp;&amp; v[0] == null)<a name="line.105"></a>
-<span class="sourceLineNo">106</span>         return "";<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>      return v[0];<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>   /**<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    * Same as {@link #getString(String)} but returns the specified default value if the query parameter was not<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    * specified.<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    *<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    * @param name The URL parameter name.<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    * @param def The default value.<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    * @return<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    *    The parameter value, or the default value if parameter not specified or has no value<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    *    (e.g. &lt;js&gt;"&amp;amp;foo"&lt;/js&gt;.<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    */<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   public String getString(String name, String def) {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      String s = getString(name);<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      return StringUtils.isEmpty(s) ? def : s;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   }<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>   /**<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    * Same as {@link #getString(String)} but converts the value to an integer.<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    *<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    * @param name The URL parameter name.<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    * @return<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    *    The parameter value, or &lt;code&gt;0&lt;/code&gt; if parameter not specified or has no value<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    *    (e.g. &lt;js&gt;"&amp;amp;foo"&lt;/js&gt;.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    */<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   public int getInt(String name) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      return getInt(name, 0);<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   }<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span>   /**<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    * Same as {@link #getString(String,String)} but converts the value to an integer.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    *<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    * @param name The URL parameter name.<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    * @param def The default value.<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    * @return<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    *    The parameter value, or the default value if parameter not specified or has no value<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    *    (e.g. &lt;js&gt;"&amp;amp;foo"&lt;/js&gt;.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   public int getInt(String name, int def) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      String s = getString(name);<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      return StringUtils.isEmpty(s) ? def : Integer.parseInt(s);<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   }<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>   /**<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    * Same as {@link #getString(String)} but converts the value to a boolean.<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    *<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    * @param name The URL parameter name.<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    * @return<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    *    The parameter value, or &lt;jk&gt;false&lt;/jk&gt; if parameter not specified or has no value<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    *    (e.g. &lt;js&gt;"&amp;amp;foo"&lt;/js&gt;.<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    */<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   public boolean getBoolean(String name) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      return getBoolean(name, false);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>   /**<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    * Same as {@link #getString(String,String)} but converts the value to a boolean.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    *<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    * @param name The URL parameter name.<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    * @param def The default value.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    * @return<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    *    The parameter value, or the default value if parameter not specified or has no value<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    *    (e.g. &lt;js&gt;"&amp;amp;foo"&lt;/js&gt;.<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    */<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   public boolean getBoolean(String name, boolean def) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      String s = getString(name);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      return StringUtils.isEmpty(s) ? def : Boolean.parseBoolean(s);<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>    * Returns the specified query parameter value converted to a POJO.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    *<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    * &lt;p&gt;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    * This method can be used to retrieve a parameter without triggering the underlying servlet API to load and parse<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    * the request body.<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    *<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    * &lt;h5 class='section'&gt;Examples:&lt;/h5&gt;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    * &lt;p class='bcode'&gt;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    *    &lt;jc&gt;// Parse into an integer.&lt;/jc&gt;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    *    &lt;jk&gt;int&lt;/jk&gt; myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, &lt;jk&gt;int&lt;/jk&gt;.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    *<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    *    &lt;jc&gt;// Parse into an int array.&lt;/jc&gt;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    *    &lt;jk&gt;int&lt;/jk&gt;[] myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, &lt;jk&gt;int&lt;/jk&gt;[].&lt;jk&gt;class&lt;/jk&gt;);<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span>    *    &lt;jc&gt;// Parse into a bean.&lt;/jc&gt;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    *    MyBean myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, MyBean.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    *<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    *    &lt;jc&gt;// Parse into a linked-list of objects.&lt;/jc&gt;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    *    List myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, LinkedList.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    *<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    *    &lt;jc&gt;// Parse into a map of object keys/values.&lt;/jc&gt;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    *    Map myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, TreeMap.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    * &lt;/p&gt;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    *<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    * @param name The parameter name.<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    * @param type The class type to convert the parameter value to.<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    * @param &lt;T&gt; The class type to convert the parameter value to.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    * @return The parameter value converted to the specified class type.<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    * @throws ParseException<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    */<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   public &lt;T&gt; T get(String name, Class&lt;T&gt; type) throws ParseException {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      return get(name, beanSession.getClassMeta(type));<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   }<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>   /**<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    * Same as {@link #get(String, Class)} except returns a default value if not found.<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    *<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    * @param name The parameter name.<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    * @param def The default value if the parameter was not specified or is &lt;jk&gt;null&lt;/jk&gt;.<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    * @param type The class type to convert the parameter value to.<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    * @param &lt;T&gt; The class type to convert the parameter value to.<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    * @return The parameter value converted to the specified class type.<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    * @throws ParseException<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    */<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   public &lt;T&gt; T get(String name, T def, Class&lt;T&gt; type) throws ParseException {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      return get(name, def, beanSession.getClassMeta(type));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   }<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>
-<span class="sourceLineNo">228</span>    * Returns the specified query parameter value converted to a POJO.<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    *<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    * &lt;p&gt;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    * This method can be used to retrieve a parameter without triggering the underlying servlet API to load and parse<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    * the request body.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    *<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    * &lt;p&gt;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    * Use this method if you want to parse into a parameterized &lt;code&gt;Map&lt;/code&gt;/&lt;code&gt;Collection&lt;/code&gt; object.<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    *<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    * &lt;h5 class='section'&gt;Examples:&lt;/h5&gt;<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    * &lt;p class='bcode'&gt;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    *    &lt;jc&gt;// Parse into a linked-list of strings.&lt;/jc&gt;<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    *    List&amp;lt;String&amp;gt; myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, LinkedList.&lt;jk&gt;class&lt;/jk&gt;, String.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    *<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    *    &lt;jc&gt;// Parse into a linked-list of linked-lists of strings.&lt;/jc&gt;<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    *    List&amp;lt;List&amp;lt;String&amp;gt;&amp;gt; myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, LinkedList.&lt;jk&gt;class&lt;/jk&gt;, LinkedList.&lt;jk&gt;class&lt;/jk&gt;, String.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    *<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    *    &lt;jc&gt;// Parse into a map of string keys/values.&lt;/jc&gt;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    *    Map&amp;lt;String,String&amp;gt; myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, TreeMap.&lt;jk&gt;class&lt;/jk&gt;, String.&lt;jk&gt;class&lt;/jk&gt;, String.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    *<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    *    &lt;jc&gt;// Parse into a map containing string keys and values of lists containing beans.&lt;/jc&gt;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    *    Map&amp;lt;String,List&amp;lt;MyBean&amp;gt;&amp;gt; myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, TreeMap.&lt;jk&gt;class&lt;/jk&gt;, String.&lt;jk&gt;class&lt;/jk&gt;, List.&lt;jk&gt;class&lt;/jk&gt;, MyBean.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    * &lt;/p&gt;<a name="line.250"></a>
+<span class="sourceLineNo">083</span>    * @param name The parameter name.<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    * @param value The parameter value.<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    */<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   public void put(String name, Object value) {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      put(name, new String[]{StringUtils.toString(value)});<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   }<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>   /**<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    * Returns a query parameter value.<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    *<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    * &lt;p&gt;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    * Same as {@link HttpServletRequest#getParameter(String)} except only looks in the URL string, not parameters from<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    * URL-Encoded FORM posts.<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    *<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    * &lt;p&gt;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    * This method can be used to retrieve a parameter without triggering the underlying servlet API to load and parse<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    * the request body.<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    *<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    * &lt;p&gt;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    * If multiple query parameters have the same name, this returns only the first instance.<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    *<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    * @param name The URL parameter name.<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    * @return The parameter value, or &lt;jk&gt;null&lt;/jk&gt; if parameter not specified or has no value (e.g. &lt;js&gt;"&amp;amp;foo"&lt;/js&gt;.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   public String getString(String name) {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      String[] v = get(name);<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      if (v == null || v.length == 0)<a name="line.109"></a>
+<span class="sourceLineNo">110</span>         return null;<a name="line.110"></a>
+<span class="sourceLineNo">111</span><a name="line.111"></a>
+<span class="sourceLineNo">112</span>      // Fix for behavior difference between Tomcat and WAS.<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      // getParameter("foo") on "&amp;foo" in Tomcat returns "".<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      // getParameter("foo") on "&amp;foo" in WAS returns null.<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      if (v.length == 1 &amp;&amp; v[0] == null)<a name="line.115"></a>
+<span class="sourceLineNo">116</span>         return "";<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>      return v[0];<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   }<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>   /**<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    * Same as {@link #getString(String)} but returns the specified default value if the query parameter was not<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    * specified.<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    *<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    * @param name The URL parameter name.<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    * @param def The default value.<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    * @return<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    *    The parameter value, or the default value if parameter not specified or has no value<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    *    (e.g. &lt;js&gt;"&amp;amp;foo"&lt;/js&gt;.<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    */<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   public String getString(String name, String def) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      String s = getString(name);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      return StringUtils.isEmpty(s) ? def : s;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>   /**<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    * Same as {@link #getString(String)} but converts the value to an integer.<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    *<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    * @param name The URL parameter name.<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    * @return<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    *    The parameter value, or &lt;code&gt;0&lt;/code&gt; if parameter not specified or has no value<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    *    (e.g. &lt;js&gt;"&amp;amp;foo"&lt;/js&gt;.<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    */<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   public int getInt(String name) {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      return getInt(name, 0);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   }<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>    * Same as {@link #getString(String,String)} but converts the value to an integer.<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    *<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    * @param name The URL parameter name.<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    * @param def The default value.<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    * @return<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    *    The parameter value, or the default value if parameter not specified or has no value<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    *    (e.g. &lt;js&gt;"&amp;amp;foo"&lt;/js&gt;.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    */<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   public int getInt(String name, int def) {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      String s = getString(name);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      return StringUtils.isEmpty(s) ? def : Integer.parseInt(s);<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   }<a name="line.160"></a>
+<span class="sourceLineNo">161</span><a name="line.161"></a>
+<span class="sourceLineNo">162</span>   /**<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    * Same as {@link #getString(String)} but converts the value to a boolean.<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    *<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    * @param name The URL parameter name.<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    * @return<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    *    The parameter value, or &lt;jk&gt;false&lt;/jk&gt; if parameter not specified or has no value<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    *    (e.g. &lt;js&gt;"&amp;amp;foo"&lt;/js&gt;.<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    */<a name="line.169"></a>
+<span class="sourceLineNo">170</span>   public boolean getBoolean(String name) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      return getBoolean(name, false);<a name="line.171"></a>
+<span class="sourceLineNo">172</span>   }<a name="line.172"></a>
+<span class="sourceLineNo">173</span><a name="line.173"></a>
+<span class="sourceLineNo">174</span>   /**<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    * Same as {@link #getString(String,String)} but converts the value to a boolean.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    *<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    * @param name The URL parameter name.<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    * @param def The default value.<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    * @return<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    *    The parameter value, or the default value if parameter not specified or has no value<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    *    (e.g. &lt;js&gt;"&amp;amp;foo"&lt;/js&gt;.<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    */<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   public boolean getBoolean(String name, boolean def) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      String s = getString(name);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      return StringUtils.isEmpty(s) ? def : Boolean.parseBoolean(s);<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>   /**<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    * Returns the specified query parameter value converted to a POJO.<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    *<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    * &lt;p&gt;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    * This method can be used to retrieve a parameter without triggering the underlying servlet API to load and parse<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    * the request body.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    *<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    * &lt;h5 class='section'&gt;Examples:&lt;/h5&gt;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    * &lt;p class='bcode'&gt;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    *    &lt;jc&gt;// Parse into an integer.&lt;/jc&gt;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    *    &lt;jk&gt;int&lt;/jk&gt; myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, &lt;jk&gt;int&lt;/jk&gt;.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    *<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    *    &lt;jc&gt;// Parse into an int array.&lt;/jc&gt;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    *    &lt;jk&gt;int&lt;/jk&gt;[] myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, &lt;jk&gt;int&lt;/jk&gt;[].&lt;jk&gt;class&lt;/jk&gt;);<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>    *    &lt;jc&gt;// Parse into a bean.&lt;/jc&gt;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    *    MyBean myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, MyBean.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    *<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    *    &lt;jc&gt;// Parse into a linked-list of objects.&lt;/jc&gt;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    *    List myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, LinkedList.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    *<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    *    &lt;jc&gt;// Parse into a map of object keys/values.&lt;/jc&gt;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    *    Map myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, TreeMap.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    * &lt;/p&gt;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    *<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    * @param name The parameter name.<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    * @param type The class type to convert the parameter value to.<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    * @param &lt;T&gt; The class type to convert the parameter value to.<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    * @return The parameter value converted to the specified class type.<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    * @throws ParseException<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   public &lt;T&gt; T get(String name, Class&lt;T&gt; type) throws ParseException {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      return get(name, beanSession.getClassMeta(type));<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   }<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>   /**<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    * Same as {@link #get(String, Class)} except returns a default value if not found.<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    *<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    * @param name The parameter name.<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    * @param def The default value if the parameter was not specified or is &lt;jk&gt;null&lt;/jk&gt;.<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    * @param type The class type to convert the parameter value to.<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    * @param &lt;T&gt; The class type to convert the parameter value to.<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    * @return The parameter value converted to the specified class type.<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    * @throws ParseException<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   public &lt;T&gt; T get(String name, T def, Class&lt;T&gt; type) throws ParseException {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      return get(name, def, beanSession.getClassMeta(type));<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   }<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>   /**<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    * Returns the specified query parameter value converted to a POJO.<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    *<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    * &lt;p&gt;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    * This method can be used to retrieve a parameter without triggering the underlying servlet API to load and parse<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    * the request body.<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    *<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    * &lt;p&gt;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    * Use this method if you want to parse into a parameterized &lt;code&gt;Map&lt;/code&gt;/&lt;code&gt;Collection&lt;/code&gt; object.<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    *<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    * &lt;h5 class='section'&gt;Examples:&lt;/h5&gt;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    * &lt;p class='bcode'&gt;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    *    &lt;jc&gt;// Parse into a linked-list of strings.&lt;/jc&gt;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    *    List&amp;lt;String&amp;gt; myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, LinkedList.&lt;jk&gt;class&lt;/jk&gt;, String.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.250"></a>
 <span class="sourceLineNo">251</span>    *<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    * @param name The parameter name.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    * @param type<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    *    The type of object to create.<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    *    &lt;br&gt;Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    *    {@link GenericArrayType}<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    * @param args<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    *    The type arguments of the class if it's a collection or map.<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    *    &lt;br&gt;Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    *    {@link GenericArrayType}<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    *    &lt;br&gt;Ignored if the main type is not a map or collection.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    * @param &lt;T&gt; The class type to convert the parameter value to.<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    * @return The parameter value converted to the specified class type.<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    * @throws ParseException<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   public &lt;T&gt; T get(String name, Type type, Type...args) throws ParseException {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      return (T)parse(name, beanSession.getClassMeta(type, args));<a name="line.267"></a>
-<span class="sourceLineNo">268</span>   }<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>   /**<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    * Same as {@link #get(String, Class)} except returns a default value if not found.<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    *<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    * @param name The parameter name.<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    * @param type<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    *    The type of object to create.<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    *    &lt;br&gt;Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    *    {@link GenericArrayType}<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    * @param args<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    *    The type arguments of the class if it's a collection or map.<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    *    &lt;br&gt;Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    *    {@link GenericArrayType}<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    *    &lt;br&gt;Ignored if the main type is not a map or collection.<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    * @param def The default value if the parameter was not specified or is &lt;jk&gt;null&lt;/jk&gt;.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    * @param &lt;T&gt; The class type to convert the parameter value to.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    * @return The parameter value converted to the specified class type.<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    * @throws ParseException<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   public &lt;T&gt; T get(String name, Object def, Type type, Type...args) throws ParseException {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      return (T)parse(name, def, beanSession.getClassMeta(type, args));<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   }<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>   /**<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    * Same as {@link #get(String, Class)} except for use on multi-part parameters<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    * (e.g. &lt;js&gt;"&amp;amp;key=1&amp;amp;key=2&amp;amp;key=3"&lt;/js&gt; instead of &lt;js&gt;"&amp;amp;key=(1,2,3)"&lt;/js&gt;).<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    *<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    * &lt;p&gt;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    * This method must only be called when parsing into classes of type Collection or array.<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    *<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    * @param name The query parameter name.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    * @param c The class type to convert the parameter value to.<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    * @param &lt;T&gt; The class type to convert the parameter value to.<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    * @return The query parameter value converted to the specified class type.<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    * @throws ParseException<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    */<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   public &lt;T&gt; T getAll(String name, Class&lt;T&gt; c) throws ParseException {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      return getAll(name, beanSession.getClassMeta(c));<a name="line.306"></a>
-<span class="sourceLineNo">307</span>   }<a name="line.307"></a>
-<span class="sourceLineNo">308</span><a name="line.308"></a>
-<span class="sourceLineNo">309</span>   /**<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    * Same as {@link #get(String, Type, Type...)} except for use on multi-part parameters<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    * (e.g. &lt;js&gt;"&amp;amp;key=1&amp;amp;key=2&amp;amp;key=3"&lt;/js&gt; instead of &lt;js&gt;"&amp;amp;key=(1,2,3)"&lt;/js&gt;).<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    *<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    * &lt;p&gt;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    * This method must only be called when parsing into classes of type Collection or array.<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    *<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    * @param name The query parameter name.<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    * @param type<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    *    The type of object to create.<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    *    &lt;br&gt;Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    *    {@link GenericArrayType}<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    * @param args<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    *    The type arguments of the class if it's a collection or map.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    *    &lt;br&gt;Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    *    {@link GenericArrayType}<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    *    &lt;br&gt;Ignored if the main type is not a map or collection.<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    * @param &lt;T&gt; The class type to convert the parameter value to.<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    * @return The query parameter value converted to the specified class type.<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    * @throws ParseException<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    */<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   public &lt;T&gt; T getAll(String name, Type type, Type...args) throws ParseException {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      return (T)parseAll(name, beanSession.getClassMeta(type, args));<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>   /**<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    * Returns &lt;jk&gt;true&lt;/jk&gt; if the request contains any of the specified query parameters.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    *<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    * @param params The list of parameters to check for.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    * @return &lt;jk&gt;true&lt;/jk&gt; if the request contains any of the specified query parameters.<a name="line.338"></a>
+<span class="sourceLineNo">252</span>    *    &lt;jc&gt;// Parse into a linked-list of linked-lists of strings.&lt;/jc&gt;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    *    List&amp;lt;List&amp;lt;String&amp;gt;&amp;gt; myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, LinkedList.&lt;jk&gt;class&lt;/jk&gt;, LinkedList.&lt;jk&gt;class&lt;/jk&gt;, String.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    *<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    *    &lt;jc&gt;// Parse into a map of string keys/values.&lt;/jc&gt;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    *    Map&amp;lt;String,String&amp;gt; myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, TreeMap.&lt;jk&gt;class&lt;/jk&gt;, String.&lt;jk&gt;class&lt;/jk&gt;, String.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    *<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    *    &lt;jc&gt;// Parse into a map containing string keys and values of lists containing beans.&lt;/jc&gt;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    *    Map&amp;lt;String,List&amp;lt;MyBean&amp;gt;&amp;gt; myparam = req.getQueryParameter(&lt;js&gt;"myparam"&lt;/js&gt;, TreeMap.&lt;jk&gt;class&lt;/jk&gt;, String.&lt;jk&gt;class&lt;/jk&gt;, List.&lt;jk&gt;class&lt;/jk&gt;, MyBean.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    * &lt;/p&gt;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    *<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    * @param name The parameter name.<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    * @param type<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    *    The type of object to create.<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    *    &lt;br&gt;Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    *    {@link GenericArrayType}<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    * @param args<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    *    The type arguments of the class if it's a collection or map.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    *    &lt;br&gt;Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    *    {@link GenericArrayType}<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    *    &lt;br&gt;Ignored if the main type is not a map or collection.<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    * @param &lt;T&gt; The class type to convert the parameter value to.<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    * @return The parameter value converted to the specified class type.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    * @throws ParseException<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    */<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   public &lt;T&gt; T get(String name, Type type, Type...args) throws ParseException {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      return (T)parse(name, beanSession.getClassMeta(type, args));<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   }<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>   /**<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    * Same as {@link #get(String, Class)} except returns a default value if not found.<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    *<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    * @param name The parameter name.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    * @param type<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    *    The type of object to create.<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    *    &lt;br&gt;Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    *    {@link GenericArrayType}<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    * @param args<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    *    The type arguments of the class if it's a collection or map.<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    *    &lt;br&gt;Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    *    {@link GenericArrayType}<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    *    &lt;br&gt;Ignored if the main type is not a map or collection.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    * @param def The default value if the parameter was not specified or is &lt;jk&gt;null&lt;/jk&gt;.<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    * @param &lt;T&gt; The class type to convert the parameter value to.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    * @return The parameter value converted to the specified class type.<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    * @throws ParseException<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    */<a name="line.297"></a>
+<span class="sourceLineNo">298</span>   public &lt;T&gt; T get(String name, Object def, Type type, Type...args) throws ParseException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      return (T)parse(name, def, beanSession.getClassMeta(type, args));<a name="line.299"></a>
+<span class="sourceLineNo">300</span>   }<a name="line.300"></a>
+<span class="sourceLineNo">301</span><a name="line.301"></a>
+<span class="sourceLineNo">302</span>   /**<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    * Same as {@link #get(String, Class)} except for use on multi-part parameters<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    * (e.g. &lt;js&gt;"&amp;amp;key=1&amp;amp;key=2&amp;amp;key=3"&lt;/js&gt; instead of &lt;js&gt;"&amp;amp;key=(1,2,3)"&lt;/js&gt;).<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    *<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    * &lt;p&gt;<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    * This method must only be called when parsing into classes of type Collection or array.<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    *<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    * @param name The query parameter name.<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    * @param c The class type to convert the parameter value to.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    * @param &lt;T&gt; The class type to convert the parameter value to.<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    * @return The query parameter value converted to the specified class type.<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    * @throws ParseException<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    */<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   public &lt;T&gt; T getAll(String name, Class&lt;T&gt; c) throws ParseException {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      return getAll(name, beanSession.getClassMeta(c));<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   }<a name="line.317"></a>
+<span class="sourceLineNo">318</span><a name="line.318"></a>
+<span class="sourceLineNo">319</span>   /**<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    * Same as {@link #get(String, Type, Type...)} except for use on multi-part parameters<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    * (e.g. &lt;js&gt;"&amp;amp;key=1&amp;amp;key=2&amp;amp;key=3"&lt;/js&gt; instead of &lt;js&gt;"&amp;amp;key=(1,2,3)"&lt;/js&gt;).<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    *<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    * &lt;p&gt;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    * This method must only be called when parsing into classes of type Collection or array.<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    *<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    * @param name The query parameter name.<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    * @param type<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    *    The type of object to create.<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    *    &lt;br&gt;Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    *    {@link GenericArrayType}<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    * @param args<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    *    The type arguments of the class if it's a collection or map.<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    *    &lt;br&gt;Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType},<a name="line.333"></a>
+<span class="sourceLineNo">334</span>    *    {@link GenericArrayType}<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    *    &lt;br&gt;Ignored if the main type is not a map or collection.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    * @param &lt;T&gt; The class type to convert the parameter value to.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    * @return The query parameter value converted to the specified class type.<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    * @throws ParseException<a name="line.338"></a>
 <span class="sourceLineNo">339</span>    */<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   public boolean containsAnyKeys(String...params) {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      for (String p : params)<a name="line.341"></a>
-<span class="sourceLineNo">342</span>         if (containsKey(p))<a name="line.342"></a>
-<span class="sourceLineNo">343</span>            return true;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      return false;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   }<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>   /**<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    * Locates the special search query arguments in the query and returns them as a {@link SearchArgs} object.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    *<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    * &lt;p&gt;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    * The query arguments are as follows:<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    * &lt;ul&gt;<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    *    &lt;li&gt;<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    *       &lt;js&gt;"&amp;amp;s="&lt;/js&gt; - A comma-delimited list of column-name/search-token pairs.<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    *       &lt;br&gt;Example: &lt;js&gt;"&amp;amp;s=column1=foo*,column2=*bar"&lt;/js&gt;<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    *    &lt;li&gt;<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    *       &lt;js&gt;"&amp;amp;v="&lt;/js&gt; - A comma-delimited list column names to view.<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    *       &lt;br&gt;Example: &lt;js&gt;"&amp;amp;v=column1,column2"&lt;/js&gt;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    *    &lt;li&gt;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    *       &lt;js&gt;"&amp;amp;o="&lt;/js&gt; - A comma-delimited list column names to sort by.<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    *       &lt;br&gt;Column names can be suffixed with &lt;js&gt;'-'&lt;/js&gt; to indicate descending order.<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    *       &lt;br&gt;Example: &lt;js&gt;"&amp;amp;o=column1,column2-"&lt;/js&gt;<a name="line.362"></a>
+<span class="sourceLineNo">340</span>   public &lt;T&gt; T getAll(String name, Type type, Type...args) throws ParseException {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      return (T)parseAll(name, beanSession.getClassMeta(type, args));<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   }<a name="line.342"></a>
+<span class="sourceLineNo">343</span><a name="line.343"></a>
+<span class="sourceLineNo">344</span>   /**<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    * Returns &lt;jk&gt;true&lt;/jk&gt; if the request contains any of the specified query parameters.<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    *<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    * @param params The list of parameters to check for.<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    * @return &lt;jk&gt;true&lt;/jk&gt; if the request contains any of the specified query parameters.<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    */<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   public boolean containsAnyKeys(String...params) {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      for (String p : params)<a name="line.351"></a>
+<span class="sourceLineNo">352</span>         if (containsKey(p))<a name="line.352"></a>
+<span class="sourceLineNo">353</span>            return true;<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      return false;<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   }<a name="line.355"></a>
+<span class="sourceLineNo">356</span><a name="line.356"></a>
+<span class="sourceLineNo">357</span>   /**<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    * Locates the special search query arguments in the query and returns them as a {@link SearchArgs} object.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    *<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    * &lt;p&gt;<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    * The query arguments are as follows:<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    * &lt;ul&gt;<a name="line.362"></a>
 <span class="sourceLineNo">363</span>    *    &lt;li&gt;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    *       &lt;js&gt;"&amp;amp;p="&lt;/js&gt; - The zero-index row number of the first row to display.<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    *       &lt;br&gt;Example: &lt;js&gt;"&amp;amp;p=100"&lt;/js&gt;<a name="line.365"></a>
+<span class="sourceLineNo">364</span>    *       &lt;js&gt;"&amp;amp;s="&lt;/js&gt; - A comma-delimited list of column-name/search-token pairs.<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    *       &lt;br&gt;Example: &lt;js&gt;"&amp;amp;s=column1=foo*,column2=*bar"&lt;/js&gt;<a name="line.365"></a>
 <span class="sourceLineNo">366</span>    *    &lt;li&gt;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    *       &lt;js&gt;"&amp;amp;l="&lt;/js&gt; - The number of rows to return.<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    *       &lt;br&gt;&lt;code&gt;0&lt;/code&gt; implies return all rows.<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    *       &lt;br&gt;Example: &lt;js&gt;"&amp;amp;l=100"&lt;/js&gt;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    *    &lt;li&gt;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    *       &lt;js&gt;"&amp;amp;i="&lt;/js&gt; - The case-insensitive search flag.<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    *       &lt;br&gt;Example: &lt;js&gt;"&amp;amp;i=true"&lt;/js&gt;<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    * &lt;/ul&gt;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    *<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    * &lt;p&gt;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    * Whitespace is trimmed in the parameters.<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    *<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    * @return<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    *    A new {@link SearchArgs} object initialized with the special search query arguments.<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    *    &lt;jk&gt;null&lt;/jk&gt; if no search arguments were found.<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    */<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   public SearchArgs getSearchArgs() {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (hasAny("s","v","o","p","l","i")) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>         return new SearchArgs.Builder()<a name="line.384"></a>
-<span class="sourceLineNo">385</span>            .search(getString("s"))<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            .view(getString("v"))<a name="line.386"></a>
-<span class="sourceLineNo">387</span>            .sort(getString("o"))<a name="line.387"></a>
-<span class="sourceLineNo">388</span>            .position(getInt("p"))<a name="line.388"></a>
-<span class="sourceLineNo">389</span>            .limit(getInt("l"))<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            .ignoreCase(getBoolean("i"))<a name="line.390"></a>
-<span class="sourceLineNo">391</span>            .build();<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      return null;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>   /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    * Returns &lt;jk&gt;true&lt;/jk&gt; if the query parameters contains any of the specified names.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    *<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    * @param paramNames The parameter names to check for.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    * @return &lt;jk&gt;true&lt;/jk&gt; if the query parameters contains any of the specified names.<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    */<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   public boolean hasAny(String...paramNames) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      for (String p : paramNames)<a name="line.403"></a>
-<span class="sourceLineNo">404</span>         if (containsKey(p))<a name="line.404"></a>
-<span class="sourceLineNo">405</span>            return true;<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      return false;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   }<a name="line.407"></a>
-<span class="sourceLineNo">408</span><a name="line.408"></a>
-<span class="sourceLineNo">409</span>   /* Workhorse method */<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   private &lt;T&gt; T parse(String name, T def, ClassMeta&lt;T&gt; cm) throws ParseException {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      String val = getString(name);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      if (val == null)<a name="line.412"></a>
-<span class="sourceLineNo">413</span>         return def;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      return parseValue(val, cm);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   }<a name="line.415"></a>
-<span class="sourceLineNo">416</span><a name="line.416"></a>
-<span class="sourceLineNo">417</span>   /* Workhorse method */<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   private &lt;T&gt; T parse(String name, ClassMeta&lt;T&gt; cm) throws ParseException {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>      String val = getString(name);<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      if (cm.isPrimitive() &amp;&amp; (val == null || val.isEmpty()))<a name="line.420"></a>
-<span class="sourceLineNo">421</span>         return cm.getPrimitiveDefault();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      return parseValue(val, cm);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>   }<a name="line.423"></a>
-<span class="sourceLineNo">424</span><a name="line.424"></a>
-<span class="sourceLineNo">425</span>   /* Workhorse method */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   @SuppressWarnings("rawtypes")<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   private &lt;T&gt; T parseAll(String name, ClassMeta&lt;T&gt; cm) throws ParseException {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      String[] p = get(name);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      if (p == null)<a name="line.429"></a>
-<span class="sourceLineNo">430</span>         return null;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>      if (cm.isArray()) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>         List c = new ArrayList();<a name="line.432"></a>
-<span class="sourceLineNo">433</span>         for (int i = 0; i &lt; p.length; i++)<a name="line.433"></a>
-<span class="sourceLineNo">434</span>            c.add(parseValue(p[i], cm.getElementType()));<a name="line.434"></a>
-<span class="sourceLineNo">435</span>         return (T)toArray(c, cm.getElementType().getInnerClass());<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      } else if (cm.isCollection()) {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>         try {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>            Collection c = (Collection)(cm.canCreateNewInstance() ? cm.newInstance() : new ObjectList());<a name="line.438"></a>
-<span class="sourceLineNo">439</span>            for (int i = 0; i &lt; p.length; i++)<a name="line.439"></a>
-<span class="sourceLineNo">440</span>               c.add(parseValue(p[i], cm.getElementType()));<a name="line.440"></a>
-<span class="sourceLineNo">441</span>            return (T)c;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>         } catch (ParseException e) {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>            throw e;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>         } catch (Exception e) {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>            // Typically an instantiation exception.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>            throw new ParseException(e);<a name="line.446"></a>
-<span class="sourceLineNo">447</span>         }<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      }<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      throw new ParseException("Invalid call to getQueryParameters(String, ClassMeta).  Class type must be a Collection or array.");<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>   private &lt;T&gt; T parseValue(String val, ClassMeta&lt;T&gt; c) throws ParseException {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      return parser.parse(PartType.QUERY, val, c);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>   /**<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    * Converts the query parameters to a readable string.<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    *<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    * @param sorted Sort the query parameters by name.<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    * @return A JSON string containing the contents of the query parameters.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    */<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   public String toString(boolean sorted) {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      Map&lt;String,Object&gt; m = (sorted ? new TreeMap&lt;String,Object&gt;() : new LinkedHashMap&lt;String,Object&gt;());<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      for (Map.Entry&lt;String,String[]&gt; e : this.entrySet()) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>         String[] v = e.getValue();<a name="line.465"></a>
-<span class="sourceLineNo">466</span>         m.put(e.getKey(), v.length == 1 ? v[0] : v);<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      }<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      return JsonSerializer.DEFAULT_LAX.toString(m);<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>   @Override /* Object */<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   public String toString() {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      return toString(false);<a name="line.473"></a>
-<span class="sourceLineNo">474</span>   }<a name="line.474"></a>
-<span class="sourceLineNo">475</span>}<a name="line.475"></a>
+<span class="sourceLineNo">367</span>    *       &lt;js&gt;"&amp;amp;v="&lt;/js&gt; - A comma-delimited list column names to view.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    *       &lt;br&gt;Example: &lt;js&gt;"&amp;amp;v=column1,column2"&lt;/js&gt;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    *    &lt;li&gt;<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    *       &lt;js&gt;"&amp;amp;o="&lt;/js&gt; - A comma-delimited list column names to sort by.<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    *       &lt;br&gt;Column names can be suffixed with &lt;js&gt;'-'&lt;/js&gt; to indicate descending order.<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    *       &lt;br&gt;Example: &lt;js&gt;"&amp;amp;o=column1,column2-"&lt;/js&gt;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    *    &lt;li&gt;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    *       &lt;js&gt;"&amp;amp;p="&lt;/js&gt; - The zero-index row number of the first row to display.<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    *       &lt;br&gt;Example: &lt;js&gt;"&amp;amp;p=100"&lt;/js&gt;<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    *    &lt;li&gt;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    *       &lt;js&gt;"&amp;amp;l="&lt;/js&gt; - The number of rows to return.<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    *       &lt;br&gt;&lt;code&gt;0&lt;/code&gt; implies return all rows.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    *       &lt;br&gt;Example: &lt;js&gt;"&amp;amp;l=100"&lt;/js&gt;<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    *    &lt;li&gt;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    *       &lt;js&gt;"&amp;amp;i="&lt;/js&gt; - The case-insensitive search flag.<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    *       &lt;br&gt;Example: &lt;js&gt;"&amp;amp;i=true"&lt;/js&gt;<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    * &lt;/ul&gt;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    *<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    * &lt;p&gt;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    * Whitespace is trimmed in the parameters.<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    *<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    * @return<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    *    A new {@link SearchArgs} object initialized with the special search query arguments.<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    *    &lt;jk&gt;null&lt;/jk&gt; if no search arguments were found.<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    */<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   public SearchArgs getSearchArgs() {<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      if (hasAny("s","v","o","p","l","i")) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>         return new SearchArgs.Builder()<a name="line.394"></a>
+<span class="sourceLineNo">395</span>            .search(getString("s"))<a name="line.395"></a>
+<span class="sourceLineNo">396</span>            .view(getString("v"))<a name="line.396"></a>
+<span class="sourceLineNo">397</span>            .sort(getString("o"))<a name="line.397"></a>
+<span class="sourceLineNo">398</span>            .position(getInt("p"))<a name="line.398"></a>
+<span class="sourceLineNo">399</span>            .limit(getInt("l"))<a name="line.399"></a>
+<span class="sourceLineNo">400</span>            .ignoreCase(getBoolean("i"))<a name="line.400"></a>
+<span class="sourceLineNo">401</span>            .build();<a name="line.401"></a>
+<span class="sourceLineNo">402</span>      }<a name="line.402"></a>
+<span class="sourceLineNo">403</span>      return null;<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   }<a name="line.404"></a>
+<span class="sourceLineNo">405</span><a name="line.405"></a>
+<span class="sourceLineNo">406</span>   /**<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    * Returns &lt;jk&gt;true&lt;/jk&gt; if the query parameters contains any of the specified names.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    *<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    * @param paramNames The parameter names to check for.<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    * @return &lt;jk&gt;true&lt;/jk&gt; if the query parameters contains any of the specified names.<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    */<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   public boolean hasAny(String...paramNames) {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>      for (String p : paramNames)<a name="line.413"></a>
+<span class="sourceLineNo">414</span>         if (containsKey(p))<a name="line.414"></a>
+<span class="sourceLineNo">415</span>            return true;<a name="line.415"></a>
+<span class="sourceLineNo">416</span>      return false;<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   }<a name="line.417"></a>
+<span class="sourceLineNo">418</span><a name="line.418"></a>
+<span class="sourceLineNo">419</span>   /* Workhorse method */<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   private &lt;T&gt; T parse(String name, T def, ClassMeta&lt;T&gt; cm) throws ParseException {<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      String val = getString(name);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      if (val == null)<a name="line.422"></a>
+<span class="sourceLineNo">423</span>         return def;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>      return parseValue(val, cm);<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   }<a name="line.425"></a>
+<span class="sourceLineNo">426</span><a name="line.426"></a>
+<span class="sourceLineNo">427</span>   /* Workhorse method */<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   private &lt;T&gt; T parse(String name, ClassMeta&lt;T&gt; cm) throws ParseException {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      String val = getString(name);<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      if (cm.isPrimitive() &amp;&amp; (val == null || val.isEmpty()))<a name="line.430"></a>
+<span class="sourceLineNo">431</span>         return cm.getPrimitiveDefault();<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      return parseValue(val, cm);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>   }<a name="line.433"></a>
+<span class="sourceLineNo">434</span><a name="line.434"></a>
+<span class="sourceLineNo">435</span>   /* Workhorse method */<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   @SuppressWarnings("rawtypes")<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   private &lt;T&gt; T parseAll(String name, ClassMeta&lt;T&gt; cm) throws ParseException {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>      String[] p = get(name);<a name="line.438"></a>
+<span class="sourceLineNo">439</span>      if (p == null)<a name="line.439"></a>
+<span class="sourceLineNo">440</span>         return null;<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      if (cm.isArray()) {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>         List c = new ArrayList();<a name="line.442"></a>
+<span class="sourceLineNo">443</span>         for (int i = 0; i &lt; p.length; i++)<a name="line.443"></a>
+<span class="sourceLineNo">444</span>            c.add(parseValue(p[i], cm.getElementType()));<a name="line.444"></a>
+<span class="sourceLineNo">445</span>         return (T)toArray(c, cm.getElementType().getInnerClass());<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      } else if (cm.isCollection()) {<a name="line.446"></a>
+<span class="sourceLineNo">447</span>         try {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>            Collection c = (Collect

<TRUNCATED>


[14/23] incubator-juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/03d6af50/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocSerializerContext.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocSerializerContext.html b/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocSerializerContext.html
index 4940d59..0b87a47 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocSerializerContext.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/html/HtmlDocSerializerContext.html
@@ -20,630 +20,652 @@
 <span class="sourceLineNo">012</span>// ***************************************************************************************************************************<a name="line.12"></a>
 <span class="sourceLineNo">013</span>package org.apache.juneau.html;<a name="line.13"></a>
 <span class="sourceLineNo">014</span><a name="line.14"></a>
-<span class="sourceLineNo">015</span>import java.util.*;<a name="line.15"></a>
+<span class="sourceLineNo">015</span>import org.apache.juneau.*;<a name="line.15"></a>
 <span class="sourceLineNo">016</span><a name="line.16"></a>
-<span class="sourceLineNo">017</span>import org.apache.juneau.*;<a name="line.17"></a>
-<span class="sourceLineNo">018</span><a name="line.18"></a>
-<span class="sourceLineNo">019</span>/**<a name="line.19"></a>
-<span class="sourceLineNo">020</span> * Properties associated with the {@link HtmlDocSerializer} class.<a name="line.20"></a>
-<span class="sourceLineNo">021</span> *<a name="line.21"></a>
-<span class="sourceLineNo">022</span> * &lt;p&gt;<a name="line.22"></a>
-<span class="sourceLineNo">023</span> * These are typically specified via &lt;ja&gt;@RestResource.properties()&lt;/ja&gt; and &lt;ja&gt;@RestMethod.properties()&lt;/ja&gt;<a name="line.23"></a>
-<span class="sourceLineNo">024</span> * annotations, although they can also be set programmatically via the &lt;code&gt;RestResponse.setProperty()&lt;/code&gt; method.<a name="line.24"></a>
-<span class="sourceLineNo">025</span> *<a name="line.25"></a>
-<span class="sourceLineNo">026</span> * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.26"></a>
-<span class="sourceLineNo">027</span> * &lt;p class='bcode'&gt;<a name="line.27"></a>
-<span class="sourceLineNo">028</span> *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.28"></a>
-<span class="sourceLineNo">029</span> *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.29"></a>
-<span class="sourceLineNo">030</span> *       properties={<a name="line.30"></a>
-<span class="sourceLineNo">031</span> *          &lt;ja&gt;@Property&lt;/ja&gt;(name=HtmlDocSerializerContext.&lt;jsf&gt;HTMLDOC_title&lt;/jsf&gt;, value=&lt;js&gt;"$L{title}"&lt;/js&gt;),<a name="line.31"></a>
-<span class="sourceLineNo">032</span> *          &lt;ja&gt;@Property&lt;/ja&gt;(name=HtmlDocSerializerContext.&lt;jsf&gt;HTMLDOC_description&lt;/jsf&gt;, value=&lt;js&gt;"$L{description}"&lt;/js&gt;),<a name="line.32"></a>
-<span class="sourceLineNo">033</span> *          &lt;ja&gt;@Property&lt;/ja&gt;(name=HtmlDocSerializerContext.&lt;jsf&gt;HTMLDOC_links&lt;/jsf&gt;, value=&lt;js&gt;"{options:'?method=OPTIONS',doc:'doc'}"&lt;/js&gt;)<a name="line.33"></a>
-<span class="sourceLineNo">034</span> *       }<a name="line.34"></a>
-<span class="sourceLineNo">035</span> *    )<a name="line.35"></a>
-<span class="sourceLineNo">036</span> *    &lt;jk&gt;public class&lt;/jk&gt; AddressBookResource &lt;jk&gt;extends&lt;/jk&gt; RestServletJenaDefault {<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * &lt;/p&gt;<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * &lt;p&gt;<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * Note that shortcut annotations are also provided for these particular settings:<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * &lt;p class='bcode'&gt;<a name="line.41"></a>
-<span class="sourceLineNo">042</span> *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.42"></a>
-<span class="sourceLineNo">043</span> *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.43"></a>
-<span class="sourceLineNo">044</span> *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.44"></a>
-<span class="sourceLineNo">045</span> *          title=&lt;js&gt;"$L{title}"&lt;/js&gt;,<a name="line.45"></a>
-<span class="sourceLineNo">046</span> *          description=&lt;js&gt;"$L{description}"&lt;/js&gt;,<a name="line.46"></a>
-<span class="sourceLineNo">047</span> *          links=&lt;js&gt;"{options:'?method=OPTIONS',doc:'doc'}"&lt;/js&gt;<a name="line.47"></a>
-<span class="sourceLineNo">048</span> *       )<a name="line.48"></a>
-<span class="sourceLineNo">049</span> *    )<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * &lt;/p&gt;<a name="line.50"></a>
-<span class="sourceLineNo">051</span> *<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * &lt;p&gt;<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * The &lt;code&gt;$L{...}&lt;/code&gt; variable represent localized strings pulled from the resource bundle identified by the<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * &lt;code&gt;messages&lt;/code&gt; annotation.<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * These variables are replaced at runtime based on the HTTP request locale.<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * Several built-in runtime variable types are defined, and the API can be extended to include user-defined variables.<a name="line.56"></a>
-<span class="sourceLineNo">057</span> *<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * &lt;h6 class='topic'&gt;Inherited configurable properties&lt;/h6&gt;<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * &lt;ul class='doctree'&gt;<a name="line.59"></a>
-<span class="sourceLineNo">060</span> *    &lt;li class='jc'&gt;<a name="line.60"></a>
-<span class="sourceLineNo">061</span> *       &lt;a class="doclink" href="../BeanContext.html#ConfigProperties"&gt;BeanContext&lt;/a&gt;<a name="line.61"></a>
-<span class="sourceLineNo">062</span> *       - Properties associated with handling beans on serializers and parsers.<a name="line.62"></a>
-<span class="sourceLineNo">063</span> *       &lt;ul&gt;<a name="line.63"></a>
-<span class="sourceLineNo">064</span> *          &lt;li class='jc'&gt;<a name="line.64"></a>
-<span class="sourceLineNo">065</span> *             &lt;a class="doclink" href="../serializer/SerializerContext.html#ConfigProperties"&gt;SerializerContext&lt;/a&gt;<a name="line.65"></a>
-<span class="sourceLineNo">066</span> *             - Configurable properties common to all serializers.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> *             &lt;ul&gt;<a name="line.67"></a>
-<span class="sourceLineNo">068</span> *                &lt;li class='jc'&gt;<a name="line.68"></a>
-<span class="sourceLineNo">069</span> *                   &lt;a class="doclink" href="../html/HtmlSerializerContext.html#ConfigProperties"&gt;HtmlSerializerContext&lt;/a&gt;<a name="line.69"></a>
-<span class="sourceLineNo">070</span> *                   - Configurable properties on the HTML serializer.<a name="line.70"></a>
-<span class="sourceLineNo">071</span> *             &lt;/ul&gt;<a name="line.71"></a>
-<span class="sourceLineNo">072</span> *          &lt;/li&gt;<a name="line.72"></a>
-<span class="sourceLineNo">073</span> *       &lt;/ul&gt;<a name="line.73"></a>
-<span class="sourceLineNo">074</span> *    &lt;/li&gt;<a name="line.74"></a>
-<span class="sourceLineNo">075</span> * &lt;/ul&gt;<a name="line.75"></a>
-<span class="sourceLineNo">076</span> */<a name="line.76"></a>
-<span class="sourceLineNo">077</span>public final class HtmlDocSerializerContext extends HtmlSerializerContext {<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>   /**<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Page title.<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    *<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    * &lt;ul&gt;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlSerializer.title"&lt;/js&gt;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;null&lt;/jk&gt;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    * &lt;/ul&gt;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    *<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    * &lt;p&gt;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    * Specifies the text for the title that shows up in the header section of the page generated by the basic template.<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    *<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    * &lt;p&gt;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    * The &lt;code&gt;AddressBookResource&lt;/code&gt; sample class uses this property...<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    * &lt;p class='bcode'&gt;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    *       properties={<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    *          &lt;ja&gt;@Property&lt;/ja&gt;(name=HtmlDocSerializerContext.&lt;jsf&gt;HTMLDOC_title&lt;/jsf&gt;, value=&lt;js&gt;"$L{title}"&lt;/js&gt;)<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    *       }<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    *    )<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    *    &lt;jk&gt;public class&lt;/jk&gt; AddressBookResource &lt;jk&gt;extends&lt;/jk&gt; RestServletJenaDefault {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    * &lt;/p&gt;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    *<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    * &lt;p&gt;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    *    ...with this property in &lt;code&gt;AddressBookResource.properties&lt;/code&gt;...<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    * &lt;p class='bcode'&gt;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    *    title = &lt;js&gt;AddressBook sample resource&lt;/js&gt;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    * &lt;/p&gt;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    * &lt;p&gt;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    *    ...to produce this title on the HTML page...<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    * &lt;img class='bordered' src='doc-files/HTML_TITLE.png'&gt;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    *<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    * &lt;p&gt;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    * Shortcuts on &lt;ja&gt;@RestResource&lt;/ja&gt; are also provided for this setting:<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    * &lt;p class='bcode'&gt;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    *    &lt;jc&gt;// Example if you want the swagger doc and HTML doc to share the same title.&lt;/jc&gt;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    *       title=&lt;js&gt;"My title"&lt;/js&gt;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    *    )<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    *<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    *    &lt;jc&gt;// Example if you want the swagger doc and HTML doc to share the same title.&lt;/jc&gt;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    *       title=&lt;js&gt;"My title in Swagger"&lt;/js&gt;,<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    *          title=&lt;js&gt;"My title in HTML"&lt;/js&gt;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    *       )<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    *    )<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    * &lt;/p&gt;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    *<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    * &lt;p&gt;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to represent no value to differentiate it from an empty string.<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    */<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   public static final String HTMLDOC_title = "HtmlSerializer.title";<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span>   /**<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Page description.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    *<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    * &lt;ul&gt;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlSerializer.description"&lt;/js&gt;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;null&lt;/jk&gt;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    * &lt;/ul&gt;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    *<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    * &lt;p&gt;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    * Specifies the text for the subtitle that shows up in the header section of the page generated by the basic<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    * template.<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    *<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    * &lt;p&gt;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    * The &lt;code&gt;AddressBookResource&lt;/code&gt; sample class uses this property...<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    * &lt;/p&gt;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    * &lt;p class='bcode'&gt;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    *       properties={<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    *          &lt;ja&gt;@Property&lt;/ja&gt;(name=HtmlDocSerializerContext.&lt;jsf&gt;HTMLDOC_description&lt;/jsf&gt;,<a name="line.160"></a>
-<span class="sourceLineNo">161</span>                  alue=&lt;js&gt;"My description"&lt;/js&gt;)<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    *       }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    *    )<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    *    &lt;jk&gt;public class&lt;/jk&gt; AddressBookResource &lt;jk&gt;extends&lt;/jk&gt; RestServletJenaDefault {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    * &lt;/p&gt;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    *<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    * &lt;p&gt;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    *    ...with this property in &lt;code&gt;AddressBookResource.properties&lt;/code&gt;...<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    * &lt;p class='bcode'&gt;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    *    description = &lt;js&gt;Simple address book POJO sample resource&lt;/js&gt;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    * &lt;/p&gt;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    *<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    * &lt;p&gt;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    *    ...to produce this description on the HTML page...<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    * &lt;img class='bordered' src='doc-files/HTML_DESCRIPTION.png'&gt;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    *<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    * &lt;p&gt;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    * Shortcuts on &lt;ja&gt;@RestResource&lt;/ja&gt; are also provided for this setting:<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    * &lt;p class='bcode'&gt;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    *    &lt;jc&gt;// Example if you want the swagger doc and HTML doc to share the same description.&lt;/jc&gt;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    *       description=&lt;js&gt;"My description"&lt;/js&gt;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    *    )<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    *<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    *    &lt;jc&gt;// Example if you want the swagger doc and HTML doc to share the same description.&lt;/jc&gt;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    *       description=&lt;js&gt;"My description in Swagger"&lt;/js&gt;,<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    *          description=&lt;js&gt;"My description in HTML"&lt;/js&gt;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    *       )<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    *    )<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    * &lt;/p&gt;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    *<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    * &lt;p&gt;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to represent no value to differentiate it from an empty string.<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    */<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   public static final String HTMLDOC_description = "HtmlSerializer.description";<a name="line.199"></a>
-<span class="sourceLineNo">200</span><a name="line.200"></a>
-<span class="sourceLineNo">201</span>   /**<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Page branding.<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    *<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    * &lt;ul&gt;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlSerializer.branding"&lt;/js&gt;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;null&lt;/jk&gt;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    * &lt;/ul&gt;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    *<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    * &lt;p&gt;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    * Specifies arbitrary HTML for the header that can be used for adding custom branding to the page generated by the<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    * basic template.<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    *<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    * &lt;p&gt;<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to represent no value to differentiate it from an empty string.<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   public static final String HTMLDOC_branding = "HtmlSerializer.branding";<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>   /**<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Header section contents.<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    *<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    * &lt;ul&gt;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlDocSerializer.header"&lt;/js&gt;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;null&lt;/jk&gt;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    * &lt;/ul&gt;<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    *<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    * &lt;p&gt;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    * Allows you to override the contents of the header section on the HTML page.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    * The header section normally contains the title and description at the top of the page.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    *<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    * &lt;p class='bcode'&gt;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    *          nav=&lt;js&gt;"&amp;lt;p class='special-navigation'&amp;gt;This is my special navigation content&amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    *       )<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    *    )<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    * &lt;/p&gt;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    *<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    * &lt;p&gt;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    * When this property is specified, the {@link #HTMLDOC_title} and {@link #HTMLDOC_description} properties are<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    * ignored.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    *<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    * &lt;p&gt;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to represent no value to differentiate it from an empty string.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    */<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   public static final String HTMLDOC_header = "HtmlDocSerializer.header";<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>   /**<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Page links.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    *<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    * &lt;ul&gt;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlDocSerializer.links.map"&lt;/js&gt;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;Map&amp;lt;String,String&amp;gt;&lt;/code&gt;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; empty map<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    * &lt;/ul&gt;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    *<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    * &lt;p&gt;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    * Adds a list of hyperlinks immediately under the title and description but above the content of the page.<a name="line.263"></a>
+<span class="sourceLineNo">017</span>/**<a name="line.17"></a>
+<span class="sourceLineNo">018</span> * Properties associated with the {@link HtmlDocSerializer} class.<a name="line.18"></a>
+<span class="sourceLineNo">019</span> *<a name="line.19"></a>
+<span class="sourceLineNo">020</span> * &lt;p&gt;<a name="line.20"></a>
+<span class="sourceLineNo">021</span> * These are typically specified via &lt;ja&gt;@RestResource.properties()&lt;/ja&gt; and &lt;ja&gt;@RestMethod.properties()&lt;/ja&gt;<a name="line.21"></a>
+<span class="sourceLineNo">022</span> * annotations, although they can also be set programmatically via the &lt;code&gt;RestResponse.setProperty()&lt;/code&gt; method.<a name="line.22"></a>
+<span class="sourceLineNo">023</span> *<a name="line.23"></a>
+<span class="sourceLineNo">024</span> * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;p class='bcode'&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.26"></a>
+<span class="sourceLineNo">027</span> *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.27"></a>
+<span class="sourceLineNo">028</span> *       properties={<a name="line.28"></a>
+<span class="sourceLineNo">029</span> *          &lt;ja&gt;@Property&lt;/ja&gt;(name=HtmlDocSerializerContext.&lt;jsf&gt;HTMLDOC_title&lt;/jsf&gt;, value=&lt;js&gt;"$L{title}"&lt;/js&gt;),<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *          &lt;ja&gt;@Property&lt;/ja&gt;(name=HtmlDocSerializerContext.&lt;jsf&gt;HTMLDOC_description&lt;/jsf&gt;, value=&lt;js&gt;"$L{description}"&lt;/js&gt;),<a name="line.30"></a>
+<span class="sourceLineNo">031</span> *          &lt;ja&gt;@Property&lt;/ja&gt;(name=HtmlDocSerializerContext.&lt;jsf&gt;HTMLDOC_links&lt;/jsf&gt;, value=&lt;js&gt;"{options:'?method=OPTIONS',doc:'doc'}"&lt;/js&gt;)<a name="line.31"></a>
+<span class="sourceLineNo">032</span> *       }<a name="line.32"></a>
+<span class="sourceLineNo">033</span> *    )<a name="line.33"></a>
+<span class="sourceLineNo">034</span> *    &lt;jk&gt;public class&lt;/jk&gt; AddressBookResource &lt;jk&gt;extends&lt;/jk&gt; RestServletJenaDefault {<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * &lt;/p&gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * &lt;p&gt;<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * Note that shortcut annotations are also provided for these particular settings:<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * &lt;p class='bcode'&gt;<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.40"></a>
+<span class="sourceLineNo">041</span> *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.42"></a>
+<span class="sourceLineNo">043</span> *          title=&lt;js&gt;"$L{title}"&lt;/js&gt;,<a name="line.43"></a>
+<span class="sourceLineNo">044</span> *          description=&lt;js&gt;"$L{description}"&lt;/js&gt;,<a name="line.44"></a>
+<span class="sourceLineNo">045</span> *          links={<a name="line.45"></a>
+<span class="sourceLineNo">046</span> *             &lt;js&gt;"options: ?method=OPTIONS"&lt;/js&gt;,<a name="line.46"></a>
+<span class="sourceLineNo">047</span> *             &lt;js&gt;"doc: doc"&lt;/js&gt;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> *          }<a name="line.48"></a>
+<span class="sourceLineNo">049</span> *       )<a name="line.49"></a>
+<span class="sourceLineNo">050</span> *    )<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * &lt;/p&gt;<a name="line.51"></a>
+<span class="sourceLineNo">052</span> *<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * &lt;p&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * The &lt;code&gt;$L{...}&lt;/code&gt; variable represent localized strings pulled from the resource bundle identified by the<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * &lt;code&gt;messages&lt;/code&gt; annotation.<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * These variables are replaced at runtime based on the HTTP request locale.<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * Several built-in runtime variable types are defined, and the API can be extended to include user-defined variables.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> *<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * &lt;h6 class='topic'&gt;Inherited configurable properties&lt;/h6&gt;<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * &lt;ul class='doctree'&gt;<a name="line.60"></a>
+<span class="sourceLineNo">061</span> *    &lt;li class='jc'&gt;<a name="line.61"></a>
+<span class="sourceLineNo">062</span> *       &lt;a class="doclink" href="../BeanContext.html#ConfigProperties"&gt;BeanContext&lt;/a&gt;<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *       - Properties associated with handling beans on serializers and parsers.<a name="line.63"></a>
+<span class="sourceLineNo">064</span> *       &lt;ul&gt;<a name="line.64"></a>
+<span class="sourceLineNo">065</span> *          &lt;li class='jc'&gt;<a name="line.65"></a>
+<span class="sourceLineNo">066</span> *             &lt;a class="doclink" href="../serializer/SerializerContext.html#ConfigProperties"&gt;SerializerContext&lt;/a&gt;<a name="line.66"></a>
+<span class="sourceLineNo">067</span> *             - Configurable properties common to all serializers.<a name="line.67"></a>
+<span class="sourceLineNo">068</span> *             &lt;ul&gt;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> *                &lt;li class='jc'&gt;<a name="line.69"></a>
+<span class="sourceLineNo">070</span> *                   &lt;a class="doclink" href="../html/HtmlSerializerContext.html#ConfigProperties"&gt;HtmlSerializerContext&lt;/a&gt;<a name="line.70"></a>
+<span class="sourceLineNo">071</span> *                   - Configurable properties on the HTML serializer.<a name="line.71"></a>
+<span class="sourceLineNo">072</span> *             &lt;/ul&gt;<a name="line.72"></a>
+<span class="sourceLineNo">073</span> *          &lt;/li&gt;<a name="line.73"></a>
+<span class="sourceLineNo">074</span> *       &lt;/ul&gt;<a name="line.74"></a>
+<span class="sourceLineNo">075</span> *    &lt;/li&gt;<a name="line.75"></a>
+<span class="sourceLineNo">076</span> * &lt;/ul&gt;<a name="line.76"></a>
+<span class="sourceLineNo">077</span> */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>public final class HtmlDocSerializerContext extends HtmlSerializerContext {<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>   /**<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Page title.<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    *<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    * &lt;ul&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlSerializer.title"&lt;/js&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;null&lt;/jk&gt;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    * &lt;/ul&gt;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    *<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    * &lt;p&gt;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    * Specifies the text for the title that shows up in the header section of the page generated by the basic template.<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    *<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    * &lt;p&gt;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    * The &lt;code&gt;AddressBookResource&lt;/code&gt; sample class uses this property...<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    * &lt;p class='bcode'&gt;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    *       properties={<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    *          &lt;ja&gt;@Property&lt;/ja&gt;(name=HtmlDocSerializerContext.&lt;jsf&gt;HTMLDOC_title&lt;/jsf&gt;, value=&lt;js&gt;"$L{title}"&lt;/js&gt;)<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    *       }<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    *    )<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    *    &lt;jk&gt;public class&lt;/jk&gt; AddressBookResource &lt;jk&gt;extends&lt;/jk&gt; RestServletJenaDefault {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    * &lt;/p&gt;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    *<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    * &lt;p&gt;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    *    ...with this property in &lt;code&gt;AddressBookResource.properties&lt;/code&gt;...<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    * &lt;p class='bcode'&gt;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    *    title = &lt;js&gt;AddressBook sample resource&lt;/js&gt;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    * &lt;/p&gt;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    * &lt;p&gt;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    *    ...to produce this title on the HTML page...<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    * &lt;img class='bordered' src='doc-files/HTML_TITLE.png'&gt;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    *<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    * &lt;p&gt;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    * Shortcuts on &lt;ja&gt;@RestResource&lt;/ja&gt; are also provided for this setting:<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    * &lt;p class='bcode'&gt;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    *    &lt;jc&gt;// Example if you want the swagger doc and HTML doc to share the same title.&lt;/jc&gt;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    *       title=&lt;js&gt;"My title"&lt;/js&gt;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    *    )<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    *<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    *    &lt;jc&gt;// Example if you want the swagger doc and HTML doc to share the same title.&lt;/jc&gt;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    *       title=&lt;js&gt;"My title in Swagger"&lt;/js&gt;,<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    *          title=&lt;js&gt;"My title in HTML"&lt;/js&gt;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    *       )<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    *    )<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    * &lt;/p&gt;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    *<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    * &lt;p&gt;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to represent no value to differentiate it from an empty string.<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   public static final String HTMLDOC_title = "HtmlSerializer.title";<a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>   /**<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Page description.<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    *<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    * &lt;ul&gt;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlSerializer.description"&lt;/js&gt;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;null&lt;/jk&gt;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    * &lt;/ul&gt;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    *<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    * &lt;p&gt;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    * Specifies the text for the subtitle that shows up in the header section of the page generated by the basic<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    * template.<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    *<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    * &lt;p&gt;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    * The &lt;code&gt;AddressBookResource&lt;/code&gt; sample class uses this property...<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    * &lt;/p&gt;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    * &lt;p class='bcode'&gt;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    *       properties={<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    *          &lt;ja&gt;@Property&lt;/ja&gt;(name=HtmlDocSerializerContext.&lt;jsf&gt;HTMLDOC_description&lt;/jsf&gt;,<a name="line.161"></a>
+<span class="sourceLineNo">162</span>                  alue=&lt;js&gt;"My description"&lt;/js&gt;)<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    *       }<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    *    )<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    *    &lt;jk&gt;public class&lt;/jk&gt; AddressBookResource &lt;jk&gt;extends&lt;/jk&gt; RestServletJenaDefault {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    * &lt;/p&gt;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    *<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    * &lt;p&gt;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    *    ...with this property in &lt;code&gt;AddressBookResource.properties&lt;/code&gt;...<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    * &lt;p class='bcode'&gt;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    *    description = &lt;js&gt;Simple address book POJO sample resource&lt;/js&gt;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    * &lt;/p&gt;<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>    *    ...to produce this description on the HTML page...<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    * &lt;img class='bordered' src='doc-files/HTML_DESCRIPTION.png'&gt;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    *<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    * &lt;p&gt;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    * Shortcuts on &lt;ja&gt;@RestResource&lt;/ja&gt; are also provided for this setting:<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    * &lt;p class='bcode'&gt;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    *    &lt;jc&gt;// Example if you want the swagger doc and HTML doc to share the same description.&lt;/jc&gt;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    *       description=&lt;js&gt;"My description"&lt;/js&gt;<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>    *    &lt;jc&gt;// Example if you want the swagger doc and HTML doc to share the same description.&lt;/jc&gt;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    *       messages=&lt;js&gt;"nls/AddressBookResource"&lt;/js&gt;,<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    *       description=&lt;js&gt;"My description in Swagger"&lt;/js&gt;,<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    *          description=&lt;js&gt;"My description in HTML"&lt;/js&gt;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    *       )<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    *    )<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    * &lt;/p&gt;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    *<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    * &lt;p&gt;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to represent no value to differentiate it from an empty string.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    */<a name="line.199"></a>
+<span class="sourceLineNo">200</span>   public static final String HTMLDOC_description = "HtmlSerializer.description";<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>   /**<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Page branding.<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    *<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    * &lt;ul&gt;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlSerializer.branding"&lt;/js&gt;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;null&lt;/jk&gt;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    * &lt;/ul&gt;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    *<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    * &lt;p&gt;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    * Specifies arbitrary HTML for the header that can be used for adding custom branding to the page generated by the<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    * basic template.<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    *<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    * &lt;p&gt;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to represent no value to differentiate it from an empty string.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   public static final String HTMLDOC_branding = "HtmlSerializer.branding";<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>   /**<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Header section contents.<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    *<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    * &lt;ul&gt;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlDocSerializer.header"&lt;/js&gt;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;null&lt;/jk&gt;<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    * &lt;/ul&gt;<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    *<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    * &lt;p&gt;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    * Allows you to override the contents of the header section on the HTML page.<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    * The header section normally contains the title and description at the top of the page.<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    *<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    * &lt;p class='bcode'&gt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    *          header={<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    *             &lt;js&gt;"&amp;lt;h1&amp;gt;My own header&amp;lt;/h1&amp;gt;"&lt;/js&gt;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    *          }<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    *       )<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    *    )<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    * &lt;/p&gt;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    *<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    * &lt;p&gt;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    * When this property is specified, the {@link #HTMLDOC_title} and {@link #HTMLDOC_description} properties are<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    * ignored.<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    *<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    * &lt;p&gt;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to represent no value to differentiate it from an empty string.<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   public static final String HTMLDOC_header = "HtmlDocSerializer.header";<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>   /**<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Page links.<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    *<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    * &lt;ul&gt;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlDocSerializer.links.list"&lt;/js&gt;<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String[]&lt;/code&gt;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; empty array<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    * &lt;/ul&gt;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>    *<a name="line.264"></a>
 <span class="sourceLineNo">265</span>    * &lt;p&gt;<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    * This can be used to provide convenient hyperlinks when viewing the REST interface from a browser.<a name="line.266"></a>
+<span class="sourceLineNo">266</span>    * Adds a list of hyperlinks immediately under the title and description but above the content of the page.<a name="line.266"></a>
 <span class="sourceLineNo">267</span>    *<a name="line.267"></a>
 <span class="sourceLineNo">268</span>    * &lt;p&gt;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    * The value is a JSON object string where the keys are anchor text and the values are URLs.<a name="line.269"></a>
+<span class="sourceLineNo">269</span>    * This can be used to provide convenient hyperlinks when viewing the REST interface from a browser.<a name="line.269"></a>
 <span class="sourceLineNo">270</span>    *<a name="line.270"></a>
 <span class="sourceLineNo">271</span>    * &lt;p&gt;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    * Relative URLs are considered relative to the servlet path.<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    * For example, if the servlet path is &lt;js&gt;"http://localhost/myContext/myServlet"&lt;/js&gt;, and the<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    * URL is &lt;js&gt;"foo"&lt;/js&gt;, the link becomes &lt;js&gt;"http://localhost/myContext/myServlet/foo"&lt;/js&gt;.<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    * Absolute (&lt;js&gt;"/myOtherContext/foo"&lt;/js&gt;) and fully-qualified (&lt;js&gt;"http://localhost2/foo"&lt;/js&gt;) URLs<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    * can also be used in addition to various other protocols specified by {@link UriResolver} such as<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    * &lt;js&gt;"servlet:/..."&lt;/js&gt;.<a name="line.277"></a>
+<span class="sourceLineNo">272</span>    * The value is an array of strings with two possible values:<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    * &lt;ul&gt;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    *    &lt;li&gt;A key-value pair representing a hyperlink label and href:<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    *       &lt;br&gt;&lt;js&gt;"google: http://google.com"&lt;/js&gt;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    *    &lt;li&gt;Arbitrary HTML.<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    * &lt;/ul&gt;<a name="line.277"></a>
 <span class="sourceLineNo">278</span>    *<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    * &lt;p&gt;<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    * The &lt;code&gt;AddressBookResource&lt;/code&gt; sample class uses this property...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    * &lt;p class='bcode'&gt;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    *       properties={<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    *          &lt;ja&gt;@Property&lt;/ja&gt;(name=HtmlDocSerializerContext.&lt;jsf&gt;HTMLDOC_links&lt;/jsf&gt;,<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    *             value=&lt;js&gt;"{options:'?method=OPTIONS',doc:'doc'}"&lt;/js&gt;)<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    *       }<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    *    )<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    *    &lt;jk&gt;public class&lt;/jk&gt; AddressBookResource &lt;jk&gt;extends&lt;/jk&gt; RestServletJenaDefault {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    * &lt;/p&gt;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    *<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    * &lt;p&gt;<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    *    ...to produce this list of links on the HTML page...<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    * &lt;img class='bordered' src='doc-files/HTML_LINKS.png'&gt;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    *<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    * &lt;p&gt;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    * A shortcut on &lt;ja&gt;@RestResource&lt;/ja&gt; is also provided for this setting:<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    * &lt;p class='bcode'&gt;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    *       htmldoc=@HtmlDoc(<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    *          links=&lt;js&gt;"{options:'?method=OPTIONS',doc:'doc'}"&lt;/js&gt;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    *       )<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    *    )<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    *    &lt;jk&gt;public class&lt;/jk&gt; AddressBookResource &lt;jk&gt;extends&lt;/jk&gt; RestServletJenaDefault {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    * &lt;/p&gt;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    *<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    * &lt;p&gt;<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    * Values that start with &lt;js&gt;'&amp;lt;'&lt;/js&gt; are assumed to be HTML and rendered as-is.<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    */<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   public static final String HTMLDOC_links = "HtmlDocSerializer.links.map";<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>   /**<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Add to the {@link #HTMLDOC_links} property.<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    */<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   public static final String HTMLDOC_links_put = "HtmlDocSerializer.links.map.put";<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>   /**<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Nav section contents.<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    *<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    * &lt;ul&gt;<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlDocSerializer.nav"&lt;/js&gt;<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;null&lt;/jk&gt;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    * &lt;/ul&gt;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    *<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    * &lt;p&gt;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    * Allows you to override the contents of the nav section on the HTML page.<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    * The nav section normally contains the page links at the top of the page.<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    *<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    * &lt;p class='bcode'&gt;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    *          nav=&lt;js&gt;"&amp;lt;p class='special-navigation'&amp;gt;This is my special navigation content&amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    *       )<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    *    )<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    * &lt;/p&gt;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    *<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    * &lt;p&gt;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    * When this property is specified, the {@link #HTMLDOC_links} property is ignored.<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    *<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    * &lt;p&gt;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to represent no value to differentiate it from an empty string.<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    */<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   public static final String HTMLDOC_nav = "HtmlDocSerializer.nav";<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>   /**<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Aside section contents.<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    *<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    * &lt;ul&gt;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlDocSerializer.aside"&lt;/js&gt;<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;null&lt;/jk&gt;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    * &lt;/ul&gt;<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    *<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    * &lt;p&gt;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    * Allows you to specify the contents of the aside section on the HTML page.<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    * The aside section floats on the right of the page for providing content supporting the serialized content of<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    * the page.<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    *<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    * &lt;p&gt;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    * By default, the aside section is empty.<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    *<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    * &lt;p class='bcode'&gt;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    *          aside=&lt;js&gt;"&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Item 1&amp;lt;li&amp;gt;Item 2&amp;lt;li&amp;gt;Item 3&amp;lt;/ul&amp;gt;"&lt;/js&gt;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    *       )<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    *    )<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    * &lt;/p&gt;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    *<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    * &lt;p&gt;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to represent no value to differentiate it from an empty string.<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    */<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   public static final String HTMLDOC_aside = "HtmlDocSerializer.aside";<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>   /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Footer section contents.<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    *<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    * &lt;ul&gt;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlDocSerializer.footer"&lt;/js&gt;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;null&lt;/jk&gt;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    * &lt;/ul&gt;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    *<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    * &lt;p&gt;<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    * Allows you to specify the contents of the footer section on the HTML page.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    *<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    * &lt;p&gt;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    * By default, the footer section is empty.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    *<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    * &lt;p class='bcode'&gt;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    *          footer=&lt;js&gt;"&amp;lt;b&amp;gt;This interface is great!&amp;lt;/b&amp;gt;"&lt;/js&gt;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    *       )<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    *    )<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    * &lt;/p&gt;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    *<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    * &lt;p&gt;<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to represent no value to differentiate it from an empty string.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    */<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   public static final String HTMLDOC_footer = "HtmlDocSerializer.footer";<a name="line.408"></a>
-<span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>   /**<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  No-results message.<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    *<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    * &lt;ul&gt;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlDocSerializer.noResultsMessage"&lt;/js&gt;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;js&gt;"&amp;lt;p&amp;gt;no results&amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    * &lt;/ul&gt;<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    *<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    * &lt;p&gt;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    * Allows you to specify the string message used when trying to serialize an empty array or empty list.<a name="line.421"></a>
+<span class="sourceLineNo">279</span>    * &lt;p&gt;<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    * Relative URLs are considered relative to the servlet path.<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    * For example, if the servlet path is &lt;js&gt;"http://localhost/myContext/myServlet"&lt;/js&gt;, and the<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    * URL is &lt;js&gt;"foo"&lt;/js&gt;, the link becomes &lt;js&gt;"http://localhost/myContext/myServlet/foo"&lt;/js&gt;.<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    * Absolute (&lt;js&gt;"/myOtherContext/foo"&lt;/js&gt;) and fully-qualified (&lt;js&gt;"http://localhost2/foo"&lt;/js&gt;) URLs<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    * can also be used in addition to various other protocols specified by {@link UriResolver} such as<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    * &lt;js&gt;"servlet:/..."&lt;/js&gt;.<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    *<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    * &lt;p&gt;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    * The &lt;code&gt;AddressBookResource&lt;/code&gt; sample class uses this property...<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    * &lt;p class='bcode'&gt;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    *       properties={<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    *          &lt;ja&gt;@Property&lt;/ja&gt;(name=HtmlDocSerializerContext.&lt;jsf&gt;HTMLDOC_links&lt;/jsf&gt;,<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    *             value=&lt;js&gt;"['options: ?method=OPTIONS', 'doc: doc']"&lt;/js&gt;)<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    *       }<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    *    )<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    *    &lt;jk&gt;public class&lt;/jk&gt; AddressBookResource &lt;jk&gt;extends&lt;/jk&gt; RestServletJenaDefault {<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    * &lt;/p&gt;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    *<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    * &lt;p&gt;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    *    ...to produce this list of links on the HTML page...<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    * &lt;img class='bordered' src='doc-files/HTML_LINKS.png'&gt;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    *<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    * &lt;p&gt;<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    * A shortcut on &lt;ja&gt;@RestResource&lt;/ja&gt; is also provided for this setting:<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    * &lt;p class='bcode'&gt;<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    *       htmldoc=@HtmlDoc(<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    *          links={<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    *             &lt;js&gt;"options: ?method=OPTIONS"&lt;/js&gt;,<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    *             &lt;js&gt;"doc: doc"&lt;/js&gt;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    *          }<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    *       )<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    *    )<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    *    &lt;jk&gt;public class&lt;/jk&gt; AddressBookResource &lt;jk&gt;extends&lt;/jk&gt; RestServletJenaDefault {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    * &lt;/p&gt;<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    */<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   public static final String HTMLDOC_links = "HtmlDocSerializer.links.list";<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>   /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Add to the {@link #HTMLDOC_links} property.<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    */<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   public static final String HTMLDOC_links_add = "HtmlDocSerializer.links.list.add";<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>   /**<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Nav section contents.<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    *<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    * &lt;ul&gt;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlDocSerializer.nav"&lt;/js&gt;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;null&lt;/jk&gt;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    * &lt;/ul&gt;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>    *<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    * &lt;p&gt;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    * Allows you to override the contents of the nav section on the HTML page.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    * The nav section normally contains the page links at the top of the page.<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    *<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    * &lt;p class='bcode'&gt;<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    *          nav={<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    *             &lt;js&gt;"&amp;lt;p class='special-navigation'&amp;gt;This is my special navigation content&amp;lt;/p&amp;gt;"&lt;/js&gt;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    *          }<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    *       )<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    *    )<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    * &lt;/p&gt;<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    *<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    * &lt;p&gt;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    * When this property is specified, the {@link #HTMLDOC_links} property is ignored.<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    *<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    * &lt;p&gt;<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to represent no value to differentiate it from an empty string.<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    */<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   public static final String HTMLDOC_nav = "HtmlDocSerializer.nav";<a name="line.356"></a>
+<span class="sourceLineNo">357</span><a name="line.357"></a>
+<span class="sourceLineNo">358</span>   /**<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Aside section contents.<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    *<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    * &lt;ul&gt;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlDocSerializer.aside"&lt;/js&gt;<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;null&lt;/jk&gt;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    * &lt;/ul&gt;<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    *<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    * &lt;p&gt;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    * Allows you to specify the contents of the aside section on the HTML page.<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    * The aside section floats on the right of the page for providing content supporting the serialized content of<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    * the page.<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    *<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    * &lt;p&gt;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    * By default, the aside section is empty.<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    *<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    * &lt;p class='bcode'&gt;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    *          aside={<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    *             &lt;js&gt;"&amp;lt;ul&amp;gt;"&lt;/js&gt;,<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    *             &lt;js&gt;" &amp;lt;li&amp;gt;Item 1"&lt;/js&gt;,<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    *             &lt;js&gt;" &amp;lt;li&amp;gt;Item 2"&lt;/js&gt;,<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    *             &lt;js&gt;" &amp;lt;li&amp;gt;Item 3"&lt;/js&gt;,<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    *             &lt;js&gt;"&amp;lt;/ul&amp;gt;"&lt;/js&gt;<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    *          }<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    *       )<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    *    )<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    * &lt;/p&gt;<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    *<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    * &lt;p&gt;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to represent no value to differentiate it from an empty string.<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    */<a name="line.393"></a>
+<span class="sourceLineNo">394</span>   public static final String HTMLDOC_aside = "HtmlDocSerializer.aside";<a name="line.394"></a>
+<span class="sourceLineNo">395</span><a name="line.395"></a>
+<span class="sourceLineNo">396</span>   /**<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Footer section contents.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    *<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    * &lt;ul&gt;<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlDocSerializer.footer"&lt;/js&gt;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;String&lt;/code&gt;<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;null&lt;/jk&gt;<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    * &lt;/ul&gt;<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    *<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    * &lt;p&gt;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    * Allows you to specify the contents of the footer section on the HTML page.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    *<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    * &lt;p&gt;<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    * By default, the footer section is empty.<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    *<a name="line.411"></a>
+<span class="sourceLineNo">412</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    * &lt;p class='bcode'&gt;<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    *          footer={<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    *             &lt;js&gt;"&amp;lt;b&amp;gt;This interface is great!&amp;lt;/b&amp;gt;"&lt;/js&gt;<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    *          }<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    *       )<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    *    )<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    * &lt;/p&gt;<a name="line.421"></a>
 <span class="sourceLineNo">422</span>    *<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    * &lt;h5 class='section'&gt;Example:&lt;/h5&gt;<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    * &lt;p class='bcode'&gt;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    *    &lt;ja&gt;@RestResource&lt;/ja&gt;(<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    *       htmldoc=&lt;ja&gt;@HtmlDoc&lt;/ja&gt;(<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    *          noResultsMessage=&lt;js&gt;"&amp;lt;b&amp;gt;This interface is great!&amp;lt;/b&amp;gt;"&lt;/js&gt;<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    *       )<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    *    )<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    * &lt;/p&gt;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    *<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    * &lt;p&gt;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    * A value of &lt;js&gt;"NONE"&lt;/js&gt; can be used to represent no value to differentiate it from an empty string.<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    */<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   public static final String HTMLDOC_noResultsMessage = "HtmlDocSerializer.noResultsMessage";<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>   /**<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    * &lt;b&gt;Configuration property:&lt;/b&gt;  Prevent word wrap on page.<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    *<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    * &lt;ul&gt;<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt; &lt;js&gt;"HtmlDocSerializer.nowrap"&lt;/js&gt;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt; &lt;code&gt;Boolean&lt;/code&gt;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt; &lt;jk&gt;false&lt;/jk&gt;<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    *    &lt;li&gt;&lt;b&gt;Session-overridable:&lt;/b&gt; &lt;jk&gt;true&lt;/jk&gt;<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    * &lt;/ul&gt;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    *<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    * &lt;p&gt;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    * Adds &lt;js&gt;"* {white-space:nowrap}"&lt;/js&gt; to the CSS instructions on the page to prevent word wrapping.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    */<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   public static final String HTMLDOC_nowrap = "HtmlDocSerializer.nowrap";<a name="line

<TRUNCATED>