http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/src-html/org/apache/juneau/remoteable/Body.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/remoteable/Body.html 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/Body.html
new file mode 100644
index 0000000..54b5c85
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/remoteable/Body.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// 
***************************************************************************************************************************<a
 name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software 
Foundation (ASF) under one or more contributor license agreements.  See the 
NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for 
additional information regarding copyright ownership.  The ASF licenses this 
file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, 
Version 2.0 (the "License"); you may not use this file except in compliance     
       *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a 
copy of the License at                                                          
    *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                      
                                                                                
   *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  
http://www.apache.org/licenses/LICENSE-2.0                                      
                                       *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                      
                                                                                
   *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or 
agreed to in writing, software distributed under the License is distributed on 
an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.  See the License for the     
   *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing 
permissions and limitations under the License.                                  
            *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// 
***************************************************************************************************************************<a
 name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.remoteable;<a 
name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>import static 
java.lang.annotation.ElementType.*;<a name="line.15"></a>
+<span class="sourceLineNo">016</span>import static 
java.lang.annotation.RetentionPolicy.*;<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>import java.io.*;<a name="line.18"></a>
+<span class="sourceLineNo">019</span>import java.lang.annotation.*;<a 
name="line.19"></a>
+<span class="sourceLineNo">020</span><a name="line.20"></a>
+<span class="sourceLineNo">021</span>import org.apache.juneau.serializer.*;<a 
name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>/**<a name="line.23"></a>
+<span class="sourceLineNo">024</span> * Annotation applied to Java method 
arguments of interface proxies to denote that they are the HTTP body of the 
request.<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;p&gt;<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;@Remoteable&lt;/ja&gt;(path=&lt;js&gt;"/myproxy"&lt;/js&gt;)<a 
name="line.28"></a>
+<span class="sourceLineNo">029</span> *    &lt;jk&gt;public 
interface&lt;/jk&gt; MyProxy {<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *<a name="line.30"></a>
+<span class="sourceLineNo">031</span> *       
&lt;ja&gt;@RemoteMethod&lt;/ja&gt;(path=&lt;js&gt;"/mymethod"&lt;/js&gt;)<a 
name="line.31"></a>
+<span class="sourceLineNo">032</span> *       String 
myProxyMethod(&lt;ja&gt;@Body&lt;/ja&gt; MyPojo pojo);<a name="line.32"></a>
+<span class="sourceLineNo">033</span> *    }<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * &lt;/p&gt;<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * &lt;p&gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * The argument can be any of the 
following types:<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * &lt;ul class='spaced-list'&gt;<a 
name="line.37"></a>
+<span class="sourceLineNo">038</span> *    &lt;li&gt;Any serializable POJO - 
Converted to text using the {@link Serializer} registered with the 
&lt;code&gt;RestClient&lt;/code&gt;.<a name="line.38"></a>
+<span class="sourceLineNo">039</span> *    &lt;li&gt;{@link Reader} - Raw 
contents of {@code Reader} will be serialized to remote resource.<a 
name="line.39"></a>
+<span class="sourceLineNo">040</span> *    &lt;li&gt;{@link InputStream} - Raw 
contents of {@code InputStream} will be serialized to remote resource.<a 
name="line.40"></a>
+<span class="sourceLineNo">041</span> *    
&lt;li&gt;&lt;code&gt;HttpEntity&lt;/code&gt; - Bypass Juneau serialization and 
pass HttpEntity directly to HttpClient.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *    
&lt;li&gt;&lt;code&gt;NameValuePairs&lt;/code&gt; - Converted to a URL-encoded 
FORM post.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * &lt;/ul&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span> */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>@Documented<a name="line.45"></a>
+<span class="sourceLineNo">046</span>@Target(PARAMETER)<a name="line.46"></a>
+<span class="sourceLineNo">047</span>@Retention(RUNTIME)<a name="line.47"></a>
+<span class="sourceLineNo">048</span>@Inherited<a name="line.48"></a>
+<span class="sourceLineNo">049</span>public @interface Body {}<a 
name="line.49"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/src-html/org/apache/juneau/remoteable/FormData.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/remoteable/FormData.html 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/FormData.html
new file mode 100644
index 0000000..2bc46be
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/remoteable/FormData.html
@@ -0,0 +1,132 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// 
***************************************************************************************************************************<a
 name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software 
Foundation (ASF) under one or more contributor license agreements.  See the 
NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for 
additional information regarding copyright ownership.  The ASF licenses this 
file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, 
Version 2.0 (the "License"); you may not use this file except in compliance     
       *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a 
copy of the License at                                                          
    *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                      
                                                                                
   *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  
http://www.apache.org/licenses/LICENSE-2.0                                      
                                       *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                      
                                                                                
   *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or 
agreed to in writing, software distributed under the License is distributed on 
an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.  See the License for the     
   *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing 
permissions and limitations under the License.                                  
            *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// 
***************************************************************************************************************************<a
 name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.remoteable;<a 
