Repository: incubator-juneau-website
Updated Branches:
  refs/heads/asf-site 7176a21a4 -> 9a1c99915


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/9a1c9991
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/tree/9a1c9991
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/diff/9a1c9991

Branch: refs/heads/asf-site
Commit: 9a1c99915229196d7d7db1c0849f4992e9fc2f38
Parents: 7176a21
Author: JamesBognar <[email protected]>
Authored: Tue Jul 11 09:12:33 2017 -0400
Committer: JamesBognar <[email protected]>
Committed: Tue Jul 11 09:12:33 2017 -0400

----------------------------------------------------------------------
 .../juneau/rest/annotation/RestMethod.html      |  34 +-
 .../juneau/rest/annotation/RestMethod.html      | 514 ++++++++++---------
 2 files changed, 284 insertions(+), 264 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/9a1c9991/content/site/apidocs/org/apache/juneau/rest/annotation/RestMethod.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/org/apache/juneau/rest/annotation/RestMethod.html 
b/content/site/apidocs/org/apache/juneau/rest/annotation/RestMethod.html
index 6c462ad..1dc9fb2 100644
--- a/content/site/apidocs/org/apache/juneau/rest/annotation/RestMethod.html
+++ b/content/site/apidocs/org/apache/juneau/rest/annotation/RestMethod.html
@@ -777,7 +777,7 @@ public @interface <a 
href="../../../../../src-html/org/apache/juneau/rest/annota
 <ul class="blockList">
 <li class="blockList">
 <h4>bpi</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/RestMethod.html#line.366">bpi</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/RestMethod.html#line.371">bpi</a></pre>
 <div class="block">Shortcut for specifying the <a 
href="../../../../../org/apache/juneau/BeanContext.html#BEAN_includeProperties"><code>BeanContext.BEAN_includeProperties</code></a>
 property on all serializers.
 
  <p>
@@ -815,7 +815,12 @@ public @interface <a 
href="../../../../../src-html/org/apache/juneau/rest/annota
  <br>Properties apply to specified class and all subclasses.
 
  <p>
- Semicolons can be used as an additional separator for multiple values: 
<code>bpi="Bean1: foo; Bean2: bar,baz"</code></div>
+ Semicolons can be used as an additional separator for multiple values:
+ <p class='bcode'>
+   <jc>// Equivalent</jc>
+   bpi={<js>"Bean1: foo"</js>,<js>"Bean2: bar,baz"</js>}
+   bpi=<js>"Bean1: foo; Bean2: bar,baz"</js>
+ </p></div>
 <dl>
 <dt>Default:</dt>
 <dd>{}</dd>
@@ -831,7 +836,7 @@ public @interface <a 
href="../../../../../src-html/org/apache/juneau/rest/annota
 <ul class="blockList">
 <li class="blockList">
 <h4>bpx</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/RestMethod.html#line.407">bpx</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/RestMethod.html#line.417">bpx</a></pre>
 <div class="block">Shortcut for specifying the <a 
href="../../../../../org/apache/juneau/BeanContext.html#BEAN_excludeProperties"><code>BeanContext.BEAN_excludeProperties</code></a>
 property on all serializers.
 
  <p>
@@ -868,7 +873,12 @@ public @interface <a 
href="../../../../../src-html/org/apache/juneau/rest/annota
  <br>Properties apply to specified class and all subclasses.
 
  <p>
- Semicolons can be used as an additional separator for multiple values: 
<code>bpi="Bean1: foo; Bean2: bar,baz"</code></div>
+ Semicolons can be used as an additional separator for multiple values:
+ <p class='bcode'>
+   <jc>// Equivalent</jc>
+   bpx={<js>"Bean1: foo"</js>,<js>"Bean2: bar,baz"</js>}
+   bpx=<js>"Bean1: foo; Bean2: bar,baz"</js>
+ </p></div>
 <dl>
 <dt>Default:</dt>
 <dd>{}</dd>
@@ -884,7 +894,7 @@ public @interface <a 
href="../../../../../src-html/org/apache/juneau/rest/annota
 <ul class="blockList">
 <li class="blockList">
 <h4>defaultRequestHeaders</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/RestMethod.html#line.441">defaultRequestHeaders</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/RestMethod.html#line.451">defaultRequestHeaders</a></pre>
 <div class="block">Specifies default values for request headers.
 
  <p>
@@ -930,7 +940,7 @@ public @interface <a 
href="../../../../../src-html/org/apache/juneau/rest/annota
 <ul class="blockList">
 <li class="blockList">
 <h4>defaultQuery</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/RestMethod.html#line.464">defaultQuery</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/RestMethod.html#line.474">defaultQuery</a></pre>
 <div class="block">Specifies default values for query parameters.
 
  <p>
@@ -965,7 +975,7 @@ public @interface <a 
href="../../../../../src-html/org/apache/juneau/rest/annota
 <ul class="blockList">
 <li class="blockList">
 <h4>defaultFormData</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/RestMethod.html#line.488">defaultFormData</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/RestMethod.html#line.498">defaultFormData</a></pre>
 <div class="block">Specifies default values for form-data parameters.
 
  <p>
@@ -1001,7 +1011,7 @@ public @interface <a 
href="../../../../../src-html/org/apache/juneau/rest/annota
 <ul class="blockList">
 <li class="blockList">
 <h4>summary</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/RestMethod.html#line.515">summary</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/RestMethod.html#line.525">summary</a></pre>
 <div class="block">Optional summary for the exposed API.
 
  <p>
@@ -1040,7 +1050,7 @@ public @interface <a 
href="../../../../../src-html/org/apache/juneau/rest/annota
 <ul class="blockList">
 <li class="blockList">
 <h4>description</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/RestMethod.html#line.543">description</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/RestMethod.html#line.553">description</a></pre>
 <div class="block">Optional description for the exposed API.
 
  <p>
