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> * <p><a name="line.25"></a> +<span class="sourceLineNo">026</span> * <h5 class='section'>Example:</h5><a name="line.26"></a> +<span class="sourceLineNo">027</span> * <p class='bcode'><a name="line.27"></a> +<span class="sourceLineNo">028</span> * <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>)<a name="line.28"></a> +<span class="sourceLineNo">029</span> * <jk>public interface</jk> MyProxy {<a name="line.29"></a> +<span class="sourceLineNo">030</span> *<a name="line.30"></a> +<span class="sourceLineNo">031</span> * <ja>@RemoteMethod</ja>(path=<js>"/mymethod"</js>)<a name="line.31"></a> +<span class="sourceLineNo">032</span> * String myProxyMethod(<ja>@Body</ja> MyPojo pojo);<a name="line.32"></a> +<span class="sourceLineNo">033</span> * }<a name="line.33"></a> +<span class="sourceLineNo">034</span> * </p><a name="line.34"></a> +<span class="sourceLineNo">035</span> * <p><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> * <ul class='spaced-list'><a name="line.37"></a> +<span class="sourceLineNo">038</span> * <li>Any serializable POJO - Converted to text using the {@link Serializer} registered with the <code>RestClient</code>.<a name="line.38"></a> +<span class="sourceLineNo">039</span> * <li>{@link Reader} - Raw contents of {@code Reader} will be serialized to remote resource.<a name="line.39"></a> +<span class="sourceLineNo">040</span> * <li>{@link InputStream} - Raw contents of {@code InputStream} will be serialized to remote resource.<a name="line.40"></a> +<span class="sourceLineNo">041</span> * <li><code>HttpEntity</code> - Bypass Juneau serialization and pass HttpEntity directly to HttpClient.<a name="line.41"></a> +<span class="sourceLineNo">042</span> * <li><code>NameValuePairs</code> - Converted to a URL-encoded FORM post.<a name="line.42"></a> +<span class="sourceLineNo">043</span> * </ul><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> * <p><a name="line.24"></a> +<span class="sourceLineNo">025</span> * <h5 class='section'>Example:</h5><a name="line.25"></a> +<span class="sourceLineNo">026</span> * <p class='bcode'><a name="line.26"></a> +<span class="sourceLineNo">027</span> * <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>)<a name="line.27"></a> +<span class="sourceLineNo">028</span> * <jk>public interface</jk> MyProxy {<a name="line.28"></a> +<span class="sourceLineNo">029</span> *<a name="line.29"></a> +<span class="sourceLineNo">030</span> * <ja>@RemoteMethod</ja>(path=<js>"/mymethod1"</js>)<a name="line.30"></a> +<span class="sourceLineNo">031</span> * String myProxyMethod1(<ja>@FormData</ja>(<js>"foo"</js>)</ja> String foo, <ja>@FormData</ja>(<js>"bar"</js>)</ja> MyPojo pojo);<a name="line.31"></a> +<span class="sourceLineNo">032</span> *<a name="line.32"></a> +<span class="sourceLineNo">033</span> * <ja>@RemoteMethod</ja>(path=<js>"/mymethod2"</js>)<a name="line.33"></a> +<span class="sourceLineNo">034</span> * String myProxyMethod2(<ja>@FormData</ja> NameValuePairs form);<a name="line.34"></a> +<span class="sourceLineNo">035</span> *<a name="line.35"></a> +<span class="sourceLineNo">036</span> * <ja>@RemoteMethod</ja>(path=<js>"/mymethod3"</js>)<a name="line.36"></a> +<span class="sourceLineNo">037</span> * String myProxyMethod2(<ja>@FormData</ja> Map&lt;String,Object&gt; form);<a name="line.37"></a> +<span class="sourceLineNo">038</span> * }<a name="line.38"></a> +<span class="sourceLineNo">039</span> * </p><a name="line.39"></a> +<span class="sourceLineNo">040</span> * <p><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> * <ul class='spaced-list'><a name="line.42"></a> +<span class="sourceLineNo">043</span> * <li>Any serializable POJO - Converted to text using {@link UrlEncodingSerializer#serializePart(Object, Boolean, Boolean)}.<a name="line.43"></a> +<span class="sourceLineNo">044</span> * <li><code>NameValuePairs</code> - Individual name-value pairs.<a name="line.44"></a> +<span class="sourceLineNo">045</span> * <li><code>Map&lt;String,Object&gt;</code> - 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> * </ul><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 <code>NameValuePairs</code> or <code>Map&lt;String,Object&gt;</code>.<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 <code>NameValuePairs</code> or <code>Map&lt;String,Object&gt;</code>.<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> * <p><a name="line.24"></a> +<span class="sourceLineNo">025</span> * <h5 class='section'>Example:</h5><a name="line.25"></a> +<span class="sourceLineNo">026</span> * <p class='bcode'><a name="line.26"></a> +<span class="sourceLineNo">027</span> * <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>)<a name="line.27"></a> +<span class="sourceLineNo">028</span> * <jk>public interface</jk> MyProxy {<a name="line.28"></a> +<span class="sourceLineNo">029</span> *<a name="line.29"></a> +<span class="sourceLineNo">030</span> * <ja>@RemoteMethod</ja>(path=<js>"/mymethod1"</js>)<a name="line.30"></a> +<span class="sourceLineNo">031</span> * String myProxyMethod1(<ja>@Header</ja>(<js>"Foo"</js>)</ja> String foo, <ja>@Header</ja>(<js>"Bar"</js>)</ja> MyPojo pojo);<a name="line.31"></a> +<span class="sourceLineNo">032</span> *<a name="line.32"></a> +<span class="sourceLineNo">033</span> * <ja>@RemoteMethod</ja>(path=<js>"/mymethod2"</js>)<a name="line.33"></a> +<span class="sourceLineNo">034</span> * String myProxyMethod2(<ja>@Header</ja> Map&lt;String,Object&gt; headers);<a name="line.34"></a> +<span class="sourceLineNo">035</span> * }<a name="line.35"></a> +<span class="sourceLineNo">036</span> * </p><a name="line.36"></a> +<span class="sourceLineNo">037</span> * <p><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> * <ul class='spaced-list'><a name="line.39"></a> +<span class="sourceLineNo">040</span> * <li>Any serializable POJO - Converted to text using {@link UrlEncodingSerializer#serializePart(Object, Boolean, Boolean)}.<a name="line.40"></a> +<span class="sourceLineNo">041</span> * <li><code>Map&lt;String,Object&gt;</code> - 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> * </ul><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 <code>Map&lt;String,Object&gt;</code>.<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 <code>Map&lt;String,Object&gt;</code>.<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> * <p><a name="line.24"></a> +<span class="sourceLineNo">025</span> * <h5 class='section'>Example:</h5><a name="line.25"></a> +<span class="sourceLineNo">026</span> * <p class='bcode'><a name="line.26"></a> +<span class="sourceLineNo">027</span> * <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>)<a name="line.27"></a> +<span class="sourceLineNo">028</span> * <jk>public interface</jk> MyProxy {<a name="line.28"></a> +<span class="sourceLineNo">029</span> *<a name="line.29"></a> +<span class="sourceLineNo">030</span> * <ja>@RemoteMethod</ja>(path=<js>"/mymethod1"</js>)<a name="line.30"></a> +<span class="sourceLineNo">031</span> * String myProxyMethod1(<ja>@Query</ja>(<js>"foo"</js>)</ja> String foo, <ja>@Query</ja>(<js>"bar"</js>)</ja> MyPojo pojo);<a name="line.31"></a> +<span class="sourceLineNo">032</span> *<a name="line.32"></a> +<span class="sourceLineNo">033</span> * <ja>@RemoteMethod</ja>(path=<js>"/mymethod2"</js>)<a name="line.33"></a> +<span class="sourceLineNo">034</span> * String myProxyMethod2(<ja>@Query</ja> Map&lt;String,Object&gt; query);<a name="line.34"></a> +<span class="sourceLineNo">035</span> *<a name="line.35"></a> +<span class="sourceLineNo">036</span> * <ja>@RemoteMethod</ja>(path=<js>"/mymethod3"</js>)<a name="line.36"></a> +<span class="sourceLineNo">037</span> * String myProxyMethod2(<ja>@Query</ja> String queryString);<a name="line.37"></a> +<span class="sourceLineNo">038</span> * }<a name="line.38"></a> +<span class="sourceLineNo">039</span> * </p><a name="line.39"></a> +<span class="sourceLineNo">040</span> * <p><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> * <ul class='spaced-list'><a name="line.42"></a> +<span class="sourceLineNo">043</span> * <li>Any serializable POJO - Converted to text using {@link UrlEncodingSerializer#serializePart(Object, Boolean, Boolean)}.<a name="line.43"></a> +<span class="sourceLineNo">044</span> * <li><code>Map&lt;String,Object&gt;</code> - 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> * <li>{@link String} - Treated as a query string.<a name="line.46"></a> +<span class="sourceLineNo">047</span> * </ul><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 <code>Map&lt;String,Object&gt;</code> or <code>String</code>.<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 <code>Map&lt;String,Object&gt;</code> or <code>String</code>.<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> * <p><a name="line.23"></a> +<span class="sourceLineNo">024</span> * TODO <i>(sorry)</i><a name="line.24"></a> +<span class="sourceLineNo">025</span> * <p><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> * <ul><a name="line.27"></a> +<span class="sourceLineNo">028</span> * <li><jk>void</jk> - 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> * <li>Any parsable POJO - The body of the response will be converted to the POJO using the parser defined on the <code>RestClient</code>.<a name="line.29"></a> +<span class="sourceLineNo">030</span> * <li><code>HttpResponse</code> - Returns the raw <code>HttpResponse</code> returned by the inner <code>HttpClient</code>.<a name="line.30"></a> +<span class="sourceLineNo">031</span> * <li>{@link Reader} - Returns access to the raw reader of the response.<a name="line.31"></a> +<span class="sourceLineNo">032</span> * <li>{@link InputStream} - Returns access to the raw input stream of the response.<a name="line.32"></a> +<span class="sourceLineNo">033</span> * </ul><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> * <p><a name="line.43"></a> +<span class="sourceLineNo">044</span> * The default value is the Java method name (e.g. <js>"http://localhost/root-url/org.foo.MyInterface/myMethod"</js>) if<a name="line.44"></a> +<span class="sourceLineNo">045</span> * {@link Remoteable#methodPaths() @Remoteable.methodPaths()} is <js>"NAME"</js>, or the Java method signature<a name="line.45"></a> +<span class="sourceLineNo">046</span> * (e.g. <js>"http://localhost/root-url/org.foo.MyInterface/myMethod(int,boolean,java.lang.String)"</js>) if<a name="line.46"></a> +<span class="sourceLineNo">047</span> * it's <js>"SIGNATURE"</js>.<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 <code>GET</code> or <code>POST</code> for REST calls.<a name="line.52"></a> +<span class="sourceLineNo">053</span> * <p><a name="line.53"></a> +<span class="sourceLineNo">054</span> * Possible values:<a name="line.54"></a> +<span class="sourceLineNo">055</span> * <ul><a name="line.55"></a> +<span class="sourceLineNo">056</span> * <li><js>"POST"</js> (default) - Parameters are serialized using the serializer registered with the RestClient.<a name="line.56"></a> +<span class="sourceLineNo">057</span> * <li><js>"GET"</js> - Parameters are serialized using the UrlEncodingSerializer registered with the RestClient.<a name="line.57"></a> +<span class="sourceLineNo">058</span> * </ul><a name="line.58"></a> +<span class="sourceLineNo">059</span> * <p><a name="line.59"></a> +<span class="sourceLineNo">060</span> * The default value is <js>"POST"</js>.<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> * <p><a name="line.22"></a> +<span class="sourceLineNo">023</span> * TODO <i>(sorry)</i><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> * <p><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 <code>RestClient</code> 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> * <p><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. <js>"http://localhost/root-url/org.foo.MyInterface"</js>)<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> * <p><a name="line.43"></a> +<span class="sourceLineNo">044</span> * The options are:<a name="line.44"></a> +<span class="sourceLineNo">045</span> * <ul><a name="line.45"></a> +<span class="sourceLineNo">046</span> * <li><js>"DECLARED"</js> (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> * <li><js>"ANNOTATED"</js> - Only methods annotated with {@link RemoteMethod} are exposed.<a name="line.47"></a> +<span class="sourceLineNo">048</span> * <li><js>"ALL"</js> - All methods defined on the interface or class are exposed.<a name="line.48"></a> +<span class="sourceLineNo">049</span> * </ul><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> * <p><a name="line.55"></a> +<span class="sourceLineNo">056</span> * The options are:<a name="line.56"></a> +<span class="sourceLineNo">057</span> * <ul><a name="line.57"></a> +<span class="sourceLineNo">058</span> * <li><js>"NAME"</js> (default) - Use the method name (e.g. "myMethod").<a name="line.58"></a> +<span class="sourceLineNo">059</span> * <li><js>"SIGNATURE"</js> - Use the method signature (e.g. "myMethod(int,boolean,java.lang.String,int[][][])").<a name="line.59"></a> +<span class="sourceLineNo">060</span> * </ul><a name="line.60"></a> +<span class="sourceLineNo">061</span> * <p><a name="line.61"></a> +<span class="sourceLineNo">062</span> * Note that if you use <js>"NAME"</js>, 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> * <p><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<Method,RemoteableMethodMeta> 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<?> 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<Method,RemoteableMethodMeta> _methods = new LinkedHashMap<Method,RemoteableMethodMeta>();<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 <jk>null</jk> 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<?> 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<?> 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>