name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>import static 
java.lang.annotation.ElementType.*;<a name="line.15"></a>
+<span class="sourceLineNo">016</span>import static 
java.lang.annotation.RetentionPolicy.*;<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>import java.lang.annotation.*;<a 
name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import org.apache.juneau.urlencoding.*;<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> * Annotation applied to Java method 
arguments of interface proxies to denote that they are FORM post parameters on 
the request.<a name="line.23"></a>
+<span class="sourceLineNo">024</span> * &lt;p&gt;<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;h5 
class='section'&gt;Example:&lt;/h5&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> * &lt;p class='bcode'&gt;<a 
name="line.26"></a>
+<span class="sourceLineNo">027</span> *    
&lt;ja&gt;@Remoteable&lt;/ja&gt;(path=&lt;js&gt;"/myproxy"&lt;/js&gt;)<a 
name="line.27"></a>
+<span class="sourceLineNo">028</span> *    &lt;jk&gt;public 
interface&lt;/jk&gt; MyProxy {<a name="line.28"></a>
+<span class="sourceLineNo">029</span> *<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *       
&lt;ja&gt;@RemoteMethod&lt;/ja&gt;(path=&lt;js&gt;"/mymethod1"&lt;/js&gt;)<a 
name="line.30"></a>
+<span class="sourceLineNo">031</span> *       String 
myProxyMethod1(&lt;ja&gt;@FormData&lt;/ja&gt;(&lt;js&gt;"foo"&lt;/js&gt;)&lt;/ja&gt;
 String foo, 
&lt;ja&gt;@FormData&lt;/ja&gt;(&lt;js&gt;"bar"&lt;/js&gt;)&lt;/ja&gt; MyPojo 
pojo);<a name="line.31"></a>
+<span class="sourceLineNo">032</span> *<a name="line.32"></a>
+<span class="sourceLineNo">033</span> *       
&lt;ja&gt;@RemoteMethod&lt;/ja&gt;(path=&lt;js&gt;"/mymethod2"&lt;/js&gt;)<a 
name="line.33"></a>
+<span class="sourceLineNo">034</span> *       String 
myProxyMethod2(&lt;ja&gt;@FormData&lt;/ja&gt; NameValuePairs form);<a 
name="line.34"></a>
+<span class="sourceLineNo">035</span> *<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *       
&lt;ja&gt;@RemoteMethod&lt;/ja&gt;(path=&lt;js&gt;"/mymethod3"&lt;/js&gt;)<a 
name="line.36"></a>
+<span class="sourceLineNo">037</span> *       String 
myProxyMethod2(&lt;ja&gt;@FormData&lt;/ja&gt; Map&amp;lt;String,Object&amp;gt; 
form);<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> * &lt;p&gt;<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * The argument can be any of the 
following types:<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * &lt;ul class='spaced-list'&gt;<a 
name="line.42"></a>
+<span class="sourceLineNo">043</span> *    &lt;li&gt;Any serializable POJO - 
Converted to text using {@link UrlEncodingSerializer#serializePart(Object, 
Boolean, Boolean)}.<a name="line.43"></a>
+<span class="sourceLineNo">044</span> *    
&lt;li&gt;&lt;code&gt;NameValuePairs&lt;/code&gt; - Individual name-value 
pairs.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> *    
&lt;li&gt;&lt;code&gt;Map&amp;lt;String,Object&amp;gt;&lt;/code&gt; - 
Individual name-value pairs.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> *       Values are converted to text 
using {@link UrlEncodingSerializer#serializePart(Object, Boolean, Boolean)}.<a 
name="line.46"></a>
+<span class="sourceLineNo">047</span> * &lt;/ul&gt;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> */<a name="line.48"></a>
+<span class="sourceLineNo">049</span>@Documented<a name="line.49"></a>
+<span class="sourceLineNo">050</span>@Target(PARAMETER)<a name="line.50"></a>
+<span class="sourceLineNo">051</span>@Retention(RUNTIME)<a name="line.51"></a>
+<span class="sourceLineNo">052</span>@Inherited<a name="line.52"></a>
+<span class="sourceLineNo">053</span>public @interface FormData {<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>    * The form post parameter name.<a 
name="line.56"></a>
+<span class="sourceLineNo">057</span>    * Can be blank if the value is an 
instance of &lt;code&gt;NameValuePairs&lt;/code&gt; or 
&lt;code&gt;Map&amp;lt;String,Object&amp;gt;&lt;/code&gt;.<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    */<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   String value() default "";<a 
name="line.59"></a>
+<span class="sourceLineNo">060</span>}<a name="line.60"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/src-html/org/apache/juneau/remoteable/FormDataIfNE.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/remoteable/FormDataIfNE.html 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/FormDataIfNE.html
new file mode 100644
index 0000000..29671d1
--- /dev/null
+++ 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/FormDataIfNE.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// 
***************************************************************************************************************************<a
 name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software 
Foundation (ASF) under one or more contributor license agreements.  See the 
NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for 
additional information regarding copyright ownership.  The ASF licenses this 
file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, 
Version 2.0 (the "License"); you may not use this file except in compliance     
       *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a 
copy of the License at                                                          
    *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                      
                                                                                
   *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  
http://www.apache.org/licenses/LICENSE-2.0                                      
                                       *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                      
                                                                                
   *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or 
agreed to in writing, software distributed under the License is distributed on 
an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.  See the License for the     
   *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing 
permissions and limitations under the License.                                  
            *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// 
***************************************************************************************************************************<a
 name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.remoteable;<a 
name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>import static 
java.lang.annotation.ElementType.*;<a name="line.15"></a>
+<span class="sourceLineNo">016</span>import static 
java.lang.annotation.RetentionPolicy.*;<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>import java.lang.annotation.*;<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> * Identical to {@link FormData 
@FormData} except skips values if they're null/blank.<a name="line.21"></a>
+<span class="sourceLineNo">022</span> */<a name="line.22"></a>
+<span class="sourceLineNo">023</span>@Documented<a name="line.23"></a>
+<span class="sourceLineNo">024</span>@Target(PARAMETER)<a name="line.24"></a>
+<span class="sourceLineNo">025</span>@Retention(RUNTIME)<a name="line.25"></a>
+<span class="sourceLineNo">026</span>@Inherited<a name="line.26"></a>
+<span class="sourceLineNo">027</span>public @interface FormDataIfNE {<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>    * The form post parameter name.<a 
name="line.30"></a>
+<span class="sourceLineNo">031</span>    * Can be blank if the value is an 
instance of &lt;code&gt;NameValuePairs&lt;/code&gt; or 
&lt;code&gt;Map&amp;lt;String,Object&amp;gt;&lt;/code&gt;.<a name="line.31"></a>
+<span class="sourceLineNo">032</span>    */<a name="line.32"></a>
+<span class="sourceLineNo">033</span>   String value() default "";<a 
name="line.33"></a>
+<span class="sourceLineNo">034</span>}<a name="line.34"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/src-html/org/apache/juneau/remoteable/Header.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/remoteable/Header.html 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/Header.html
new file mode 100644
index 0000000..bbdb72b
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/remoteable/Header.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// 
***************************************************************************************************************************<a
 name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software 
Foundation (ASF) under one or more contributor license agreements.  See the 
NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for 
additional information regarding copyright ownership.  The ASF licenses this 
file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, 
Version 2.0 (the "License"); you may not use this file except in compliance     
       *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a 
copy of the License at                                                          
    *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                      
                                                                                
   *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  
http://www.apache.org/licenses/LICENSE-2.0                                      
                                       *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                      
                                                                                
   *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or 
agreed to in writing, software distributed under the License is distributed on 
an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.  See the License for the     
   *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing 
permissions and limitations under the License.                                  
            *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// 
***************************************************************************************************************************<a
 name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.remoteable;<a 
name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>import static 
java.lang.annotation.ElementType.*;<a name="line.15"></a>
+<span class="sourceLineNo">016</span>import static 
java.lang.annotation.RetentionPolicy.*;<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>import java.lang.annotation.*;<a 
name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import org.apache.juneau.urlencoding.*;<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> * Annotation applied to Java method 
arguments of interface proxies to denote that they are serialized as an HTTP 
header value.<a name="line.23"></a>
+<span class="sourceLineNo">024</span> * &lt;p&gt;<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;h5 
class='section'&gt;Example:&lt;/h5&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> * &lt;p class='bcode'&gt;<a 
name="line.26"></a>
+<span class="sourceLineNo">027</span> *    
&lt;ja&gt;@Remoteable&lt;/ja&gt;(path=&lt;js&gt;"/myproxy"&lt;/js&gt;)<a 
name="line.27"></a>
+<span class="sourceLineNo">028</span> *    &lt;jk&gt;public 
interface&lt;/jk&gt; MyProxy {<a name="line.28"></a>
+<span class="sourceLineNo">029</span> *<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *       
&lt;ja&gt;@RemoteMethod&lt;/ja&gt;(path=&lt;js&gt;"/mymethod1"&lt;/js&gt;)<a 
name="line.30"></a>
+<span class="sourceLineNo">031</span> *       String 
myProxyMethod1(&lt;ja&gt;@Header&lt;/ja&gt;(&lt;js&gt;"Foo"&lt;/js&gt;)&lt;/ja&gt;
 String foo, 
&lt;ja&gt;@Header&lt;/ja&gt;(&lt;js&gt;"Bar"&lt;/js&gt;)&lt;/ja&gt; MyPojo 
pojo);<a name="line.31"></a>
+<span class="sourceLineNo">032</span> *<a name="line.32"></a>
+<span class="sourceLineNo">033</span> *       
&lt;ja&gt;@RemoteMethod&lt;/ja&gt;(path=&lt;js&gt;"/mymethod2"&lt;/js&gt;)<a 
name="line.33"></a>
+<span class="sourceLineNo">034</span> *       String 
myProxyMethod2(&lt;ja&gt;@Header&lt;/ja&gt; Map&amp;lt;String,Object&amp;gt; 
headers);<a name="line.34"></a>
+<span class="sourceLineNo">035</span> *    }<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * &lt;/p&gt;<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * &lt;p&gt;<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * The argument can be any of the 
following types:<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * &lt;ul class='spaced-list'&gt;<a 
name="line.39"></a>
+<span class="sourceLineNo">040</span> *    &lt;li&gt;Any serializable POJO - 
Converted to text using {@link UrlEncodingSerializer#serializePart(Object, 
Boolean, Boolean)}.<a name="line.40"></a>
+<span class="sourceLineNo">041</span> *    
&lt;li&gt;&lt;code&gt;Map&amp;lt;String,Object&amp;gt;&lt;/code&gt; - 
Individual name-value pairs.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *       Values are converted to text 
using {@link UrlEncodingSerializer#serializePart(Object, Boolean, Boolean)}.<a 
name="line.42"></a>
+<span class="sourceLineNo">043</span> * &lt;/ul&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span> */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>@Documented<a name="line.45"></a>
+<span class="sourceLineNo">046</span>@Target(PARAMETER)<a name="line.46"></a>
+<span class="sourceLineNo">047</span>@Retention(RUNTIME)<a name="line.47"></a>
+<span class="sourceLineNo">048</span>@Inherited<a name="line.48"></a>
+<span class="sourceLineNo">049</span>public @interface Header {<a 
name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>   /**<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    * The HTTP header name.<a 
name="line.52"></a>
+<span class="sourceLineNo">053</span>    * Can be blank if the value is an 
instance of &lt;code&gt;Map&amp;lt;String,Object&amp;gt;&lt;/code&gt;.<a 
name="line.53"></a>
+<span class="sourceLineNo">054</span>    */<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   String value() default "";<a 
name="line.55"></a>
+<span class="sourceLineNo">056</span>}<a name="line.56"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/src-html/org/apache/juneau/remoteable/HeaderIfNE.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/remoteable/HeaderIfNE.html 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/HeaderIfNE.html
new file mode 100644
index 0000000..b0b89d6
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/remoteable/HeaderIfNE.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// 
***************************************************************************************************************************<a
 name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software 
Foundation (ASF) under one or more contributor license agreements.  See the 
NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for 
additional information regarding copyright ownership.  The ASF licenses this 
file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, 
Version 2.0 (the "License"); you may not use this file except in compliance     
       *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a 
copy of the License at                                                          
    *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                      
                                                                                
   *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  
http://www.apache.org/licenses/LICENSE-2.0                                      
                                       *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                      
                                                                                
   *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or 
agreed to in writing, software distributed under the License is distributed on 
an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.  See the License for the     
   *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing 
permissions and limitations under the License.                                  
            *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// 
***************************************************************************************************************************<a
 name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.remoteable;<a 
name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>import static 
java.lang.annotation.ElementType.*;<a name="line.15"></a>
+<span class="sourceLineNo">016</span>import static 
java.lang.annotation.RetentionPolicy.*;<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>import java.lang.annotation.*;<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> * Identical to {@link Header @Header} 
except skips values if they're null/blank.<a name="line.21"></a>
+<span class="sourceLineNo">022</span> */<a name="line.22"></a>
+<span class="sourceLineNo">023</span>@Documented<a name="line.23"></a>
+<span class="sourceLineNo">024</span>@Target(PARAMETER)<a name="line.24"></a>
+<span class="sourceLineNo">025</span>@Retention(RUNTIME)<a name="line.25"></a>
+<span class="sourceLineNo">026</span>@Inherited<a name="line.26"></a>
+<span class="sourceLineNo">027</span>public @interface HeaderIfNE {<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>    * The HTTP header name.<a 
name="line.30"></a>
+<span class="sourceLineNo">031</span>    * Can be blank if the value is an 
instance of &lt;code&gt;Map&amp;lt;String,Object&amp;gt;&lt;/code&gt;.<a 
name="line.31"></a>
+<span class="sourceLineNo">032</span>    */<a name="line.32"></a>
+<span class="sourceLineNo">033</span>   String value();<a name="line.33"></a>
+<span class="sourceLineNo">034</span>}<a name="line.34"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/src-html/org/apache/juneau/remoteable/Query.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/remoteable/Query.html 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/Query.html
new file mode 100644
index 0000000..703a681
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/remoteable/Query.html
@@ -0,0 +1,132 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// 
***************************************************************************************************************************<a
 name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software 
Foundation (ASF) under one or more contributor license agreements.  See the 
NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for 
additional information regarding copyright ownership.  The ASF licenses this 
file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, 
Version 2.0 (the "License"); you may not use this file except in compliance     
       *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a 
copy of the License at                                                          
    *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                      
                                                                                
   *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  
http://www.apache.org/licenses/LICENSE-2.0                                      
                                       *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                      
                                                                                
   *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or 
agreed to in writing, software distributed under the License is distributed on 
an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.  See the License for the     
   *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing 
permissions and limitations under the License.                                  
            *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// 
***************************************************************************************************************************<a
 name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.remoteable;<a 
name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>import static 
java.lang.annotation.ElementType.*;<a name="line.15"></a>
+<span class="sourceLineNo">016</span>import static 
java.lang.annotation.RetentionPolicy.*;<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>import java.lang.annotation.*;<a 
name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import org.apache.juneau.urlencoding.*;<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> * Annotation applied to Java method 
arguments of interface proxies to denote that they are QUERY parameters on the 
request.<a name="line.23"></a>
+<span class="sourceLineNo">024</span> * &lt;p&gt;<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;h5 
class='section'&gt;Example:&lt;/h5&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> * &lt;p class='bcode'&gt;<a 
name="line.26"></a>
+<span class="sourceLineNo">027</span> *    
&lt;ja&gt;@Remoteable&lt;/ja&gt;(path=&lt;js&gt;"/myproxy"&lt;/js&gt;)<a 
name="line.27"></a>
+<span class="sourceLineNo">028</span> *    &lt;jk&gt;public 
interface&lt;/jk&gt; MyProxy {<a name="line.28"></a>
+<span class="sourceLineNo">029</span> *<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *       
&lt;ja&gt;@RemoteMethod&lt;/ja&gt;(path=&lt;js&gt;"/mymethod1"&lt;/js&gt;)<a 
name="line.30"></a>
+<span class="sourceLineNo">031</span> *       String 
myProxyMethod1(&lt;ja&gt;@Query&lt;/ja&gt;(&lt;js&gt;"foo"&lt;/js&gt;)&lt;/ja&gt;
 String foo, &lt;ja&gt;@Query&lt;/ja&gt;(&lt;js&gt;"bar"&lt;/js&gt;)&lt;/ja&gt; 
MyPojo pojo);<a name="line.31"></a>
+<span class="sourceLineNo">032</span> *<a name="line.32"></a>
+<span class="sourceLineNo">033</span> *       
&lt;ja&gt;@RemoteMethod&lt;/ja&gt;(path=&lt;js&gt;"/mymethod2"&lt;/js&gt;)<a 
name="line.33"></a>
+<span class="sourceLineNo">034</span> *       String 
myProxyMethod2(&lt;ja&gt;@Query&lt;/ja&gt; Map&amp;lt;String,Object&amp;gt; 
query);<a name="line.34"></a>
+<span class="sourceLineNo">035</span> *<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *       
&lt;ja&gt;@RemoteMethod&lt;/ja&gt;(path=&lt;js&gt;"/mymethod3"&lt;/js&gt;)<a 
name="line.36"></a>
+<span class="sourceLineNo">037</span> *       String 
myProxyMethod2(&lt;ja&gt;@Query&lt;/ja&gt; String queryString);<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> * &lt;p&gt;<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * The argument can be any of the 
following types:<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * &lt;ul class='spaced-list'&gt;<a 
name="line.42"></a>
+<span class="sourceLineNo">043</span> *    &lt;li&gt;Any serializable POJO - 
Converted to text using {@link UrlEncodingSerializer#serializePart(Object, 
Boolean, Boolean)}.<a name="line.43"></a>
+<span class="sourceLineNo">044</span> *    
&lt;li&gt;&lt;code&gt;Map&amp;lt;String,Object&amp;gt;&lt;/code&gt; - 
Individual name-value pairs.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> *       Values are converted to text 
using {@link UrlEncodingSerializer#serializePart(Object, Boolean, Boolean)}.<a 
name="line.45"></a>
+<span class="sourceLineNo">046</span> *    &lt;li&gt;{@link String} - Treated 
as a query string.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * &lt;/ul&gt;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>*/<a name="line.48"></a>
+<span class="sourceLineNo">049</span>@Documented<a name="line.49"></a>
+<span class="sourceLineNo">050</span>@Target(PARAMETER)<a name="line.50"></a>
+<span class="sourceLineNo">051</span>@Retention(RUNTIME)<a name="line.51"></a>
+<span class="sourceLineNo">052</span>@Inherited<a name="line.52"></a>
+<span class="sourceLineNo">053</span>public @interface Query {<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>    * The query parameter name.<a 
name="line.56"></a>
+<span class="sourceLineNo">057</span>    * Can be blank if the value is an 
instance of &lt;code&gt;Map&amp;lt;String,Object&amp;gt;&lt;/code&gt; or 
&lt;code&gt;String&lt;/code&gt;.<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    */<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   String value() default "";<a 
name="line.59"></a>
+<span class="sourceLineNo">060</span>}<a name="line.60"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/src-html/org/apache/juneau/remoteable/QueryIfNE.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/remoteable/QueryIfNE.html 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/QueryIfNE.html
new file mode 100644
index 0000000..46941c5
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/remoteable/QueryIfNE.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// 
***************************************************************************************************************************<a
 name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software 
Foundation (ASF) under one or more contributor license agreements.  See the 
NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for 
additional information regarding copyright ownership.  The ASF licenses this 
file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, 
Version 2.0 (the "License"); you may not use this file except in compliance     
       *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a 
copy of the License at                                                          
    *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                      
                                                                                
   *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  
http://www.apache.org/licenses/LICENSE-2.0                                      
                                       *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                      
                                                                                
   *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or 
agreed to in writing, software distributed under the License is distributed on 
an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.  See the License for the     
   *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing 
permissions and limitations under the License.                                  
            *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// 
***************************************************************************************************************************<a
 name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.remoteable;<a 
name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>import static 
java.lang.annotation.ElementType.*;<a name="line.15"></a>
+<span class="sourceLineNo">016</span>import static 
java.lang.annotation.RetentionPolicy.*;<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>import java.lang.annotation.*;<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> * Identical to {@link Query @Query} 
except skips values if they're null/blank.<a name="line.21"></a>
+<span class="sourceLineNo">022</span> */<a name="line.22"></a>
+<span class="sourceLineNo">023</span>@Documented<a name="line.23"></a>
+<span class="sourceLineNo">024</span>@Target(PARAMETER)<a name="line.24"></a>
+<span class="sourceLineNo">025</span>@Retention(RUNTIME)<a name="line.25"></a>
+<span class="sourceLineNo">026</span>@Inherited<a name="line.26"></a>
+<span class="sourceLineNo">027</span>public @interface QueryIfNE {<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>    * The query parameter name.<a 
name="line.30"></a>
+<span class="sourceLineNo">031</span>    * Can be blank if the value is an 
instance of &lt;code&gt;Map&amp;lt;String,Object&amp;gt;&lt;/code&gt; or 
&lt;code&gt;String&lt;/code&gt;.<a name="line.31"></a>
+<span class="sourceLineNo">032</span>    */<a name="line.32"></a>
+<span class="sourceLineNo">033</span>   String value();<a name="line.33"></a>
+<span class="sourceLineNo">034</span>}<a name="line.34"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteMethod.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteMethod.html 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteMethod.html
new file mode 100644
index 0000000..5340221
--- /dev/null
+++ 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteMethod.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// 
***************************************************************************************************************************<a
 name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software 
Foundation (ASF) under one or more contributor license agreements.  See the 
NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for 
additional information regarding copyright ownership.  The ASF licenses this 
file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, 
Version 2.0 (the "License"); you may not use this file except in compliance     
       *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a 
copy of the License at                                                          
    *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                      
                                                                                
   *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  
http://www.apache.org/licenses/LICENSE-2.0                                      
                                       *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                      
                                                                                
   *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or 
agreed to in writing, software distributed under the License is distributed on 
an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.  See the License for the     
   *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing 
permissions and limitations under the License.                                  
            *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// 
***************************************************************************************************************************<a
 name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.remoteable;<a 
name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>import static 
java.lang.annotation.ElementType.*;<a name="line.15"></a>
+<span class="sourceLineNo">016</span>import static 
java.lang.annotation.RetentionPolicy.*;<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>import java.io.*;<a name="line.18"></a>
+<span class="sourceLineNo">019</span>import java.lang.annotation.*;<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> * Annotation applied to Java methods on 
interface proxy classes.<a name="line.22"></a>
+<span class="sourceLineNo">023</span> * &lt;p&gt;<a name="line.23"></a>
+<span class="sourceLineNo">024</span> * TODO &lt;i&gt;(sorry)&lt;/i&gt;<a 
name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;p&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> * The return type on the Java method can 
be any of the following:<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * &lt;ul&gt;<a name="line.27"></a>
+<span class="sourceLineNo">028</span> *    &lt;li&gt;&lt;jk&gt;void&lt;/jk&gt; 
- Don't parse any response.  Note that the method will still throw an exception 
if an error HTTP status is returned.<a name="line.28"></a>
+<span class="sourceLineNo">029</span> *    &lt;li&gt;Any parsable POJO - The 
body of the response will be converted to the POJO using the parser defined on 
the &lt;code&gt;RestClient&lt;/code&gt;.<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *    
&lt;li&gt;&lt;code&gt;HttpResponse&lt;/code&gt; - Returns the raw 
&lt;code&gt;HttpResponse&lt;/code&gt; returned by the inner 
&lt;code&gt;HttpClient&lt;/code&gt;.<a name="line.30"></a>
+<span class="sourceLineNo">031</span> *    &lt;li&gt;{@link Reader} - Returns 
access to the raw reader of the response.<a name="line.31"></a>
+<span class="sourceLineNo">032</span> *    &lt;li&gt;{@link InputStream} - 
Returns access to the raw input stream of the response.<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * &lt;/ul&gt;<a name="line.33"></a>
+<span class="sourceLineNo">034</span> */<a name="line.34"></a>
+<span class="sourceLineNo">035</span>@Documented<a name="line.35"></a>
+<span class="sourceLineNo">036</span>@Target(METHOD)<a name="line.36"></a>
+<span class="sourceLineNo">037</span>@Retention(RUNTIME)<a name="line.37"></a>
+<span class="sourceLineNo">038</span>@Inherited<a name="line.38"></a>
+<span class="sourceLineNo">039</span>public @interface RemoteMethod {<a 
name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>   /**<a name="line.41"></a>
+<span class="sourceLineNo">042</span>    * The path to the REST service for 
this Java method relative to the parent proxy interface URL.<a 
name="line.42"></a>
+<span class="sourceLineNo">043</span>    * &lt;p&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>    * The default value is the Java 
method name (e.g. 
&lt;js&gt;"http://localhost/root-url/org.foo.MyInterface/myMethod"&lt;/js&gt;) 
if<a name="line.44"></a>
+<span class="sourceLineNo">045</span>    *    {@link Remoteable#methodPaths() 
@Remoteable.methodPaths()} is &lt;js&gt;"NAME"&lt;/js&gt;, or the Java method 
signature<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    *    (e.g. 
&lt;js&gt;"http://localhost/root-url/org.foo.MyInterface/myMethod(int,boolean,java.lang.String)"&lt;/js&gt;)
 if<a name="line.46"></a>
+<span class="sourceLineNo">047</span>    *    it's 
&lt;js&gt;"SIGNATURE"&lt;/js&gt;.<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    */<a name="line.48"></a>
+<span class="sourceLineNo">049</span>   String path() default "";<a 
name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>   /**<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    * Defines whether to use 
&lt;code&gt;GET&lt;/code&gt; or &lt;code&gt;POST&lt;/code&gt; for REST calls.<a 
name="line.52"></a>
+<span class="sourceLineNo">053</span>    * &lt;p&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    * Possible values:<a 
name="line.54"></a>
+<span class="sourceLineNo">055</span>    * &lt;ul&gt;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    *    
&lt;li&gt;&lt;js&gt;"POST"&lt;/js&gt; (default) - Parameters are serialized 
using the serializer registered with the RestClient.<a name="line.56"></a>
+<span class="sourceLineNo">057</span>    *    
&lt;li&gt;&lt;js&gt;"GET"&lt;/js&gt; - Parameters are serialized using the 
UrlEncodingSerializer registered with the RestClient.<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    * &lt;/ul&gt;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    * &lt;p&gt;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    * The default value is 
&lt;js&gt;"POST"&lt;/js&gt;.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    */<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   String httpMethod() default "POST";<a 
name="line.62"></a>
+<span class="sourceLineNo">063</span>}<a name="line.63"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteMethodArg.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteMethodArg.html
 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteMethodArg.html
new file mode 100644
index 0000000..0a244d8
--- /dev/null
+++ 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteMethodArg.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// 
***************************************************************************************************************************<a
 name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software 
Foundation (ASF) under one or more contributor license agreements.  See the 
NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for 
additional information regarding copyright ownership.  The ASF licenses this 
file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, 
Version 2.0 (the "License"); you may not use this file except in compliance     
       *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a 
copy of the License at                                                          
    *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                      
                                                                                
   *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  
http://www.apache.org/licenses/LICENSE-2.0                                      
                                       *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                      
                                                                                
   *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or 
agreed to in writing, software distributed under the License is distributed on 
an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.  See the License for the     
   *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing 
permissions and limitations under the License.                                  
            *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// 
***************************************************************************************************************************<a
 name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.remoteable;<a 
name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>/**<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * Represents the metadata about an 
annotated argument of a method on a remote proxy interface.<a 
name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>public class RemoteMethodArg {<a 
name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>   /** The argument name.  Can be blank. 
*/<a name="line.20"></a>
+<span class="sourceLineNo">021</span>   public final String name;<a 
name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>   /** The zero-based index of the 
argument on the Java method. */<a name="line.23"></a>
+<span class="sourceLineNo">024</span>   public final int index;<a 
name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>   /** The value is skipped if it's 
null/empty. */<a name="line.26"></a>
+<span class="sourceLineNo">027</span>   public final boolean skipIfNE;<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>    * Constructor.<a name="line.30"></a>
+<span class="sourceLineNo">031</span>    *<a name="line.31"></a>
+<span class="sourceLineNo">032</span>    * @param name The argument name.  Can 
be blank.<a name="line.32"></a>
+<span class="sourceLineNo">033</span>    * @param index The zero-based index 
of the argument on the Java method.<a name="line.33"></a>
+<span class="sourceLineNo">034</span>    * @param skipIfNE The value is 
skipped if it's null/empty.<a name="line.34"></a>
+<span class="sourceLineNo">035</span>    */<a name="line.35"></a>
+<span class="sourceLineNo">036</span>   protected RemoteMethodArg(String name, 
int index, boolean skipIfNE) {<a name="line.36"></a>
+<span class="sourceLineNo">037</span>      this.name = name;<a 
name="line.37"></a>
+<span class="sourceLineNo">038</span>      this.index = index;<a 
name="line.38"></a>
+<span class="sourceLineNo">039</span>      this.skipIfNE = skipIfNE;<a 
name="line.39"></a>
+<span class="sourceLineNo">040</span>   }<a name="line.40"></a>
+<span class="sourceLineNo">041</span>}<a name="line.41"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/src-html/org/apache/juneau/remoteable/Remoteable.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/remoteable/Remoteable.html 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/Remoteable.html
new file mode 100644
index 0000000..47c2b81
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/remoteable/Remoteable.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// 
***************************************************************************************************************************<a
 name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software 
Foundation (ASF) under one or more contributor license agreements.  See the 
NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for 
additional information regarding copyright ownership.  The ASF licenses this 
file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, 
Version 2.0 (the "License"); you may not use this file except in compliance     
       *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a 
copy of the License at                                                          
    *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                      
                                                                                
   *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  
http://www.apache.org/licenses/LICENSE-2.0                                      
                                       *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                      
                                                                                
   *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or 
agreed to in writing, software distributed under the License is distributed on 
an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.  See the License for the     
   *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing 
permissions and limitations under the License.                                  
            *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// 
***************************************************************************************************************************<a
 name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.remoteable;<a 
name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>import static 
java.lang.annotation.ElementType.*;<a name="line.15"></a>
+<span class="sourceLineNo">016</span>import static 
java.lang.annotation.RetentionPolicy.*;<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>import java.lang.annotation.*;<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> * Identifies a remote proxy interface 
against a REST interface.<a name="line.21"></a>
+<span class="sourceLineNo">022</span> * &lt;p&gt;<a name="line.22"></a>
+<span class="sourceLineNo">023</span> * TODO &lt;i&gt;(sorry)&lt;/i&gt;<a 
name="line.23"></a>
+<span class="sourceLineNo">024</span> */<a name="line.24"></a>
+<span class="sourceLineNo">025</span>@Documented<a name="line.25"></a>
+<span class="sourceLineNo">026</span>@Target({TYPE,METHOD})<a 
name="line.26"></a>
+<span class="sourceLineNo">027</span>@Retention(RUNTIME)<a name="line.27"></a>
+<span class="sourceLineNo">028</span>@Inherited<a name="line.28"></a>
+<span class="sourceLineNo">029</span>public @interface Remoteable {<a 
name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>   /**<a name="line.31"></a>
+<span class="sourceLineNo">032</span>    * The absolute or relative path of 
the REST service.<a name="line.32"></a>
+<span class="sourceLineNo">033</span>    * &lt;p&gt;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>    * When a relative path is specified, 
it's relative to the root-url defined on the 
&lt;code&gt;RestClient&lt;/code&gt; used<a name="line.34"></a>
+<span class="sourceLineNo">035</span>    * to instantiate the interface.<a 
name="line.35"></a>
+<span class="sourceLineNo">036</span>    * &lt;p&gt;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>    * When no path is specified, the path 
is assumed to be the class name (e.g. 
&lt;js&gt;"http://localhost/root-url/org.foo.MyInterface"&lt;/js&gt;)<a 
name="line.37"></a>
+<span class="sourceLineNo">038</span>    */<a name="line.38"></a>
+<span class="sourceLineNo">039</span>   String path() default "";<a 
name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>   /**<a name="line.41"></a>
+<span class="sourceLineNo">042</span>    * Identifies which methods on the 
interface should be exposed through the proxy.<a name="line.42"></a>
+<span class="sourceLineNo">043</span>    * &lt;p&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>    * The options are:<a 
name="line.44"></a>
+<span class="sourceLineNo">045</span>    * &lt;ul&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    *    
&lt;li&gt;&lt;js&gt;"DECLARED"&lt;/js&gt; (default) - Only methods declared on 
the immediate interface/class are exposed.  Methods on parent 
interfaces/classes are ignored.<a name="line.46"></a>
+<span class="sourceLineNo">047</span>    *    
&lt;li&gt;&lt;js&gt;"ANNOTATED"&lt;/js&gt; - Only methods annotated with {@link 
RemoteMethod} are exposed.<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    *    
&lt;li&gt;&lt;js&gt;"ALL"&lt;/js&gt; - All methods defined on the interface or 
class are exposed.<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    * &lt;/ul&gt;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    */<a name="line.50"></a>
+<span class="sourceLineNo">051</span>   String expose() default "DECLARED";<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>    * Defines the methodology to use for 
the path names of the methods when not explicitly defined via {@link 
RemoteMethod#path() @RemoteMethod.path()}.<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    * &lt;p&gt;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    * The options are:<a 
name="line.56"></a>
+<span class="sourceLineNo">057</span>    * &lt;ul&gt;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    *    
&lt;li&gt;&lt;js&gt;"NAME"&lt;/js&gt; (default) - Use the method name (e.g. 
"myMethod").<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    *    
&lt;li&gt;&lt;js&gt;"SIGNATURE"&lt;/js&gt; - Use the method signature (e.g. 
"myMethod(int,boolean,java.lang.String,int[][][])").<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    * &lt;/ul&gt;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    * &lt;p&gt;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    * Note that if you use 
&lt;js&gt;"NAME"&lt;/js&gt;, method names must be unique in the interface.<a 
name="line.62"></a>
+<span class="sourceLineNo">063</span>    */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   String methodPaths() default "NAME";<a 
name="line.64"></a>
+<span class="sourceLineNo">065</span>}<a name="line.65"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteableMeta.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteableMeta.html
 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteableMeta.html
new file mode 100644
index 0000000..d6feeba
--- /dev/null
+++ 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteableMeta.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// 
***************************************************************************************************************************<a
 name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software 
Foundation (ASF) under one or more contributor license agreements.  See the 
NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for 
additional information regarding copyright ownership.  The ASF licenses this 
file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, 
Version 2.0 (the "License"); you may not use this file except in compliance     
       *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a 
copy of the License at                                                          
    *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                      
                                                                                
   *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  
http://www.apache.org/licenses/LICENSE-2.0                                      
                                       *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                      
                                                                                
   *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or 
agreed to in writing, software distributed under the License is distributed on 
an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.  See the License for the     
   *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing 
permissions and limitations under the License.                                  
            *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// 
***************************************************************************************************************************<a
 name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.remoteable;<a 
name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>import static 
org.apache.juneau.internal.StringUtils.*;<a name="line.15"></a>
+<span class="sourceLineNo">016</span>import static 
org.apache.juneau.internal.ClassUtils.*;<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>import java.lang.reflect.*;<a 
name="line.18"></a>
+<span class="sourceLineNo">019</span>import java.util.*;<a name="line.19"></a>
+<span class="sourceLineNo">020</span><a name="line.20"></a>
+<span class="sourceLineNo">021</span>import org.apache.juneau.internal.*;<a 
name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>/**<a name="line.23"></a>
+<span class="sourceLineNo">024</span> * Contains the meta-data about a 
remoteable interface.<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;p&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> * Captures the information in {@link 
Remoteable @Remoteable} and {@link RemoteMethod @RemoteMethod}<a 
name="line.26"></a>
+<span class="sourceLineNo">027</span> * annotations for caching and reuse.<a 
name="line.27"></a>
+<span class="sourceLineNo">028</span> */<a name="line.28"></a>
+<span class="sourceLineNo">029</span>public class RemoteableMeta {<a 
name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>   private final 
Map&lt;Method,RemoteableMethodMeta&gt; methods;<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>    * Constructor.<a name="line.34"></a>
+<span class="sourceLineNo">035</span>    *<a name="line.35"></a>
+<span class="sourceLineNo">036</span>    * @param c The interface class 
annotated with a {@link Remoteable @Remoteable} annotation (optional).<a 
name="line.36"></a>
+<span class="sourceLineNo">037</span>    * @param restUrl The absolute URL of 
the remote REST interface that implements this proxy interface.<a 
name="line.37"></a>
+<span class="sourceLineNo">038</span>    */<a name="line.38"></a>
+<span class="sourceLineNo">039</span>   public RemoteableMeta(Class&lt;?&gt; 
c, String restUrl) {<a name="line.39"></a>
+<span class="sourceLineNo">040</span>      Remoteable r = 
ReflectionUtils.getAnnotation(Remoteable.class, c);<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>      String expose = r == null ? 
"DECLARED" : r.expose();<a name="line.42"></a>
+<span class="sourceLineNo">043</span>      if (! isOneOf(expose, "ALL", 
"DECLARED", "ANNOTATED"))<a name="line.43"></a>
+<span class="sourceLineNo">044</span>         throw new 
RemoteableMetadataException(c, "Invalid value specified for ''expose'' 
annotation.  Valid values are [ALL,ANNOTATED,DECLARED].");<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>      
Map&lt;Method,RemoteableMethodMeta&gt; _methods = new 
LinkedHashMap&lt;Method,RemoteableMethodMeta&gt;();<a name="line.46"></a>
+<span class="sourceLineNo">047</span>      for (Method m : 
expose.equals("DECLARED") ? c.getDeclaredMethods() : c.getMethods()) {<a 
name="line.47"></a>
+<span class="sourceLineNo">048</span>         if (isPublic(m)) {<a 
name="line.48"></a>
+<span class="sourceLineNo">049</span>            RemoteMethod rm = 
c.getAnnotation(RemoteMethod.class);<a name="line.49"></a>
+<span class="sourceLineNo">050</span>            if (rm != null || ! 
expose.equals("ANNOTATED"))<a name="line.50"></a>
+<span class="sourceLineNo">051</span>               _methods.put(m, new 
RemoteableMethodMeta(restUrl, m));<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>      this.methods = 
Collections.unmodifiableMap(_methods);<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>    * Returns the metadata about the 
specified method on this interface proxy.<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    *<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    * @param m The method to look up.<a 
name="line.61"></a>
+<span class="sourceLineNo">062</span>    * @return Metadata about the method, 
or &lt;jk&gt;null&lt;/jk&gt; if no metadata was found.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   public RemoteableMethodMeta 
getMethodMeta(Method m) {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      return methods.get(m);<a 
name="line.65"></a>
+<span class="sourceLineNo">066</span>   }<a name="line.66"></a>
+<span class="sourceLineNo">067</span>}<a name="line.67"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteableMetadataException.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteableMetadataException.html
 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteableMetadataException.html
new file mode 100644
index 0000000..4255e11
--- /dev/null
+++ 
b/content/site/apidocs/src-html/org/apache/juneau/remoteable/RemoteableMetadataException.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// 
***************************************************************************************************************************<a
 name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software 
Foundation (ASF) under one or more contributor license agreements.  See the 
NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for 
additional information regarding copyright ownership.  The ASF licenses this 
file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, 
Version 2.0 (the "License"); you may not use this file except in compliance     
       *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a 
copy of the License at                                                          
    *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                      
                                                                                
   *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  
http://www.apache.org/licenses/LICENSE-2.0                                      
                                       *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                      
                                                                                
   *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or 
agreed to in writing, software distributed under the License is distributed on 
an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY KIND, either express or implied.  See the License for the     
   *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing 
permissions and limitations under the License.                                  
            *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// 
***************************************************************************************************************************<a
 name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.remoteable;<a 
name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>import java.lang.reflect.*;<a 
name="line.15"></a>
+<span class="sourceLineNo">016</span>import java.text.*;<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> * Exceptions caused by invalid 
Remoteable classes.<a name="line.21"></a>
+<span class="sourceLineNo">022</span> */<a name="line.22"></a>
+<span class="sourceLineNo">023</span>public class RemoteableMetadataException 
extends FormattedRuntimeException {<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>   private static final long 
serialVersionUID = 1L;<a name="line.25"></a>
+<span class="sourceLineNo">026</span><a name="line.26"></a>
+<span class="sourceLineNo">027</span>   /**<a name="line.27"></a>
+<span class="sourceLineNo">028</span>    * Constructor.<a name="line.28"></a>
+<span class="sourceLineNo">029</span>    *<a name="line.29"></a>
+<span class="sourceLineNo">030</span>    * @param m The interface method that 
has an invalid definition.<a name="line.30"></a>
+<span class="sourceLineNo">031</span>    * @param message The {@link 
MessageFormat}-style message.<a name="line.31"></a>
+<span class="sourceLineNo">032</span>    * @param args Optional {@link 
MessageFormat}-style arguments.<a name="line.32"></a>
+<span class="sourceLineNo">033</span>    */<a name="line.33"></a>
+<span class="sourceLineNo">034</span>   public 
RemoteableMetadataException(Method m, String message, Object...args) {<a 
name="line.34"></a>
+<span class="sourceLineNo">035</span>      
super(getMessage(m.getDeclaringClass(), m, message), args);<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>    * Constructor.<a name="line.39"></a>
+<span class="sourceLineNo">040</span>    *<a name="line.40"></a>
+<span class="sourceLineNo">041</span>    * @param c The interface class that 
has an invalid definition.<a name="line.41"></a>
+<span class="sourceLineNo">042</span>    * @param message The {@link 
MessageFormat}-style message.<a name="line.42"></a>
+<span class="sourceLineNo">043</span>    * @param args Optional {@link 
MessageFormat}-style arguments.<a name="line.43"></a>
+<span class="sourceLineNo">044</span>    */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>   public 
RemoteableMetadataException(Class&lt;?&gt; c, String message, Object...args) 
{<a name="line.45"></a>
+<span class="sourceLineNo">046</span>      super(getMessage(c, null, message), 
args);<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>   private static final String 
getMessage(Class&lt;?&gt; c, Method m, String msg) {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>      StringBuilder sb = new 
StringBuilder("Invalid remoteable definition found on class 
").append(c.getName());<a name="line.50"></a>
+<span class="sourceLineNo">051</span>      if (m != null)<a name="line.51"></a>
+<span class="sourceLineNo">052</span>         sb.append(" on method 
").append(m.getName());<a name="line.52"></a>
+<span class="sourceLineNo">053</span>      sb.append(". ").append(msg);<a 
name="line.53"></a>
+<span class="sourceLineNo">054</span>      return sb.toString();<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>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

Reply via email to