@@ -1080,7 +1090,7 @@ public @interface <a 
href="../../../../../src-html/org/apache/juneau/rest/annota
 <ul class="blockList">
 <li class="blockList">
 <h4>clientVersion</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/RestMethod.html#line.609">clientVersion</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/RestMethod.html#line.619">clientVersion</a></pre>
 <div class="block">Specifies whether this method can be called based on the 
client version.
 
  <p>
@@ -1158,7 +1168,7 @@ public @interface <a 
href="../../../../../src-html/org/apache/juneau/rest/annota
 <ul class="blockList">
 <li class="blockList">
 <h4>swagger</h4>
-<pre>public abstract&nbsp;<a 
href="../../../../../org/apache/juneau/rest/annotation/MethodSwagger.html" 
title="annotation in 
org.apache.juneau.rest.annotation">MethodSwagger</a>&nbsp;<a 
href="../../../../../src-html/org/apache/juneau/rest/annotation/RestMethod.html#line.614">swagger</a></pre>
+<pre>public abstract&nbsp;<a 
href="../../../../../org/apache/juneau/rest/annotation/MethodSwagger.html" 
title="annotation in 
org.apache.juneau.rest.annotation">MethodSwagger</a>&nbsp;<a 
href="../../../../../src-html/org/apache/juneau/rest/annotation/RestMethod.html#line.624">swagger</a></pre>
 <div class="block">Provides swagger-specific metadata on this method.</div>
 <dl>
 <dt>Default:</dt>
@@ -1175,7 +1185,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/RestMethod.html#line.622">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/RestMethod.html#line.632">htmldoc</a></pre>
 <div class="block">Provides HTML-doc-specific metadata on this method.
 
  <p>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/9a1c9991/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/RestMethod.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/RestMethod.html
 
b/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/RestMethod.html
index 55f90d8..bb95f17 100644
--- 
a/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/RestMethod.html
+++ 
b/content/site/apidocs/src-html/org/apache/juneau/rest/annotation/RestMethod.html
@@ -369,266 +369,276 @@
 <span class="sourceLineNo">361</span>    * &lt;br&gt;Properties apply to 
specified class and all subclasses.<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>    * Semicolons can be used as an 
additional separator for multiple values: &lt;code&gt;bpi="Bean1: foo; Bean2: 
bar,baz"&lt;/code&gt;<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    */<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   String[] bpi() default {};<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>    * Shortcut for specifying the {@link 
BeanContext#BEAN_excludeProperties} property on all serializers.<a 
name="line.369"></a>
-<span class="sourceLineNo">370</span>    *<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    * &lt;p&gt;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    * Same as {@link #bpi()} except you 
specify a list of bean property names that you want to exclude from<a 
name="line.372"></a>
-<span class="sourceLineNo">373</span>    * serialization.<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>    * In the example below, our 'summary' 
view is a list of beans where we want to exclude some properties:<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;jc&gt;// Our bean&lt;/jc&gt;<a 
name="line.378"></a>
-<span class="sourceLineNo">379</span>    *    &lt;jk&gt;public 
class&lt;/jk&gt; MyBean {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    *<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    *       &lt;jc&gt;// Summary 
properties&lt;/jc&gt;<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    *       
&lt;ja&gt;@Html&lt;/ja&gt;(link=&lt;js&gt;"servlet:/mybeans/{id}"&lt;/js&gt;)<a 
name="line.382"></a>
-<span class="sourceLineNo">383</span>    *       &lt;jk&gt;public&lt;/jk&gt; 
String &lt;jf&gt;id&lt;/jf&gt;;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    *<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    *       &lt;jc&gt;// Detail 
properties&lt;/jc&gt;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    *       &lt;jk&gt;public&lt;/jk&gt; 
String &lt;jf&gt;a&lt;/jf&gt;, &lt;jf&gt;b&lt;/jf&gt;;<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;jc&gt;// Don't show "a" and "b" 
properties.&lt;/jc&gt;<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/mybeans"&lt;/js&gt;, bpx=&lt;js&gt;"MyBean: a,b"&lt;/js&gt;)<a 
name="line.390"></a>
-<span class="sourceLineNo">391</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
List&amp;lt;MyBean&amp;gt; getBeanSummary();<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    *<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    * &lt;jc&gt;// Render all 
properties.&lt;/jc&gt;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/mybeans/{id}"&lt;/js&gt;)<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
MyBean getBeanDetails(&lt;ja&gt;@Path&lt;/ja&gt; String id);<a 
name="line.395"></a>
-<span class="sourceLineNo">396</span>    * &lt;/p&gt;<a name="line.396"></a>
+<span class="sourceLineNo">364</span>    * Semicolons can be used as an 
additional separator for multiple values:<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    * &lt;p class='bcode'&gt;<a 
name="line.365"></a>
+<span class="sourceLineNo">366</span>    *    &lt;jc&gt;// 
Equivalent&lt;/jc&gt;<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    *    bpi={&lt;js&gt;"Bean1: 
foo"&lt;/js&gt;,&lt;js&gt;"Bean2: bar,baz"&lt;/js&gt;}<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    *    bpi=&lt;js&gt;"Bean1: foo; 
Bean2: bar,baz"&lt;/js&gt;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    * &lt;/p&gt;<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    */<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   String[] bpi() default {};<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>    * Shortcut for specifying the {@link 
BeanContext#BEAN_excludeProperties} property on all serializers.<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>    * Same as {@link #bpi()} except you 
specify a list of bean property names that you want to exclude from<a 
name="line.377"></a>
+<span class="sourceLineNo">378</span>    * serialization.<a 
name="line.378"></a>
+<span class="sourceLineNo">379</span>    *<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    * &lt;p&gt;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    * In the example below, our 'summary' 
view is a list of beans where we want to exclude some properties:<a 
name="line.381"></a>
+<span class="sourceLineNo">382</span>    * &lt;p class='bcode'&gt;<a 
name="line.382"></a>
+<span class="sourceLineNo">383</span>    * &lt;jc&gt;// Our bean&lt;/jc&gt;<a 
name="line.383"></a>
+<span class="sourceLineNo">384</span>    *    &lt;jk&gt;public 
class&lt;/jk&gt; MyBean {<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    *<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    *       &lt;jc&gt;// Summary 
properties&lt;/jc&gt;<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    *       
&lt;ja&gt;@Html&lt;/ja&gt;(link=&lt;js&gt;"servlet:/mybeans/{id}"&lt;/js&gt;)<a 
name="line.387"></a>
+<span class="sourceLineNo">388</span>    *       &lt;jk&gt;public&lt;/jk&gt; 
String &lt;jf&gt;id&lt;/jf&gt;;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    *<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    *       &lt;jc&gt;// Detail 
properties&lt;/jc&gt;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    *       &lt;jk&gt;public&lt;/jk&gt; 
String &lt;jf&gt;a&lt;/jf&gt;, &lt;jf&gt;b&lt;/jf&gt;;<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    *    }<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    *<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    * &lt;jc&gt;// Don't show "a" and "b" 
properties.&lt;/jc&gt;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/mybeans"&lt;/js&gt;, bpx=&lt;js&gt;"MyBean: a,b"&lt;/js&gt;)<a 
name="line.395"></a>
+<span class="sourceLineNo">396</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
List&amp;lt;MyBean&amp;gt; getBeanSummary();<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>    * The format of each value is: 
&lt;js&gt;"Key: comma-delimited-tokens"&lt;/js&gt;.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    * &lt;br&gt;Keys can be 
fully-qualified or short class names or &lt;js&gt;"*"&lt;/js&gt; to represent 
all classes.<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    * &lt;br&gt;Values are 
comma-delimited lists of bean property names.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    * &lt;br&gt;Properties apply to 
specified class and all subclasses.<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>    * Semicolons can be used as an 
additional separator for multiple values: &lt;code&gt;bpi="Bean1: foo; Bean2: 
bar,baz"&lt;/code&gt;<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    */<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   String[] bpx() default {};<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>    * Specifies default values for 
request headers.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    *<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    * &lt;p&gt;<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    * Strings are of the format 
&lt;js&gt;"Header-Name: header-value"&lt;/js&gt;.<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    *<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    * &lt;p&gt;<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    * Affects values returned by {@link 
RestRequest#getHeader(String)} when the header is not present on the request.<a 
name="line.416"></a>
-<span class="sourceLineNo">417</span>    *<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    * &lt;p&gt;<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    * The most useful reason for this 
annotation is to provide a default &lt;code&gt;Accept&lt;/code&gt; header when 
one is not<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    * specified so that a particular 
default {@link Serializer} is picked.<a name="line.420"></a>
+<span class="sourceLineNo">398</span>    * &lt;jc&gt;// Render all 
properties.&lt;/jc&gt;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/mybeans/{id}"&lt;/js&gt;)<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
MyBean getBeanDetails(&lt;ja&gt;@Path&lt;/ja&gt; String id);<a 
name="line.400"></a>
+<span class="sourceLineNo">401</span>    * &lt;/p&gt;<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>    * The format of each value is: 
&lt;js&gt;"Key: comma-delimited-tokens"&lt;/js&gt;.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    * &lt;br&gt;Keys can be 
fully-qualified or short class names or &lt;js&gt;"*"&lt;/js&gt; to represent 
all classes.<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    * &lt;br&gt;Values are 
comma-delimited lists of bean property names.<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    * &lt;br&gt;Properties apply to 
specified class and all subclasses.<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>    * Semicolons can be used as an 
additional separator for multiple values:<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    * &lt;p class='bcode'&gt;<a 
name="line.411"></a>
+<span class="sourceLineNo">412</span>    *    &lt;jc&gt;// 
Equivalent&lt;/jc&gt;<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    *    bpx={&lt;js&gt;"Bean1: 
foo"&lt;/js&gt;,&lt;js&gt;"Bean2: bar,baz"&lt;/js&gt;}<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    *    bpx=&lt;js&gt;"Bean1: foo; 
Bean2: bar,baz"&lt;/js&gt;<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    * &lt;/p&gt;<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    */<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   String[] bpx() default {};<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>    * Specifies default values for 
request headers.<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>    * Only one header value can be 
specified per entry (i.e. it's not a delimited list of header entries).<a 
name="line.423"></a>
+<span class="sourceLineNo">423</span>    * Strings are of the format 
&lt;js&gt;"Header-Name: header-value"&lt;/js&gt;.<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>    * Header values specified at the 
method level override header values specified at the servlet level.<a 
name="line.426"></a>
+<span class="sourceLineNo">426</span>    * Affects values returned by {@link 
RestRequest#getHeader(String)} when the header is not present on the request.<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;jc&gt;// Assume "text/json" 
Accept value when Accept not specified&lt;/jc&gt;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/*"&lt;/js&gt;, defaultRequestHeaders={&lt;js&gt;"Accept: 
text/json"&lt;/js&gt;})<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
String doGet() {<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>    * You can use either 
&lt;js&gt;':'&lt;/js&gt; or &lt;js&gt;'='&lt;/js&gt; as the key/value 
delimiter.<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    * Key and value is trimmed of 
whitespace.<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    */<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   String[] defaultRequestHeaders() 
default {};<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>    * Specifies default values for query 
parameters.<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>    * Strings are of the format 
&lt;js&gt;"name=value"&lt;/js&gt;.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    *<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    * &lt;p&gt;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    * Affects values returned by {@link 
RestRequest#getQuery(String)} when the parameter is not present on the 
request.<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    *<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    * &lt;h5 
class='section'&gt;Example:&lt;/h5&gt;<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    * &lt;p class='bcode'&gt;<a 
name="line.453"></a>
-<span class="sourceLineNo">454</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/*"&lt;/js&gt;, 
defaultQuery={&lt;js&gt;"foo=bar"&lt;/js&gt;})<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
String doGet(&lt;ja&gt;@Query&lt;/ja&gt;(&lt;js&gt;"foo"&lt;/js&gt;) String 
foo) {<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>    * &lt;/p&gt;<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>    * You can use either 
&lt;js&gt;':'&lt;/js&gt; or &lt;js&gt;'='&lt;/js&gt; as the key/value 
delimiter.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    * Key and value is trimmed of 
whitespace.<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    */<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   String[] defaultQuery() default {};<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>    * Specifies default values for 
form-data parameters.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    *<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    * &lt;p&gt;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    * Strings are of the format 
&lt;js&gt;"name=value"&lt;/js&gt;.<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>    * Affects values returned by {@link 
RestRequest#getFormData(String)} when the parameter is not present on the<a 
name="line.473"></a>
-<span class="sourceLineNo">474</span>    * request.<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    *<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    * &lt;h5 
class='section'&gt;Example:&lt;/h5&gt;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>    * &lt;p class='bcode'&gt;<a 
name="line.477"></a>
-<span class="sourceLineNo">478</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"POST"&lt;/js&gt;, 
path=&lt;js&gt;"/*"&lt;/js&gt;, 
defaultFormData={&lt;js&gt;"foo=bar"&lt;/js&gt;})<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
String doGet(&lt;ja&gt;@FormData&lt;/ja&gt;(&lt;js&gt;"foo"&lt;/js&gt;) String 
foo) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    *       ...<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>    *<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    * &lt;p&gt;<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    * You can use either 
&lt;js&gt;':'&lt;/js&gt; or &lt;js&gt;'='&lt;/js&gt; as the key/value 
delimiter.<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    * Key and value is trimmed of 
whitespace.<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    */<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   String[] defaultFormData() default 
{};<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>    * Optional summary for the exposed 
API.<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    *<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    * &lt;p&gt;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    * This summary is used in the 
following locations:<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    * &lt;ul class='spaced-list'&gt;<a 
name="line.495"></a>
-<span class="sourceLineNo">496</span>    *    &lt;li&gt;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    *       The value returned by {@link 
RestRequest#getMethodSummary()}.<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    *    &lt;li&gt;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    *       The 
&lt;js&gt;"$R{methodSummary}"&lt;/js&gt; variable.<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    *    &lt;li&gt;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    *       The summary of the method in 
the Swagger page.<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    * &lt;/ul&gt;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    *<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    * &lt;p&gt;<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    * The default value pulls the 
description from the 
&lt;code&gt;(className.?)[javaMethodName].summary&lt;/code&gt; entry in the<a 
name="line.505"></a>
-<span class="sourceLineNo">506</span>    * servlet resource bundle. (e.g. 
&lt;js&gt;"MyClass.myMethod.summary = foo"&lt;/js&gt; or 
&lt;js&gt;"myMethod.summary = foo"&lt;/js&gt;).<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    *<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    * &lt;p&gt;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    * This field can contain variables 
(e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    * &lt;br&gt;See {@link 
RestContext#getVarResolver()} for the list of supported variables.<a 
name="line.510"></a>
-<span class="sourceLineNo">511</span>    *<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    * &lt;p&gt;<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    * Corresponds to the swagger field 
&lt;code&gt;/paths/{path}/{method}/summary&lt;/code&gt;.<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    */<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   String summary() default "";<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>    * Optional description for the 
exposed API.<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>    * This description is used in the 
following locations:<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    * &lt;ul class='spaced-list'&gt;<a 
name="line.522"></a>
-<span class="sourceLineNo">523</span>    *    &lt;li&gt;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    *       The value returned by {@link 
RestRequest#getMethodDescription()}.<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    *    &lt;li&gt;<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    *       The 
&lt;js&gt;"$R{methodDescription}"&lt;/js&gt; variable.<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    *    &lt;li&gt;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    *       The description of the method 
in the Swagger page.<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    * &lt;/ul&gt;<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    *<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    * &lt;p&gt;<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    * The default value pulls the 
description from the 
&lt;code&gt;(className.?)[javaMethodName].description&lt;/code&gt; entry in<a 
name="line.532"></a>
-<span class="sourceLineNo">533</span>    * the servlet resource bundle. (e.g. 
&lt;js&gt;"MyClass.myMethod.description = foo"&lt;/js&gt; or<a 
name="line.533"></a>
-<span class="sourceLineNo">534</span>    * &lt;js&gt;"myMethod.description = 
foo"&lt;/js&gt;).<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    *<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    * &lt;p&gt;<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    * This field can contain variables 
(e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    * &lt;br&gt;See {@link 
RestContext#getVarResolver()} for the list of supported variables.<a 
name="line.538"></a>
-<span class="sourceLineNo">539</span>    *<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    * &lt;p&gt;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    * Corresponds to the swagger field 
&lt;code&gt;/paths/{path}/{method}/description&lt;/code&gt;.<a 
name="line.541"></a>
-<span class="sourceLineNo">542</span>    */<a name="line.542"></a>
-<span class="sourceLineNo">543</span>   String description() default "";<a 
name="line.543"></a>
-<span class="sourceLineNo">544</span><a name="line.544"></a>
-<span class="sourceLineNo">545</span>   /**<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    * Specifies whether this method can 
be called based on the client version.<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    *<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    * &lt;p&gt;<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    * The client version is identified 
via the HTTP request header identified by<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    * {@link 
RestResource#clientVersionHeader()} which by default is 
&lt;js&gt;"X-Client-Version"&lt;/js&gt;.<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    *<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    * &lt;p&gt;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    * This is a specialized kind of 
{@link RestMatcher} that allows you to invoke different Java methods for the 
same<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    * method/path based on the client 
version.<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    *<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    * &lt;p&gt;<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    * The format of the client version 
range is similar to that of OSGi versions.<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    *<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    * &lt;p&gt;<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    * In the following example, the Java 
methods are mapped to the same HTTP method and URL 
&lt;js&gt;"/foobar"&lt;/js&gt;.<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    * &lt;p class='bcode'&gt;<a 
name="line.561"></a>
-<span class="sourceLineNo">562</span>    *    &lt;jc&gt;// Call this method if 
X-Client-Version is at least 2.0.<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    *    // Note that this also matches 
2.0.1.&lt;/jc&gt;<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/foobar"&lt;/js&gt;, 
clientVersion=&lt;js&gt;"2.0"&lt;/js&gt;)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
Object method1() {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    *       ...<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    *    }<a name="line.567"></a>
+<span class="sourceLineNo">428</span>    * &lt;p&gt;<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    * The most useful reason for this 
annotation is to provide a default &lt;code&gt;Accept&lt;/code&gt; header when 
one is not<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    * specified so that a particular 
default {@link Serializer} is picked.<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>    * Only one header value can be 
specified per entry (i.e. it's not a delimited list of header entries).<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>    * Header values specified at the 
method level override header values specified at the servlet level.<a 
name="line.436"></a>
+<span class="sourceLineNo">437</span>    *<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    * &lt;h5 
class='section'&gt;Example:&lt;/h5&gt;<a name="line.438"></a>
+<span class="sourceLineNo">439</span>    * &lt;p class='bcode'&gt;<a 
name="line.439"></a>
+<span class="sourceLineNo">440</span>    *    &lt;jc&gt;// Assume "text/json" 
Accept value when Accept not specified&lt;/jc&gt;<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/*"&lt;/js&gt;, defaultRequestHeaders={&lt;js&gt;"Accept: 
text/json"&lt;/js&gt;})<a name="line.441"></a>
+<span class="sourceLineNo">442</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
String doGet() {<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>    * &lt;/p&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>    * You can use either 
&lt;js&gt;':'&lt;/js&gt; or &lt;js&gt;'='&lt;/js&gt; as the key/value 
delimiter.<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    * Key and value is trimmed of 
whitespace.<a name="line.449"></a>
+<span class="sourceLineNo">450</span>    */<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   String[] defaultRequestHeaders() 
default {};<a name="line.451"></a>
+<span class="sourceLineNo">452</span><a name="line.452"></a>
+<span class="sourceLineNo">453</span>   /**<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    * Specifies default values for query 
parameters.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    *<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    * &lt;p&gt;<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    * Strings are of the format 
&lt;js&gt;"name=value"&lt;/js&gt;.<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    *<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    * &lt;p&gt;<a name="line.459"></a>
+<span class="sourceLineNo">460</span>    * Affects values returned by {@link 
RestRequest#getQuery(String)} when the parameter is not present on the 
request.<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    *<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    * &lt;h5 
class='section'&gt;Example:&lt;/h5&gt;<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    * &lt;p class='bcode'&gt;<a 
name="line.463"></a>
+<span class="sourceLineNo">464</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/*"&lt;/js&gt;, 
defaultQuery={&lt;js&gt;"foo=bar"&lt;/js&gt;})<a name="line.464"></a>
+<span class="sourceLineNo">465</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
String doGet(&lt;ja&gt;@Query&lt;/ja&gt;(&lt;js&gt;"foo"&lt;/js&gt;) String 
foo) {<a name="line.465"></a>
+<span class="sourceLineNo">466</span>    *       ...<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>    *<a name="line.469"></a>
+<span class="sourceLineNo">470</span>    * &lt;p&gt;<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    * You can use either 
&lt;js&gt;':'&lt;/js&gt; or &lt;js&gt;'='&lt;/js&gt; as the key/value 
delimiter.<a name="line.471"></a>
+<span class="sourceLineNo">472</span>    * Key and value is trimmed of 
whitespace.<a name="line.472"></a>
+<span class="sourceLineNo">473</span>    */<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   String[] defaultQuery() default {};<a 
name="line.474"></a>
+<span class="sourceLineNo">475</span><a name="line.475"></a>
+<span class="sourceLineNo">476</span>   /**<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    * Specifies default values for 
form-data parameters.<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>    * Strings are of the format 
&lt;js&gt;"name=value"&lt;/js&gt;.<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>    * Affects values returned by {@link 
RestRequest#getFormData(String)} when the parameter is not present on the<a 
name="line.483"></a>
+<span class="sourceLineNo">484</span>    * request.<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    *<a name="line.485"></a>
+<span class="sourceLineNo">486</span>    * &lt;h5 
class='section'&gt;Example:&lt;/h5&gt;<a name="line.486"></a>
+<span class="sourceLineNo">487</span>    * &lt;p class='bcode'&gt;<a 
name="line.487"></a>
+<span class="sourceLineNo">488</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"POST"&lt;/js&gt;, 
path=&lt;js&gt;"/*"&lt;/js&gt;, 
defaultFormData={&lt;js&gt;"foo=bar"&lt;/js&gt;})<a name="line.488"></a>
+<span class="sourceLineNo">489</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
String doGet(&lt;ja&gt;@FormData&lt;/ja&gt;(&lt;js&gt;"foo"&lt;/js&gt;) String 
foo) {<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>    * &lt;/p&gt;<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>    * You can use either 
&lt;js&gt;':'&lt;/js&gt; or &lt;js&gt;'='&lt;/js&gt; as the key/value 
delimiter.<a name="line.495"></a>
+<span class="sourceLineNo">496</span>    * Key and value is trimmed of 
whitespace.<a name="line.496"></a>
+<span class="sourceLineNo">497</span>    */<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   String[] defaultFormData() default 
{};<a name="line.498"></a>
+<span class="sourceLineNo">499</span><a name="line.499"></a>
+<span class="sourceLineNo">500</span>   /**<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    * Optional summary for the exposed 
API.<a name="line.501"></a>
+<span class="sourceLineNo">502</span>    *<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    * &lt;p&gt;<a name="line.503"></a>
+<span class="sourceLineNo">504</span>    * This summary is used in the 
following locations:<a name="line.504"></a>
+<span class="sourceLineNo">505</span>    * &lt;ul class='spaced-list'&gt;<a 
name="line.505"></a>
+<span class="sourceLineNo">506</span>    *    &lt;li&gt;<a name="line.506"></a>
+<span class="sourceLineNo">507</span>    *       The value returned by {@link 
RestRequest#getMethodSummary()}.<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    *    &lt;li&gt;<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    *       The 
&lt;js&gt;"$R{methodSummary}"&lt;/js&gt; variable.<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    *    &lt;li&gt;<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    *       The summary of the method in 
the Swagger page.<a name="line.511"></a>
+<span class="sourceLineNo">512</span>    * &lt;/ul&gt;<a name="line.512"></a>
+<span class="sourceLineNo">513</span>    *<a name="line.513"></a>
+<span class="sourceLineNo">514</span>    * &lt;p&gt;<a name="line.514"></a>
+<span class="sourceLineNo">515</span>    * The default value pulls the 
description from the 
&lt;code&gt;(className.?)[javaMethodName].summary&lt;/code&gt; entry in the<a 
name="line.515"></a>
+<span class="sourceLineNo">516</span>    * servlet resource bundle. (e.g. 
&lt;js&gt;"MyClass.myMethod.summary = foo"&lt;/js&gt; or 
&lt;js&gt;"myMethod.summary = foo"&lt;/js&gt;).<a name="line.516"></a>
+<span class="sourceLineNo">517</span>    *<a name="line.517"></a>
+<span class="sourceLineNo">518</span>    * &lt;p&gt;<a name="line.518"></a>
+<span class="sourceLineNo">519</span>    * This field can contain variables 
(e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.519"></a>
+<span class="sourceLineNo">520</span>    * &lt;br&gt;See {@link 
RestContext#getVarResolver()} for the list of supported variables.<a 
name="line.520"></a>
+<span class="sourceLineNo">521</span>    *<a name="line.521"></a>
+<span class="sourceLineNo">522</span>    * &lt;p&gt;<a name="line.522"></a>
+<span class="sourceLineNo">523</span>    * Corresponds to the swagger field 
&lt;code&gt;/paths/{path}/{method}/summary&lt;/code&gt;.<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    */<a name="line.524"></a>
+<span class="sourceLineNo">525</span>   String summary() default "";<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>    * Optional description for the 
exposed API.<a name="line.528"></a>
+<span class="sourceLineNo">529</span>    *<a name="line.529"></a>
+<span class="sourceLineNo">530</span>    * &lt;p&gt;<a name="line.530"></a>
+<span class="sourceLineNo">531</span>    * This description is used in the 
following locations:<a name="line.531"></a>
+<span class="sourceLineNo">532</span>    * &lt;ul class='spaced-list'&gt;<a 
name="line.532"></a>
+<span class="sourceLineNo">533</span>    *    &lt;li&gt;<a name="line.533"></a>
+<span class="sourceLineNo">534</span>    *       The value returned by {@link 
RestRequest#getMethodDescription()}.<a name="line.534"></a>
+<span class="sourceLineNo">535</span>    *    &lt;li&gt;<a name="line.535"></a>
+<span class="sourceLineNo">536</span>    *       The 
&lt;js&gt;"$R{methodDescription}"&lt;/js&gt; variable.<a name="line.536"></a>
+<span class="sourceLineNo">537</span>    *    &lt;li&gt;<a name="line.537"></a>
+<span class="sourceLineNo">538</span>    *       The description of the method 
in the Swagger page.<a name="line.538"></a>
+<span class="sourceLineNo">539</span>    * &lt;/ul&gt;<a name="line.539"></a>
+<span class="sourceLineNo">540</span>    *<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    * &lt;p&gt;<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    * The default value pulls the 
description from the 
&lt;code&gt;(className.?)[javaMethodName].description&lt;/code&gt; entry in<a 
name="line.542"></a>
+<span class="sourceLineNo">543</span>    * the servlet resource bundle. (e.g. 
&lt;js&gt;"MyClass.myMethod.description = foo"&lt;/js&gt; or<a 
name="line.543"></a>
+<span class="sourceLineNo">544</span>    * &lt;js&gt;"myMethod.description = 
foo"&lt;/js&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>    * This field can contain variables 
(e.g. &lt;js&gt;"$L{my.localized.variable}"&lt;/js&gt;).<a name="line.547"></a>
+<span class="sourceLineNo">548</span>    * &lt;br&gt;See {@link 
RestContext#getVarResolver()} for the list of supported variables.<a 
name="line.548"></a>
+<span class="sourceLineNo">549</span>    *<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    * &lt;p&gt;<a name="line.550"></a>
+<span class="sourceLineNo">551</span>    * Corresponds to the swagger field 
&lt;code&gt;/paths/{path}/{method}/description&lt;/code&gt;.<a 
name="line.551"></a>
+<span class="sourceLineNo">552</span>    */<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   String description() default "";<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>    * Specifies whether this method can 
be called based on the client version.<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>    * The client version is identified 
via the HTTP request header identified by<a name="line.559"></a>
+<span class="sourceLineNo">560</span>    * {@link 
RestResource#clientVersionHeader()} which by default is 
&lt;js&gt;"X-Client-Version"&lt;/js&gt;.<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    *<a name="line.561"></a>
+<span class="sourceLineNo">562</span>    * &lt;p&gt;<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    * This is a specialized kind of 
{@link RestMatcher} that allows you to invoke different Java methods for the 
same<a name="line.563"></a>
+<span class="sourceLineNo">564</span>    * method/path based on the client 
version.<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    *<a name="line.565"></a>
+<span class="sourceLineNo">566</span>    * &lt;p&gt;<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    * The format of the client version 
range is similar to that of OSGi versions.<a name="line.567"></a>
 <span class="sourceLineNo">568</span>    *<a name="line.568"></a>
-<span class="sourceLineNo">569</span>    *    &lt;jc&gt;// Call this method if 
X-Client-Version is at least 1.1, but less than 2.0.&lt;/jc&gt;<a 
name="line.569"></a>
-<span class="sourceLineNo">570</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/foobar"&lt;/js&gt;, 
clientVersion=&lt;js&gt;"[1.1,2.0)"&lt;/js&gt;)<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
Object method2() {<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    *       ...<a name="line.572"></a>
-<span class="sourceLineNo">573</span>    *    }<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    *<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    *    &lt;jc&gt;// Call this method if 
X-Client-Version is less than 1.1.&lt;/jc&gt;<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/foobar"&lt;/js&gt;, 
clientVersion=&lt;js&gt;"[0,1.1)"&lt;/js&gt;)<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
Object method3() {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    *       ...<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    *    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    * &lt;/p&gt;<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    *<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    * &lt;p&gt;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    * It's common to combine the client 
version with transforms that will convert new POJOs into older POJOs for<a 
name="line.583"></a>
-<span class="sourceLineNo">584</span>    * backwards compatibility.<a 
name="line.584"></a>
-<span class="sourceLineNo">585</span>    * &lt;p class='bcode'&gt;<a 
name="line.585"></a>
-<span class="sourceLineNo">586</span>    *    &lt;jc&gt;// Call this method if 
X-Client-Version is at least 2.0.&lt;/jc&gt;<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/foobar"&lt;/js&gt;, 
clientVersion=&lt;js&gt;"2.0"&lt;/js&gt;)<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
NewPojo newMethod() {<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    *       ...<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    *    }<a name="line.590"></a>
+<span class="sourceLineNo">569</span>    * &lt;p&gt;<a name="line.569"></a>
+<span class="sourceLineNo">570</span>    * In the following example, the Java 
methods are mapped to the same HTTP method and URL 
&lt;js&gt;"/foobar"&lt;/js&gt;.<a name="line.570"></a>
+<span class="sourceLineNo">571</span>    * &lt;p class='bcode'&gt;<a 
name="line.571"></a>
+<span class="sourceLineNo">572</span>    *    &lt;jc&gt;// Call this method if 
X-Client-Version is at least 2.0.<a name="line.572"></a>
+<span class="sourceLineNo">573</span>    *    // Note that this also matches 
2.0.1.&lt;/jc&gt;<a name="line.573"></a>
+<span class="sourceLineNo">574</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/foobar"&lt;/js&gt;, 
clientVersion=&lt;js&gt;"2.0"&lt;/js&gt;)<a name="line.574"></a>
+<span class="sourceLineNo">575</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
Object method1() {<a name="line.575"></a>
+<span class="sourceLineNo">576</span>    *       ...<a name="line.576"></a>
+<span class="sourceLineNo">577</span>    *    }<a name="line.577"></a>
+<span class="sourceLineNo">578</span>    *<a name="line.578"></a>
+<span class="sourceLineNo">579</span>    *    &lt;jc&gt;// Call this method if 
X-Client-Version is at least 1.1, but less than 2.0.&lt;/jc&gt;<a 
name="line.579"></a>
+<span class="sourceLineNo">580</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/foobar"&lt;/js&gt;, 
clientVersion=&lt;js&gt;"[1.1,2.0)"&lt;/js&gt;)<a name="line.580"></a>
+<span class="sourceLineNo">581</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
Object method2() {<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>    *<a name="line.584"></a>
+<span class="sourceLineNo">585</span>    *    &lt;jc&gt;// Call this method if 
X-Client-Version is less than 1.1.&lt;/jc&gt;<a name="line.585"></a>
+<span class="sourceLineNo">586</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/foobar"&lt;/js&gt;, 
clientVersion=&lt;js&gt;"[0,1.1)"&lt;/js&gt;)<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
Object method3() {<a name="line.587"></a>
+<span class="sourceLineNo">588</span>    *       ...<a name="line.588"></a>
+<span class="sourceLineNo">589</span>    *    }<a name="line.589"></a>
+<span class="sourceLineNo">590</span>    * &lt;/p&gt;<a name="line.590"></a>
 <span class="sourceLineNo">591</span>    *<a name="line.591"></a>
-<span class="sourceLineNo">592</span>    *    &lt;jc&gt;// Call this method if 
X-Client-Version is at least 1.1, but less than 2.0.&lt;/jc&gt;<a 
name="line.592"></a>
-<span class="sourceLineNo">593</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/foobar"&lt;/js&gt;, 
clientVersion=&lt;js&gt;"[1.1,2.0)"&lt;/js&gt;, 
transforms={NewToOldPojoSwap.&lt;jk&gt;class&lt;/jk&gt;})<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
NewPojo oldMethod() {<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    *       &lt;jk&gt;return&lt;/jk&gt; 
newMethod()<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    *    }<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    *<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    * &lt;p&gt;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    * Note that in the previous example, 
we're returning the exact same POJO, but using a transform to convert it into<a 
name="line.599"></a>
-<span class="sourceLineNo">600</span>    * an older form.<a 
name="line.600"></a>
-<span class="sourceLineNo">601</span>    * The old method could also just 
return back a completely different object.<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    * The range can be any of the 
following:<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    * &lt;ul&gt;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    *    
&lt;li&gt;&lt;js&gt;"[0,1.0)"&lt;/js&gt; = Less than 1.0.  1.0 and 1.0.0 does 
not match.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    *    
&lt;li&gt;&lt;js&gt;"[0,1.0]"&lt;/js&gt; = Less than or equal to 1.0.  Note 
that 1.0.1 will match.<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    *    
&lt;li&gt;&lt;js&gt;"1.0"&lt;/js&gt; = At least 1.0.  1.0 and 2.0 will match.<a 
name="line.606"></a>
-<span class="sourceLineNo">607</span>    * &lt;/ul&gt;<a name="line.607"></a>
-<span class="sourceLineNo">608</span>    */<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   String clientVersion() default "";<a 
name="line.609"></a>
-<span class="sourceLineNo">610</span><a name="line.610"></a>
-<span class="sourceLineNo">611</span>   /**<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    * Provides swagger-specific metadata 
on this method.<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    */<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   MethodSwagger swagger() default 
@MethodSwagger;<a name="line.614"></a>
-<span class="sourceLineNo">615</span><a name="line.615"></a>
-<span class="sourceLineNo">616</span>   /**<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    * Provides HTML-doc-specific metadata 
on this method.<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    *<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    * &lt;p&gt;<a name="line.619"></a>
-<span class="sourceLineNo">620</span>    * Information provided here overrides 
information provided in the servlet-level annotation.<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   HtmlDoc htmldoc() default @HtmlDoc;<a 
name="line.622"></a>
-<span class="sourceLineNo">623</span>}<a name="line.623"></a>
+<span class="sourceLineNo">592</span>    * &lt;p&gt;<a name="line.592"></a>
+<span class="sourceLineNo">593</span>    * It's common to combine the client 
version with transforms that will convert new POJOs into older POJOs for<a 
name="line.593"></a>
+<span class="sourceLineNo">594</span>    * backwards compatibility.<a 
name="line.594"></a>
+<span class="sourceLineNo">595</span>    * &lt;p class='bcode'&gt;<a 
name="line.595"></a>
+<span class="sourceLineNo">596</span>    *    &lt;jc&gt;// Call this method if 
X-Client-Version is at least 2.0.&lt;/jc&gt;<a name="line.596"></a>
+<span class="sourceLineNo">597</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/foobar"&lt;/js&gt;, 
clientVersion=&lt;js&gt;"2.0"&lt;/js&gt;)<a name="line.597"></a>
+<span class="sourceLineNo">598</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
NewPojo newMethod() {<a name="line.598"></a>
+<span class="sourceLineNo">599</span>    *       ...<a name="line.599"></a>
+<span class="sourceLineNo">600</span>    *    }<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    *<a name="line.601"></a>
+<span class="sourceLineNo">602</span>    *    &lt;jc&gt;// Call this method if 
X-Client-Version is at least 1.1, but less than 2.0.&lt;/jc&gt;<a 
name="line.602"></a>
+<span class="sourceLineNo">603</span>    *    
&lt;ja&gt;@RestMethod&lt;/ja&gt;(name=&lt;js&gt;"GET"&lt;/js&gt;, 
path=&lt;js&gt;"/foobar"&lt;/js&gt;, 
clientVersion=&lt;js&gt;"[1.1,2.0)"&lt;/js&gt;, 
transforms={NewToOldPojoSwap.&lt;jk&gt;class&lt;/jk&gt;})<a name="line.603"></a>
+<span class="sourceLineNo">604</span>    *    &lt;jk&gt;public&lt;/jk&gt; 
NewPojo oldMethod() {<a name="line.604"></a>
+<span class="sourceLineNo">605</span>    *       &lt;jk&gt;return&lt;/jk&gt; 
newMethod()<a name="line.605"></a>
+<span class="sourceLineNo">606</span>    *    }<a name="line.606"></a>
+<span class="sourceLineNo">607</span>    *<a name="line.607"></a>
+<span class="sourceLineNo">608</span>    * &lt;p&gt;<a name="line.608"></a>
+<span class="sourceLineNo">609</span>    * Note that in the previous example, 
we're returning the exact same POJO, but using a transform to convert it into<a 
name="line.609"></a>
+<span class="sourceLineNo">610</span>    * an older form.<a 
name="line.610"></a>
+<span class="sourceLineNo">611</span>    * The old method could also just 
return back a completely different object.<a name="line.611"></a>
+<span class="sourceLineNo">612</span>    * The range can be any of the 
following:<a name="line.612"></a>
+<span class="sourceLineNo">613</span>    * &lt;ul&gt;<a name="line.613"></a>
+<span class="sourceLineNo">614</span>    *    
&lt;li&gt;&lt;js&gt;"[0,1.0)"&lt;/js&gt; = Less than 1.0.  1.0 and 1.0.0 does 
not match.<a name="line.614"></a>
+<span class="sourceLineNo">615</span>    *    
&lt;li&gt;&lt;js&gt;"[0,1.0]"&lt;/js&gt; = Less than or equal to 1.0.  Note 
that 1.0.1 will match.<a name="line.615"></a>
+<span class="sourceLineNo">616</span>    *    
&lt;li&gt;&lt;js&gt;"1.0"&lt;/js&gt; = At least 1.0.  1.0 and 2.0 will match.<a 
name="line.616"></a>
+<span class="sourceLineNo">617</span>    * &lt;/ul&gt;<a name="line.617"></a>
+<span class="sourceLineNo">618</span>    */<a name="line.618"></a>
+<span class="sourceLineNo">619</span>   String clientVersion() default "";<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>    * Provides swagger-specific metadata 
on this method.<a name="line.622"></a>
+<span class="sourceLineNo">623</span>    */<a name="line.623"></a>
+<span class="sourceLineNo">624</span>   MethodSwagger swagger() default 
@MethodSwagger;<a name="line.624"></a>
+<span class="sourceLineNo">625</span><a name="line.625"></a>
+<span class="sourceLineNo">626</span>   /**<a name="line.626"></a>
+<span class="sourceLineNo">627</span>    * Provides HTML-doc-specific metadata 
on this method.<a name="line.627"></a>
+<span class="sourceLineNo">628</span>    *<a name="line.628"></a>
+<span class="sourceLineNo">629</span>    * &lt;p&gt;<a name="line.629"></a>
+<span class="sourceLineNo">630</span>    * Information provided here overrides 
information provided in the servlet-level annotation.<a name="line.630"></a>
+<span class="sourceLineNo">631</span>    */<a name="line.631"></a>
+<span class="sourceLineNo">632</span>   HtmlDoc htmldoc() default @HtmlDoc;<a 
name="line.632"></a>
+<span class="sourceLineNo">633</span>}<a name="line.633"></a>
 
 
 

Reply via email to