http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/19e9b7df/content/site/apidocs/org/apache/juneau/remoteable/FormData.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/remoteable/FormData.html b/content/site/apidocs/org/apache/juneau/remoteable/FormData.html index fa12b66..6785fa1 100644 --- a/content/site/apidocs/org/apache/juneau/remoteable/FormData.html +++ b/content/site/apidocs/org/apache/juneau/remoteable/FormData.html @@ -96,7 +96,7 @@ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Target.html?is-external=true" title="class or interface in java.lang.annotation">@Target</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Target.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>={<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/ElementType.html?is-external=true#PARAMETER" title="class or interface in java.lang.annotation">PARAMETER</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/ElementType.html?is-external=true#FIELD" title="class or interface in java.lang.annotation">FIELD</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation">METHOD</a>}) <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Retention.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>) <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Inherited.html?is-external=true" title="class or interface in java.lang.annotation">@Inherited</a> -public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/FormData.html#line.83">FormData</a></pre> +public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/FormData.html#line.128">FormData</a></pre> <div class="block">Annotation applied to Java method arguments of interface proxies to denote that they are FORM post parameters on the request. <p> <h5 class='section'>Example:</h5> @@ -104,27 +104,39 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/For <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>) <jk>public interface</jk> MyProxy { + <jc>// Explicit names specified for form data parameters.</jc> + <jc>// pojo will be converted to UON notation (unless plain-text parts enabled).</jc> <ja>@RemoteMethod</ja>(path=<js>"/mymethod1"</js>) String myProxyMethod1(<ja>@FormData</ja>(<js>"foo"</js>)</ja> String foo, <ja>@FormData</ja>(<js>"bar"</js>)</ja> MyPojo pojo); + <jc>// Multiple values pulled from a NameValuePairs object.</jc> + <jc>// Same as @FormData("*").</jc> <ja>@RemoteMethod</ja>(path=<js>"/mymethod2"</js>) - String myProxyMethod2(<ja>@FormData</ja> NameValuePairs form); + String myProxyMethod2(<ja>@FormData</ja> NameValuePairs nameValuePairs); + <jc>// Multiple values pulled from a Map.</jc> + <jc>// Same as @FormData("*").</jc> <ja>@RemoteMethod</ja>(path=<js>"/mymethod3"</js>) - String myProxyMethod2(<ja>@FormData</ja> Map<String,Object> form); + String myProxyMethod3(<ja>@FormData</ja> Map<String,Object> map); + + <jc>// Multiple values pulled from a bean.</jc> + <jc>// Same as @FormData("*").</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod4"</js>) + String myProxyMethod4(<ja>@FormData</ja> MyBean myBean); + + <jc>// An entire form-data HTTP body as a String.</jc> + <jc>// Same as @FormData("*").</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod5"</js>) + String myProxyMethod5(<ja>@FormData</ja> String string); + + <jc>// An entire form-data HTTP body as a Reader.</jc> + <jc>// Sames as @FormData("*").</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod6"</js>) + String myProxyMethod6(<ja>@FormData</ja> Reader reader); + } </p> <p> - The argument can be any of the following types: - <ul class='spaced-list'> - <li>Any serializable POJO - Converted to text using <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serialize-org.apache.juneau.serializer.PartType-java.lang.Object-"><code>UrlEncodingSerializer.serialize(PartType,Object)</code></a>. - <li><code>NameValuePairs</code> - Individual name-value pairs. - <li><code>Map<String,Object></code> - Individual name-value pairs. - Values are converted to text using <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serialize-org.apache.juneau.serializer.PartType-java.lang.Object-"><code>UrlEncodingSerializer.serialize(PartType,Object)</code></a>. - <li>A bean - Individual name-value pairs. - Values are converted to text using <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serialize-org.apache.juneau.serializer.PartType-java.lang.Object-"><code>UrlEncodingSerializer.serialize(PartType,Object)</code></a>. - </ul> - <p> The annotation can also be applied to a bean property field or getter when the argument is annotated with <a href="../../../../org/apache/juneau/remoteable/RequestBean.html" title="annotation in org.apache.juneau.remoteable"><code>@RequestBean</code></a>: <p> @@ -138,18 +150,52 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/For } <jk>public interface</jk> MyRequestBean { + + <jc>// Name explicitly specified.</jc> + <ja>@FormData</ja>(<js>"foo"</js>) + String getX(); + + <jc>// Name inherited from bean property.</jc> + <jc>// Same as @FormData("bar")</jc> <ja>@FormData</ja> - String getFoo(); + String getBar(); + <jc>// Name inherited from bean property.</jc> + <jc>// Same as @FormData("baz")</jc> <ja>@FormData</ja> - MyPojo getBar(); + <ja>@BeanProperty</ja>(<js>"baz"</js>) + String getY(); + + <jc>// Multiple values pulled from NameValuePairs object.</jc> + <jc>// Same as @FormData("*")</jc> + <ja>@FormData</ja> + NameValuePairs getNameValuePairs(); + + <jc>// Multiple values pulled from Map.</jc> + <jc>// Same as @FormData("*")</jc> + <ja>@FormData</ja> + Map<String,Object> getMap(); + + <jc>// Multiple values pulled from bean.</jc> + <jc>// Same as @FormData("*")</jc> + <ja>@FormData</ja> + MyBean getMyBean(); + + <jc>// An entire form-data HTTP body as a Reader.</jc> + <jc>// Same as @FormData("*")</jc> + <ja>@FormData</ja> + Reader getReader(); } </p> <p> - When used in a request bean, the <a href="../../../../org/apache/juneau/remoteable/FormData.html#value--"><code>value()</code></a> can be used to override the form data parameter name. - It can also be overridden via the <a href="../../../../org/apache/juneau/annotation/BeanProperty.html#name--"><code>@BeanProperty.name()</code></a> annotation. - A name of <js>"*"</js> where the bean property value is a map or bean will cause the individual entries in the - map or bean to be expanded to form data parameters.</div> + The <a href="../../../../org/apache/juneau/remoteable/FormData.html#name--"><code>name()</code></a> and <a href="../../../../org/apache/juneau/remoteable/FormData.html#value--"><code>value()</code></a> elements are synonyms for specifying the parameter name. Only one should be used. + <br>The following annotations are fully equivalent: + <p> + <p class='bcode'> + <ja>@FormData</ja>(name=<js>"foo"</js>) + + <ja>@FormData</ja>(<js>"foo"</js>) + </p></div> </li> </ul> </div> @@ -169,15 +215,27 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/For <th class="colLast" scope="col">Optional Element and Description</th> </tr> <tr class="altColor"> +<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/FormData.html#name--">name</a></span></code> +<div class="block">The form post parameter name.</div> +</td> +</tr> +<tr class="rowColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/FormData.html#serializer--">serializer</a></span></code> <div class="block">Specifies the <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer"><code>PartSerializer</code></a> class used for serializing values to strings.</div> </td> </tr> +<tr class="altColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/FormData.html#skipIfEmpty--">skipIfEmpty</a></span></code> +<div class="block">Skips this value if it's an empty string or empty collection/array.</div> +</td> +</tr> <tr class="rowColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/FormData.html#value--">value</a></span></code> -<div class="block">The form post parameter name.</div> +<div class="block">A synonym for <a href="../../../../org/apache/juneau/remoteable/FormData.html#name--"><code>name()</code></a>.</div> </td> </tr> </table> @@ -195,25 +253,97 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/For <!-- --> </a> <h3>Element Detail</h3> -<a name="value--"> +<a name="name--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> -<h4>value</h4> -<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/FormData.html#line.96">value</a></pre> +<h4>name</h4> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/FormData.html#line.175">name</a></pre> <div class="block">The form post parameter name. <p> - A value of <js>"*"</js> indicates the value should be serialized as name/value pairs and is applicable - for the following data types: - <ul> - <li><code>NameValuePairs</code> - <li><code>Map<String,Object></code> - <li>A bean + Note that <a href="../../../../org/apache/juneau/remoteable/FormData.html#name--"><code>name()</code></a> and <a href="../../../../org/apache/juneau/remoteable/FormData.html#value--"><code>value()</code></a> are synonyms. + <p> + The value should be either <js>"*"</js> to represent multiple name/value pairs, or a label that defines the + form data parameter name. + <p> + A blank value (the default) has the following behavior: + <ul class='spaced-list'> + <li>If the data type is <code>NameValuePairs</code>, <code>Map</code>, or a bean, + then it's the equivalent to <js>"*"</js> which will cause the value to be serialized as name/value pairs. + <h6 class='figure'>Example:</h6> + <p class='bcode'> + <jc>// When used on a remote method parameter</jc> + <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>) + <jk>public interface</jk> MyProxy { + + <jc>// Equivalent to @FormData("*")</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod"</js>) + String myProxyMethod1(<ja>@FormData</ja> Map<String,Object> formData); + } + + <jc>// When used on a request bean method</jc> + <jk>public interface</jk> MyRequestBean { + + <jc>// Equivalent to @FormData("*")</jc> + <ja>@FormData</ja> + Map<String,Object> getFoo(); + } + </p> + <br> + <li>If used on a request bean method, uses the bean property name. + <h6 class='figure'>Example:</h6> + <p class='bcode'> + <jk>public interface</jk> MyRequestBean { + + <jc>// Equivalent to @FormData("foo")</jc> + <ja>@FormData</ja> + String getFoo(); + } + </p> + </ul> </ul></div> <dl> <dt>Default:</dt> -<dd>"*"</dd> +<dd>""</dd> +</dl> +</li> +</ul> +</li> +</ul> +<ul class="blockList"> +<li class="blockList"><a name="value--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>value</h4> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/FormData.html#line.182">value</a></pre> +<div class="block">A synonym for <a href="../../../../org/apache/juneau/remoteable/FormData.html#name--"><code>name()</code></a>. + <p> + Allows you to use shortened notation if you're only specifying the name.</div> +<dl> +<dt>Default:</dt> +<dd>""</dd> +</dl> +</li> +</ul> +</li> +</ul> +<ul class="blockList"> +<li class="blockList"><a name="skipIfEmpty--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>skipIfEmpty</h4> +<pre>public abstract boolean <a href="../../../../src-html/org/apache/juneau/remoteable/FormData.html#line.189">skipIfEmpty</a></pre> +<div class="block">Skips this value if it's an empty string or empty collection/array. + <p> + Note that <jk>null</jk> values are already ignored.</div> +<dl> +<dt>Default:</dt> +<dd>false</dd> </dl> </li> </ul> @@ -226,15 +356,16 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/For <ul class="blockListLast"> <li class="blockList"> <h4>serializer</h4> -<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>> <a href="../../../../src-html/org/apache/juneau/remoteable/FormData.html#line.105">serializer</a></pre> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>> <a href="../../../../src-html/org/apache/juneau/remoteable/FormData.html#line.199">serializer</a></pre> <div class="block">Specifies the <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer"><code>PartSerializer</code></a> class used for serializing values to strings. <p> - The default serializer converters values to UON notation. + The default value defaults to the using the part serializer defined on the <a href="../../../../org/apache/juneau/remoteable/RequestBean.html" title="annotation in org.apache.juneau.remoteable"><code>RequestBean</code></a> annotation, + then on the client which by default is <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html" title="class in org.apache.juneau.urlencoding"><code>UrlEncodingSerializer</code></a>. <p> This annotation is provided to allow values to be custom serialized.</div> <dl> <dt>Default:</dt> -<dd>org.apache.juneau.urlencoding.UrlEncodingSerializer.class</dd> +<dd>org.apache.juneau.serializer.PartSerializer.class</dd> </dl> </li> </ul>
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/19e9b7df/content/site/apidocs/org/apache/juneau/remoteable/FormDataIfNE.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/remoteable/FormDataIfNE.html b/content/site/apidocs/org/apache/juneau/remoteable/FormDataIfNE.html index a1b4590..bc17fa5 100644 --- a/content/site/apidocs/org/apache/juneau/remoteable/FormDataIfNE.html +++ b/content/site/apidocs/org/apache/juneau/remoteable/FormDataIfNE.html @@ -117,15 +117,21 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/For <th class="colLast" scope="col">Optional Element and Description</th> </tr> <tr class="altColor"> +<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/FormDataIfNE.html#name--">name</a></span></code> +<div class="block">The form post parameter name.</div> +</td> +</tr> +<tr class="rowColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/FormDataIfNE.html#serializer--">serializer</a></span></code> <div class="block">Specifies the <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer"><code>PartSerializer</code></a> class used for serializing values to strings.</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/FormDataIfNE.html#value--">value</a></span></code> -<div class="block">The form post parameter name.</div> +<div class="block">A synonym for <a href="../../../../org/apache/juneau/remoteable/FormDataIfNE.html#name--"><code>name()</code></a>.</div> </td> </tr> </table> @@ -143,25 +149,42 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/For <!-- --> </a> <h3>Element Detail</h3> -<a name="value--"> +<a name="name--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>name</h4> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/FormDataIfNE.html#line.36">name</a></pre> +<div class="block">The form post parameter name.</div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../org/apache/juneau/remoteable/FormData.html#name--"><code>FormData.name()</code></a></dd> +</dl> +<dl> +<dt>Default:</dt> +<dd>""</dd> +</dl> +</li> +</ul> +</li> +</ul> +<ul class="blockList"> +<li class="blockList"><a name="value--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>value</h4> -<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/FormDataIfNE.html#line.43">value</a></pre> -<div class="block">The form post parameter name. - <p> - A value of <js>"*"</js> indicates the value should be serialized as name/value pairs and is applicable - for the following data types: - <ul> - <li><code>NameValuePairs</code> - <li><code>Map<String,Object></code> - <li>A bean - </ul></div> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/FormDataIfNE.html#line.42">value</a></pre> +<div class="block">A synonym for <a href="../../../../org/apache/juneau/remoteable/FormDataIfNE.html#name--"><code>name()</code></a>.</div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../org/apache/juneau/remoteable/FormData.html#value--"><code>FormData.value()</code></a></dd> +</dl> <dl> <dt>Default:</dt> -<dd>"*"</dd> +<dd>""</dd> </dl> </li> </ul> @@ -177,12 +200,13 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/For <pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>> <a href="../../../../src-html/org/apache/juneau/remoteable/FormDataIfNE.html#line.52">serializer</a></pre> <div class="block">Specifies the <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer"><code>PartSerializer</code></a> class used for serializing values to strings. <p> - The default serializer converters values to UON notation. + The default value defaults to the using the part serializer defined on the <a href="../../../../org/apache/juneau/remoteable/RequestBean.html" title="annotation in org.apache.juneau.remoteable"><code>RequestBean</code></a> annotation, + then on the client which by default is <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html" title="class in org.apache.juneau.urlencoding"><code>UrlEncodingSerializer</code></a>. <p> This annotation is provided to allow values to be custom serialized.</div> <dl> <dt>Default:</dt> -<dd>org.apache.juneau.urlencoding.UrlEncodingSerializer.class</dd> +<dd>org.apache.juneau.serializer.PartSerializer.class</dd> </dl> </li> </ul> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/19e9b7df/content/site/apidocs/org/apache/juneau/remoteable/Header.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/remoteable/Header.html b/content/site/apidocs/org/apache/juneau/remoteable/Header.html index 5e25c80..6bffe3c 100644 --- a/content/site/apidocs/org/apache/juneau/remoteable/Header.html +++ b/content/site/apidocs/org/apache/juneau/remoteable/Header.html @@ -96,7 +96,7 @@ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Target.html?is-external=true" title="class or interface in java.lang.annotation">@Target</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Target.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>={<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/ElementType.html?is-external=true#PARAMETER" title="class or interface in java.lang.annotation">PARAMETER</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/ElementType.html?is-external=true#FIELD" title="class or interface in java.lang.annotation">FIELD</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation">METHOD</a>}) <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Retention.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>) <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Inherited.html?is-external=true" title="class or interface in java.lang.annotation">@Inherited</a> -public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Header.html#line.80">Header</a></pre> +public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Header.html#line.112">Header</a></pre> <div class="block">Annotation applied to Java method arguments of interface proxies to denote that they are serialized as an HTTP header value. <p> <h5 class='section'>Example:</h5> @@ -104,24 +104,28 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Hea <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>) <jk>public interface</jk> MyProxy { + <jc>// Explicit names specified for form data parameters.</jc> + <jc>// pojo will be converted to UON notation (unless plain-text parts enabled).</jc> <ja>@RemoteMethod</ja>(path=<js>"/mymethod1"</js>) String myProxyMethod1(<ja>@Header</ja>(<js>"Foo"</js>)</ja> String foo, <ja>@Header</ja>(<js>"Bar"</js>)</ja> MyPojo pojo); + <jc>// Multiple values pulled from a NameValuePairs object.</jc> + <jc>// Same as @Header("*").</jc> <ja>@RemoteMethod</ja>(path=<js>"/mymethod2"</js>) - String myProxyMethod2(<ja>@Header</ja> Map<String,Object> headers); + String myProxyMethod2(<ja>@Header</ja> NameValuePairs nameValuePairs); + + <jc>// Multiple values pulled from a Map.</jc> + <jc>// Same as @Header("*").</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod3"</js>) + String myProxyMethod3(<ja>@Header</ja> Map<String,Object> map); + + <jc>// Multiple values pulled from a bean.</jc> + <jc>// Same as @Header("*").</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod4"</js>) + String myProxyMethod4(<ja>@Header</ja> MyBean myBean); } </p> <p> - The argument can be any of the following types: - <ul class='spaced-list'> - <li><code>NameValuePairs</code> - Individual name-value pairs. - <li>Any serializable POJO - Converted to text using <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serialize-org.apache.juneau.serializer.PartType-java.lang.Object-"><code>UrlEncodingSerializer.serialize(PartType,Object)</code></a>. - <li><code>Map<String,Object></code> - Individual name-value pairs. - Values are converted to text using <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serialize-org.apache.juneau.serializer.PartType-java.lang.Object-"><code>UrlEncodingSerializer.serialize(PartType,Object)</code></a>. - <li>A bean - Individual name-value pairs. - Values are converted to text using <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serialize-org.apache.juneau.serializer.PartType-java.lang.Object-"><code>UrlEncodingSerializer.serialize(PartType,Object)</code></a>. - </ul> - <p> The annotation can also be applied to a bean property field or getter when the argument is annotated with <a href="../../../../org/apache/juneau/remoteable/RequestBean.html" title="annotation in org.apache.juneau.remoteable"><code>@RequestBean</code></a>: <p> @@ -135,18 +139,47 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Hea } <jk>public interface</jk> MyRequestBean { + + <jc>// Name explicitly specified.</jc> <ja>@Header</ja>(<js>"Foo"</js>) - String getFoo(); + String getX(); + + <jc>// Name inherited from bean property.</jc> + <jc>// Same as @Header("bar")</jc> + <ja>@Header</ja> + String getBar(); + + <jc>// Name inherited from bean property.</jc> + <jc>// Same as @Header("Baz")</jc> + <ja>@Header</ja> + <ja>@BeanProperty</ja>(<js>"Baz"</js>) + String getY(); + + <jc>// Multiple values pulled from NameValuePairs object.</jc> + <jc>// Same as @Header("*")</jc> + <ja>@Header</ja> + NameValuePairs getNameValuePairs(); - <ja>@Header</ja>(<js>"Bar"</js>) - MyPojo getBar(); + <jc>// Multiple values pulled from Map.</jc> + <jc>// Same as @Header("*")</jc> + <ja>@Header</ja> + Map<String,Object> getMap(); + + <jc>// Multiple values pulled from bean.</jc> + <jc>// Same as @Header("*")</jc> + <ja>@Header</ja> + MyBean getBean(); } </p> <p> - When used in a request bean, the <a href="../../../../org/apache/juneau/remoteable/Header.html#value--"><code>value()</code></a> can be used to override the header name. - It can also be overridden via the <a href="../../../../org/apache/juneau/annotation/BeanProperty.html#name--"><code>@BeanProperty.name()</code></a> annotation. - A name of <js>"*"</js> where the bean property value is a map or bean will cause the individual entries in the - map or bean to be expanded to headers.</div> + The <a href="../../../../org/apache/juneau/remoteable/Header.html#name--"><code>name()</code></a> and <a href="../../../../org/apache/juneau/remoteable/Header.html#value--"><code>value()</code></a> elements are synonyms for specifying the header name. Only one should be used. + <br>The following annotations are fully equivalent: + <p> + <p class='bcode'> + <ja>@Header</ja>(name=<js>"Foo"</js>) + + <ja>@Header</ja>(<js>"Foo"</js>) + </p></div> </li> </ul> </div> @@ -166,15 +199,27 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Hea <th class="colLast" scope="col">Optional Element and Description</th> </tr> <tr class="altColor"> +<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/Header.html#name--">name</a></span></code> +<div class="block">The HTTP header name.</div> +</td> +</tr> +<tr class="rowColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/Header.html#serializer--">serializer</a></span></code> <div class="block">Specifies the <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer"><code>PartSerializer</code></a> class used for serializing values to strings.</div> </td> </tr> +<tr class="altColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/Header.html#skipIfEmpty--">skipIfEmpty</a></span></code> +<div class="block">Skips this value if it's an empty string or empty collection/array.</div> +</td> +</tr> <tr class="rowColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/Header.html#value--">value</a></span></code> -<div class="block">The HTTP header name.</div> +<div class="block">A synonym for <a href="../../../../org/apache/juneau/remoteable/Header.html#name--"><code>name()</code></a>.</div> </td> </tr> </table> @@ -192,25 +237,99 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Hea <!-- --> </a> <h3>Element Detail</h3> -<a name="value--"> +<a name="name--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> -<h4>value</h4> -<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/Header.html#line.93">value</a></pre> +<h4>name</h4> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/Header.html#line.161">name</a></pre> <div class="block">The HTTP header name. <p> - A value of <js>"*"</js> indicates the value should be serialized as name/value pairs and is applicable - for the following data types: - <ul> - <li><code>NameValuePairs</code> - <li><code>Map<String,Object></code> - <li>A bean + A blank value (the default) indicates to reuse the bean property name when used on a request bean property. + <p> + <p> + The value should be either <js>"*"</js> to represent multiple name/value pairs, or a label that defines the + header name. + <p> + A blank value (the default) has the following behavior: + <ul class='spaced-list'> + <li>If the data type is <code>NameValuePairs</code>, <code>Map</code>, or a bean, + then it's the equivalent to <js>"*"</js> which will cause the value to be serialized as name/value pairs. + <h6 class='figure'>Example:</h6> + <p class='bcode'> + <jc>// When used on a remote method parameter</jc> + <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>) + <jk>public interface</jk> MyProxy { + + <jc>// Equivalent to @Header("*")</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod"</js>) + String myProxyMethod1(<ja>@Header</ja> Map<String,Object> headers); + } + + <jc>// When used on a request bean method</jc> + <jk>public interface</jk> MyRequestBean { + + <jc>// Equivalent to @Header("*")</jc> + <ja>@Header</ja> + Map<String,Object> getFoo(); + } + </p> + <br> + <li>If used on a request bean method, uses the bean property name. + <h6 class='figure'>Example:</h6> + <p class='bcode'> + <jk>public interface</jk> MyRequestBean { + + <jc>// Equivalent to @Header("Foo")</jc> + <ja>@Header</ja> + <ja>@BeanProperty</ja>(<js>"Foo"</js>) + String getFoo(); + } + </p> + </ul> </ul></div> <dl> <dt>Default:</dt> -<dd>"*"</dd> +<dd>""</dd> +</dl> +</li> +</ul> +</li> +</ul> +<ul class="blockList"> +<li class="blockList"><a name="value--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>value</h4> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/Header.html#line.168">value</a></pre> +<div class="block">A synonym for <a href="../../../../org/apache/juneau/remoteable/Header.html#name--"><code>name()</code></a>. + <p> + Allows you to use shortened notation if you're only specifying the name.</div> +<dl> +<dt>Default:</dt> +<dd>""</dd> +</dl> +</li> +</ul> +</li> +</ul> +<ul class="blockList"> +<li class="blockList"><a name="skipIfEmpty--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>skipIfEmpty</h4> +<pre>public abstract boolean <a href="../../../../src-html/org/apache/juneau/remoteable/Header.html#line.175">skipIfEmpty</a></pre> +<div class="block">Skips this value if it's an empty string or empty collection/array. + <p> + Note that <jk>null</jk> values are already ignored.</div> +<dl> +<dt>Default:</dt> +<dd>false</dd> </dl> </li> </ul> @@ -223,15 +342,16 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Hea <ul class="blockListLast"> <li class="blockList"> <h4>serializer</h4> -<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>> <a href="../../../../src-html/org/apache/juneau/remoteable/Header.html#line.102">serializer</a></pre> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>> <a href="../../../../src-html/org/apache/juneau/remoteable/Header.html#line.185">serializer</a></pre> <div class="block">Specifies the <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer"><code>PartSerializer</code></a> class used for serializing values to strings. <p> - The default serializer converters values to UON notation. + The default value defaults to the using the part serializer defined on the <a href="../../../../org/apache/juneau/remoteable/RequestBean.html" title="annotation in org.apache.juneau.remoteable"><code>RequestBean</code></a> annotation, + then on the client which by default is <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html" title="class in org.apache.juneau.urlencoding"><code>UrlEncodingSerializer</code></a>. <p> This annotation is provided to allow values to be custom serialized.</div> <dl> <dt>Default:</dt> -<dd>org.apache.juneau.urlencoding.UrlEncodingSerializer.class</dd> +<dd>org.apache.juneau.serializer.PartSerializer.class</dd> </dl> </li> </ul> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/19e9b7df/content/site/apidocs/org/apache/juneau/remoteable/HeaderIfNE.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/remoteable/HeaderIfNE.html b/content/site/apidocs/org/apache/juneau/remoteable/HeaderIfNE.html index 980df78..6233d7b 100644 --- a/content/site/apidocs/org/apache/juneau/remoteable/HeaderIfNE.html +++ b/content/site/apidocs/org/apache/juneau/remoteable/HeaderIfNE.html @@ -117,15 +117,21 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Hea <th class="colLast" scope="col">Optional Element and Description</th> </tr> <tr class="altColor"> +<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/HeaderIfNE.html#name--">name</a></span></code> +<div class="block">The HTTP header name.</div> +</td> +</tr> +<tr class="rowColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/HeaderIfNE.html#serializer--">serializer</a></span></code> <div class="block">Specifies the <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer"><code>PartSerializer</code></a> class used for serializing values to strings.</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/HeaderIfNE.html#value--">value</a></span></code> -<div class="block">The HTTP header name.</div> +<div class="block">A synonym for <a href="../../../../org/apache/juneau/remoteable/HeaderIfNE.html#name--"><code>name()</code></a>.</div> </td> </tr> </table> @@ -143,25 +149,42 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Hea <!-- --> </a> <h3>Element Detail</h3> -<a name="value--"> +<a name="name--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>name</h4> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/HeaderIfNE.html#line.36">name</a></pre> +<div class="block">The HTTP header name.</div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../org/apache/juneau/remoteable/Header.html#name--"><code>Header.name()</code></a></dd> +</dl> +<dl> +<dt>Default:</dt> +<dd>""</dd> +</dl> +</li> +</ul> +</li> +</ul> +<ul class="blockList"> +<li class="blockList"><a name="value--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>value</h4> -<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/HeaderIfNE.html#line.43">value</a></pre> -<div class="block">The HTTP header name. - <p> - A value of <js>"*"</js> indicates the value should be serialized as name/value pairs and is applicable - for the following data types: - <ul> - <li><code>NameValuePairs</code> - <li><code>Map<String,Object></code> - <li>A bean - </ul></div> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/HeaderIfNE.html#line.42">value</a></pre> +<div class="block">A synonym for <a href="../../../../org/apache/juneau/remoteable/HeaderIfNE.html#name--"><code>name()</code></a>.</div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../org/apache/juneau/remoteable/Header.html#value--"><code>Header.value()</code></a></dd> +</dl> <dl> <dt>Default:</dt> -<dd>"*"</dd> +<dd>""</dd> </dl> </li> </ul> @@ -177,12 +200,13 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Hea <pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>> <a href="../../../../src-html/org/apache/juneau/remoteable/HeaderIfNE.html#line.52">serializer</a></pre> <div class="block">Specifies the <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer"><code>PartSerializer</code></a> class used for serializing values to strings. <p> - The default serializer converters values to UON notation. + The default value defaults to the using the part serializer defined on the <a href="../../../../org/apache/juneau/remoteable/RequestBean.html" title="annotation in org.apache.juneau.remoteable"><code>RequestBean</code></a> annotation, + then on the client which by default is <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html" title="class in org.apache.juneau.urlencoding"><code>UrlEncodingSerializer</code></a>. <p> This annotation is provided to allow values to be custom serialized.</div> <dl> <dt>Default:</dt> -<dd>org.apache.juneau.urlencoding.UrlEncodingSerializer.class</dd> +<dd>org.apache.juneau.serializer.PartSerializer.class</dd> </dl> </li> </ul> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/19e9b7df/content/site/apidocs/org/apache/juneau/remoteable/Path.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/remoteable/Path.html b/content/site/apidocs/org/apache/juneau/remoteable/Path.html index c19972b..ad7dbca 100644 --- a/content/site/apidocs/org/apache/juneau/remoteable/Path.html +++ b/content/site/apidocs/org/apache/juneau/remoteable/Path.html @@ -96,7 +96,7 @@ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Target.html?is-external=true" title="class or interface in java.lang.annotation">@Target</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Target.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>={<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/ElementType.html?is-external=true#PARAMETER" title="class or interface in java.lang.annotation">PARAMETER</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/ElementType.html?is-external=true#FIELD" title="class or interface in java.lang.annotation">FIELD</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation">METHOD</a>}) <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Retention.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>) <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Inherited.html?is-external=true" title="class or interface in java.lang.annotation">@Inherited</a> -public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Path.html#line.74">Path</a></pre> +public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Path.html#line.112">Path</a></pre> <div class="block">Annotation applied to Java method arguments of interface proxies to denote that they are path variables on the request. <p> <h5 class='section'>Example:</h5> @@ -104,21 +104,28 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Pat <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>) <jk>public interface</jk> MyProxy { - <ja>@RemoteMethod</ja>(path=<js>"/mymethod1/{foo}"</js>) - String myProxyMethod1(<ja>@Path</ja>(<js>"foo"</js>)</ja> String foo); + <jc>// Explicit names specified for path parameters.</jc> + <jc>// pojo will be converted to UON notation (unless plain-text parts enabled).</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod1/{foo}/{bar}"</js>) + String myProxyMethod1(<ja>@Path</ja>(<js>"foo"</js>)</ja> String foo, <ja>@Path</ja>(<js>"bar"</js>)</ja> MyPojo pojo); + + <jc>// Multiple values pulled from a NameValuePairs object.</jc> + <jc>// Same as @Path("*").</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod2/{foo}/{bar}/{baz}"</js>) + String myProxyMethod2(<ja>@Path</ja> NameValuePairs nameValuePairs); + + <jc>// Multiple values pulled from a Map.</jc> + <jc>// Same as @Path("*").</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod3/{foo}/{bar}/{baz}"</js>) + String myProxyMethod3(<ja>@Path</ja> Map<String,Object> map); + + <jc>// Multiple values pulled from a bean.</jc> + <jc>// Same as @Path("*").</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod4/{foo}/{bar}/{baz}"</js>) + String myProxyMethod4(<ja>@Path</ja> MyBean myBean); } </p> <p> - The argument can be any of the following types: - <ul class='spaced-list'> - <li><code>NameValuePairs</code> - Individual name-value pairs. - <li>Any serializable POJO - Converted to text using <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serialize-org.apache.juneau.serializer.PartType-java.lang.Object-"><code>UrlEncodingSerializer.serialize(PartType,Object)</code></a>. - <li><code>Map<String,Object></code> - Individual name-value pairs. - Values are converted to text using <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serialize-org.apache.juneau.serializer.PartType-java.lang.Object-"><code>UrlEncodingSerializer.serialize(PartType,Object)</code></a>. - <li>A bean - Individual name-value pairs. - Values are converted to text using <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serialize-org.apache.juneau.serializer.PartType-java.lang.Object-"><code>UrlEncodingSerializer.serialize(PartType,Object)</code></a>. - </ul> - <p> The annotation can also be applied to a bean property field or getter when the argument is annotated with <a href="../../../../org/apache/juneau/remoteable/RequestBean.html" title="annotation in org.apache.juneau.remoteable"><code>@RequestBean</code></a>: <p> @@ -127,20 +134,52 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Pat <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>) <jk>public interface</jk> MyProxy { - <ja>@RemoteMethod</ja>(path=<js>"/mymethod1/{foo}"</js>) + <ja>@RemoteMethod</ja>(path=<js>"/mymethod/{foo}/{bar}/{baz}"</js>) String myProxyMethod(<ja>@RequestBean</ja> MyRequestBean bean); } <jk>public interface</jk> MyRequestBean { + + <jc>// Name explicitly specified.</jc> + <ja>@Path</ja>(<js>"foo"</js>) + String getX(); + + <jc>// Name inherited from bean property.</jc> + <jc>// Same as @Path("bar")</jc> <ja>@Path</ja> - String getFoo(); + String getBar(); + + <jc>// Name inherited from bean property.</jc> + <jc>// Same as @Path("baz")</jc> + <ja>@Path</ja> + <ja>@BeanProperty</ja>(<js>"baz"</js>) + String getY(); + + <jc>// Multiple values pulled from NameValuePairs object.</jc> + <jc>// Same as @Path("*")</jc> + <ja>@Path</ja> + NameValuePairs getNameValuePairs(); + + <jc>// Multiple values pulled from Map.</jc> + <jc>// Same as @Path("*")</jc> + <ja>@Path</ja> + Map<String,Object> getMap(); + + <jc>// Multiple values pulled from bean.</jc> + <jc>// Same as @Path("*")</jc> + <ja>@Path</ja> + MyBean getMyBean(); } </p> <p> - When used in a request bean, the <a href="../../../../org/apache/juneau/remoteable/Path.html#value--"><code>value()</code></a> can be used to override the path variable name. - It can also be overridden via the <a href="../../../../org/apache/juneau/annotation/BeanProperty.html#name--"><code>@BeanProperty.name()</code></a> annotation. - A name of <js>"*"</js> where the bean property value is a map or bean will cause the individual entries in the - map or bean to be expanded to path variables.</div> + The <a href="../../../../org/apache/juneau/remoteable/Path.html#name--"><code>name()</code></a> and <a href="../../../../org/apache/juneau/remoteable/Path.html#value--"><code>value()</code></a> elements are synonyms for specifying the path variable name. Only one should be used. + <br>The following annotations are fully equivalent: + <p> + <p class='bcode'> + <ja>@Path</ja>(name=<js>"foo"</js>) + + <ja>@Path</ja>(<js>"foo"</js>) + </p></div> </li> </ul> </div> @@ -160,15 +199,21 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Pat <th class="colLast" scope="col">Optional Element and Description</th> </tr> <tr class="altColor"> +<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/Path.html#name--">name</a></span></code> +<div class="block">The path parameter name.</div> +</td> +</tr> +<tr class="rowColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/Path.html#serializer--">serializer</a></span></code> <div class="block">Specifies the <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer"><code>PartSerializer</code></a> class used for serializing values to strings.</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/Path.html#value--">value</a></span></code> -<div class="block">The path parameter name.</div> +<div class="block">A synonym for <a href="../../../../org/apache/juneau/remoteable/Path.html#name--"><code>name()</code></a>.</div> </td> </tr> </table> @@ -186,25 +231,76 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Pat <!-- --> </a> <h3>Element Detail</h3> -<a name="value--"> +<a name="name--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> -<h4>value</h4> -<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/Path.html#line.87">value</a></pre> +<h4>name</h4> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/Path.html#line.157">name</a></pre> <div class="block">The path parameter name. <p> - A value of <js>"*"</js> indicates the value should be serialized as name/value pairs and is applicable - for the following data types: - <ul> - <li><code>NameValuePairs</code> - <li><code>Map<String,Object></code> - <li>A bean + Note that <a href="../../../../org/apache/juneau/remoteable/Path.html#name--"><code>name()</code></a> and <a href="../../../../org/apache/juneau/remoteable/Path.html#value--"><code>value()</code></a> are synonyms. + <p> + The value should be either <js>"*"</js> to represent multiple name/value pairs, or a label that defines the + path variable name. + <p> + A blank value (the default) has the following behavior: + <ul class='spaced-list'> + <li>If the data type is <code>NameValuePairs</code>, <code>Map</code>, or a bean, + then it's the equivalent to <js>"*"</js> which will cause the value to be treated as name/value pairs. + <h6 class='figure'>Example:</h6> + <p class='bcode'> + <jc>// When used on a remote method parameter</jc> + <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>) + <jk>public interface</jk> MyProxy { + + <jc>// Equivalent to @Path("*")</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod/{foo}/{bar}"</js>) + String myProxyMethod1(<ja>@FormData</ja> Map<String,Object> pathVars); + } + + <jc>// When used on a request bean method</jc> + <jk>public interface</jk> MyRequestBean { + + <jc>// Equivalent to @Path("*")</jc> + <ja>@Path</ja> + Map<String,Object> getPathVars(); + } + </p> + <br> + <li>If used on a request bean method, uses the bean property name. + <h6 class='figure'>Example:</h6> + <p class='bcode'> + <jk>public interface</jk> MyRequestBean { + + <jc>// Equivalent to @Path("foo")</jc> + <ja>@Path</ja> + String getFoo(); + } </ul></div> <dl> <dt>Default:</dt> -<dd>"*"</dd> +<dd>""</dd> +</dl> +</li> +</ul> +</li> +</ul> +<ul class="blockList"> +<li class="blockList"><a name="value--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>value</h4> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/Path.html#line.164">value</a></pre> +<div class="block">A synonym for <a href="../../../../org/apache/juneau/remoteable/Path.html#name--"><code>name()</code></a>. + <p> + Allows you to use shortened notation if you're only specifying the name.</div> +<dl> +<dt>Default:</dt> +<dd>""</dd> </dl> </li> </ul> @@ -217,15 +313,16 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Pat <ul class="blockListLast"> <li class="blockList"> <h4>serializer</h4> -<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>> <a href="../../../../src-html/org/apache/juneau/remoteable/Path.html#line.96">serializer</a></pre> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>> <a href="../../../../src-html/org/apache/juneau/remoteable/Path.html#line.174">serializer</a></pre> <div class="block">Specifies the <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer"><code>PartSerializer</code></a> class used for serializing values to strings. <p> - The default serializer converters values to UON notation. + The default value defaults to the using the part serializer defined on the <a href="../../../../org/apache/juneau/remoteable/RequestBean.html" title="annotation in org.apache.juneau.remoteable"><code>RequestBean</code></a> annotation, + then on the client which by default is <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html" title="class in org.apache.juneau.urlencoding"><code>UrlEncodingSerializer</code></a>. <p> This annotation is provided to allow values to be custom serialized.</div> <dl> <dt>Default:</dt> -<dd>org.apache.juneau.urlencoding.UrlEncodingSerializer.class</dd> +<dd>org.apache.juneau.serializer.PartSerializer.class</dd> </dl> </li> </ul> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/19e9b7df/content/site/apidocs/org/apache/juneau/remoteable/Query.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/remoteable/Query.html b/content/site/apidocs/org/apache/juneau/remoteable/Query.html index 383552e..b395b62 100644 --- a/content/site/apidocs/org/apache/juneau/remoteable/Query.html +++ b/content/site/apidocs/org/apache/juneau/remoteable/Query.html @@ -96,7 +96,7 @@ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Target.html?is-external=true" title="class or interface in java.lang.annotation">@Target</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Target.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>={<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/ElementType.html?is-external=true#PARAMETER" title="class or interface in java.lang.annotation">PARAMETER</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/ElementType.html?is-external=true#FIELD" title="class or interface in java.lang.annotation">FIELD</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation">METHOD</a>}) <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Retention.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>) <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Inherited.html?is-external=true" title="class or interface in java.lang.annotation">@Inherited</a> -public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Query.html#line.84">Query</a></pre> +public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Query.html#line.127">Query</a></pre> <div class="block">Annotation applied to Java method arguments of interface proxies to denote that they are QUERY parameters on the request. <p> <h5 class='section'>Example:</h5> @@ -104,28 +104,38 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Que <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>) <jk>public interface</jk> MyProxy { + <jc>// Explicit names specified for query parameters.</jc> + <jc>// pojo will be converted to UON notation (unless plain-text parts enabled).</jc> <ja>@RemoteMethod</ja>(path=<js>"/mymethod1"</js>) String myProxyMethod1(<ja>@Query</ja>(<js>"foo"</js>)</ja> String foo, <ja>@Query</ja>(<js>"bar"</js>)</ja> MyPojo pojo); + <jc>// Multiple values pulled from a NameValuePairs object.</jc> + <jc>// Same as @Query("*").</jc> <ja>@RemoteMethod</ja>(path=<js>"/mymethod2"</js>) - String myProxyMethod2(<ja>@Query</ja> Map<String,Object> query); + String myProxyMethod2(<ja>@Query</ja> NameValuePairs nameValuePairs); + <jc>// Multiple values pulled from a Map.</jc> + <jc>// Same as @Query("*").</jc> <ja>@RemoteMethod</ja>(path=<js>"/mymethod3"</js>) - String myProxyMethod2(<ja>@Query</ja> String queryString); + String myProxyMethod3(<ja>@Query</ja> Map<String,Object> map); + + <jc>// Multiple values pulled from a bean.</jc> + <jc>// Same as @Query("*").</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod4"</js>) + String myProxyMethod4(<ja>@Query</ja> MyBean myBean); + + <jc>// An entire query string as a String.</jc> + <jc>// Same as @FQuery("*").</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod5"</js>) + String myProxyMethod5(<ja>@Query</ja> String string); + + <jc>// An entire query string as a Reader.</jc> + <jc>// Same as @Query("*").</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod6"</js>) + String myProxyMethod6(<ja>@Query</ja> Reader reader); } </p> <p> - The argument can be any of the following types: - <ul class='spaced-list'> - <li><code>NameValuePairs</code> - Individual name-value pairs. - <li>Any serializable POJO - Converted to text using <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serialize-org.apache.juneau.serializer.PartType-java.lang.Object-"><code>UrlEncodingSerializer.serialize(PartType,Object)</code></a>. - <li><code>Map<String,Object></code> - Individual name-value pairs. - Values are converted to text using <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serialize-org.apache.juneau.serializer.PartType-java.lang.Object-"><code>UrlEncodingSerializer.serialize(PartType,Object)</code></a>. - <li>A bean - Individual name-value pairs. - Values are converted to text using <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serialize-org.apache.juneau.serializer.PartType-java.lang.Object-"><code>UrlEncodingSerializer.serialize(PartType,Object)</code></a>. - <li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang"><code>String</code></a> - Treated as a query string. - </ul> - <p> The annotation can also be applied to a bean property field or getter when the argument is annotated with <a href="../../../../org/apache/juneau/remoteable/RequestBean.html" title="annotation in org.apache.juneau.remoteable"><code>@RequestBean</code></a>: <p> @@ -139,18 +149,52 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Que } <jk>public interface</jk> MyRequestBean { + + <jc>// Name explicitly specified.</jc> + <ja>@Query</ja>(<js>"foo"</js>) + String getX(); + + <jc>// Name inherited from bean property.</jc> + <jc>// Same as @Query("bar")</jc> <ja>@Query</ja> - String getFoo(); + String getBar(); + + <jc>// Name inherited from bean property.</jc> + <jc>// Same as @Query("baz")</jc> + <ja>@Query</ja> + <ja>@BeanProperty</ja>(<js>"baz"</js>) + String getY(); + <jc>// Multiple values pulled from NameValuePairs object.</jc> + <jc>// Same as @Query("*")</jc> <ja>@Query</ja> - MyPojo getBar(); + NameValuePairs getNameValuePairs(); + + <jc>// Multiple values pulled from Map.</jc> + <jc>// Same as @Query("*")</jc> + <ja>@Query</ja> + Map<String,Object> getMap(); + + <jc>// Multiple values pulled from bean.</jc> + <jc>// Same as @Query("*")</jc> + <ja>@Query</ja> + MyBean getMyBean(); + + <jc>// An entire query string as a Reader.</jc> + <jc>// Same as @Query("*")</jc> + <ja>@Query</ja> + Reader getReader(); } </p> <p> - When used in a request bean, the <a href="../../../../org/apache/juneau/remoteable/Query.html#value--"><code>value()</code></a> can be used to override the query parameter name. - It can also be overridden via the <a href="../../../../org/apache/juneau/annotation/BeanProperty.html#name--"><code>@BeanProperty.name()</code></a> annotation. - A name of <js>"*"</js> where the bean property value is a map or bean will cause the individual entries in the - map or bean to be expanded to query parameters.</div> + The <a href="../../../../org/apache/juneau/remoteable/Query.html#name--"><code>name()</code></a> and <a href="../../../../org/apache/juneau/remoteable/Query.html#value--"><code>value()</code></a> elements are synonyms for specifying the parameter name. Only one should be used. + <br>The following annotations are fully equivalent: + <p> + <p class='bcode'> + <ja>@Query</ja>(name=<js>"foo"</js>) + + <ja>@Query</ja>(<js>"foo"</js>) + </p></div> </li> </ul> </div> @@ -170,15 +214,27 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Que <th class="colLast" scope="col">Optional Element and Description</th> </tr> <tr class="altColor"> +<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/Query.html#name--">name</a></span></code> +<div class="block">The query parameter name.</div> +</td> +</tr> +<tr class="rowColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/Query.html#serializer--">serializer</a></span></code> <div class="block">Specifies the <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer"><code>PartSerializer</code></a> class used for serializing values to strings.</div> </td> </tr> +<tr class="altColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/Query.html#skipIfEmpty--">skipIfEmpty</a></span></code> +<div class="block">Skips this value if it's an empty string or empty collection/array.</div> +</td> +</tr> <tr class="rowColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/Query.html#value--">value</a></span></code> -<div class="block">The query parameter name.</div> +<div class="block">A synonym for <a href="../../../../org/apache/juneau/remoteable/Query.html#name--"><code>name()</code></a>.</div> </td> </tr> </table> @@ -196,26 +252,97 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Que <!-- --> </a> <h3>Element Detail</h3> -<a name="value--"> +<a name="name--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> -<h4>value</h4> -<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/Query.html#line.98">value</a></pre> +<h4>name</h4> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/Query.html#line.174">name</a></pre> <div class="block">The query parameter name. <p> - A value of <js>"*"</js> indicates the value should be serialized as name/value pairs and is applicable - for the following data types: - <ul> - <li><code>String</code> - A complete query string. - <li><code>NameValuePairs</code> - <li><code>Map<String,Object></code> - <li>A bean + Note that <a href="../../../../org/apache/juneau/remoteable/Query.html#name--"><code>name()</code></a> and <a href="../../../../org/apache/juneau/remoteable/Query.html#value--"><code>value()</code></a> are synonyms. + <p> + The value should be either <js>"*"</js> to represent multiple name/value pairs, or a label that defines the + query parameter name. + <p> + A blank value (the default) has the following behavior: + <ul class='spaced-list'> + <li>If the data type is <code>NameValuePairs</code>, <code>Map</code>, or a bean, + then it's the equivalent to <js>"*"</js> which will cause the value to be serialized as name/value pairs. + <h6 class='figure'>Example:</h6> + <p class='bcode'> + <jc>// When used on a remote method parameter</jc> + <ja>@Remoteable</ja>(path=<js>"/myproxy"</js>) + <jk>public interface</jk> MyProxy { + + <jc>// Equivalent to @Query("*")</jc> + <ja>@RemoteMethod</ja>(path=<js>"/mymethod"</js>) + String myProxyMethod1(<ja>@Query</ja> Map<String,Object> formData); + } + + <jc>// When used on a request bean method</jc> + <jk>public interface</jk> MyRequestBean { + + <jc>// Equivalent to @Query("*")</jc> + <ja>@Query</ja> + Map<String,Object> getFoo(); + } + </p> + <br> + <li>If used on a request bean method, uses the bean property name. + <h6 class='figure'>Example:</h6> + <p class='bcode'> + <jk>public interface</jk> MyRequestBean { + + <jc>// Equivalent to @Query("foo")</jc> + <ja>@Query</ja> + String getFoo(); + } + </p> + </ul> </ul></div> <dl> <dt>Default:</dt> -<dd>"*"</dd> +<dd>""</dd> +</dl> +</li> +</ul> +</li> +</ul> +<ul class="blockList"> +<li class="blockList"><a name="value--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>value</h4> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/Query.html#line.181">value</a></pre> +<div class="block">A synonym for <a href="../../../../org/apache/juneau/remoteable/Query.html#name--"><code>name()</code></a>. + <p> + Allows you to use shortened notation if you're only specifying the name.</div> +<dl> +<dt>Default:</dt> +<dd>""</dd> +</dl> +</li> +</ul> +</li> +</ul> +<ul class="blockList"> +<li class="blockList"><a name="skipIfEmpty--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>skipIfEmpty</h4> +<pre>public abstract boolean <a href="../../../../src-html/org/apache/juneau/remoteable/Query.html#line.188">skipIfEmpty</a></pre> +<div class="block">Skips this value if it's an empty string or empty collection/array. + <p> + Note that <jk>null</jk> values are already ignored.</div> +<dl> +<dt>Default:</dt> +<dd>false</dd> </dl> </li> </ul> @@ -228,15 +355,16 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Que <ul class="blockListLast"> <li class="blockList"> <h4>serializer</h4> -<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>> <a href="../../../../src-html/org/apache/juneau/remoteable/Query.html#line.107">serializer</a></pre> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>> <a href="../../../../src-html/org/apache/juneau/remoteable/Query.html#line.198">serializer</a></pre> <div class="block">Specifies the <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer"><code>PartSerializer</code></a> class used for serializing values to strings. <p> - The default serializer converters values to UON notation. + The default value defaults to the using the part serializer defined on the <a href="../../../../org/apache/juneau/remoteable/RequestBean.html" title="annotation in org.apache.juneau.remoteable"><code>RequestBean</code></a> annotation, + then on the client which by default is <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html" title="class in org.apache.juneau.urlencoding"><code>UrlEncodingSerializer</code></a>. <p> This annotation is provided to allow values to be custom serialized.</div> <dl> <dt>Default:</dt> -<dd>org.apache.juneau.urlencoding.UrlEncodingSerializer.class</dd> +<dd>org.apache.juneau.serializer.PartSerializer.class</dd> </dl> </li> </ul> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/19e9b7df/content/site/apidocs/org/apache/juneau/remoteable/QueryIfNE.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/remoteable/QueryIfNE.html b/content/site/apidocs/org/apache/juneau/remoteable/QueryIfNE.html index 17e5113..5016f6f 100644 --- a/content/site/apidocs/org/apache/juneau/remoteable/QueryIfNE.html +++ b/content/site/apidocs/org/apache/juneau/remoteable/QueryIfNE.html @@ -117,15 +117,21 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Que <th class="colLast" scope="col">Optional Element and Description</th> </tr> <tr class="altColor"> +<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/QueryIfNE.html#name--">name</a></span></code> +<div class="block">The query parameter name.</div> +</td> +</tr> +<tr class="rowColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/QueryIfNE.html#serializer--">serializer</a></span></code> <div class="block">Specifies the <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer"><code>PartSerializer</code></a> class used for serializing values to strings.</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/QueryIfNE.html#value--">value</a></span></code> -<div class="block">The query parameter name.</div> +<div class="block">A synonym for <a href="../../../../org/apache/juneau/remoteable/QueryIfNE.html#name--"><code>name()</code></a>.</div> </td> </tr> </table> @@ -143,26 +149,42 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Que <!-- --> </a> <h3>Element Detail</h3> -<a name="value--"> +<a name="name--"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>name</h4> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/QueryIfNE.html#line.36">name</a></pre> +<div class="block">The query parameter name.</div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../org/apache/juneau/remoteable/Query.html#name--"><code>Query.name()</code></a></dd> +</dl> +<dl> +<dt>Default:</dt> +<dd>""</dd> +</dl> +</li> +</ul> +</li> +</ul> +<ul class="blockList"> +<li class="blockList"><a name="value--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>value</h4> -<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/QueryIfNE.html#line.44">value</a></pre> -<div class="block">The query parameter name. - <p> - A value of <js>"*"</js> indicates the value should be serialized as name/value pairs and is applicable - for the following data types: - <ul> - <li><code>String</code> - A complete query string. - <li><code>NameValuePairs</code> - <li><code>Map<String,Object></code> - <li>A bean - </ul></div> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/juneau/remoteable/QueryIfNE.html#line.42">value</a></pre> +<div class="block">A synonym for <a href="../../../../org/apache/juneau/remoteable/QueryIfNE.html#name--"><code>name()</code></a>.</div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../org/apache/juneau/remoteable/Query.html#value--"><code>Query.value()</code></a></dd> +</dl> <dl> <dt>Default:</dt> -<dd>"*"</dd> +<dd>""</dd> </dl> </li> </ul> @@ -175,15 +197,16 @@ public @interface <a href="../../../../src-html/org/apache/juneau/remoteable/Que <ul class="blockListLast"> <li class="blockList"> <h4>serializer</h4> -<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>> <a href="../../../../src-html/org/apache/juneau/remoteable/QueryIfNE.html#line.53">serializer</a></pre> +<pre>public abstract <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>> <a href="../../../../src-html/org/apache/juneau/remoteable/QueryIfNE.html#line.52">serializer</a></pre> <div class="block">Specifies the <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer"><code>PartSerializer</code></a> class used for serializing values to strings. <p> - The default serializer converters values to UON notation. + The default value defaults to the using the part serializer defined on the <a href="../../../../org/apache/juneau/remoteable/RequestBean.html" title="annotation in org.apache.juneau.remoteable"><code>RequestBean</code></a> annotation, + then on the client which by default is <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html" title="class in org.apache.juneau.urlencoding"><code>UrlEncodingSerializer</code></a>. <p> This annotation is provided to allow values to be custom serialized.</div> <dl> <dt>Default:</dt> -<dd>org.apache.juneau.urlencoding.UrlEncodingSerializer.class</dd> +<dd>org.apache.juneau.serializer.PartSerializer.class</dd> </dl> </li> </ul> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/19e9b7df/content/site/apidocs/org/apache/juneau/remoteable/RemoteMethodArg.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/remoteable/RemoteMethodArg.html b/content/site/apidocs/org/apache/juneau/remoteable/RemoteMethodArg.html index 5adb4a7..792e557 100644 --- a/content/site/apidocs/org/apache/juneau/remoteable/RemoteMethodArg.html +++ b/content/site/apidocs/org/apache/juneau/remoteable/RemoteMethodArg.html @@ -164,7 +164,8 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html? </tr> <tr class="altColor"> <td class="colFirst"><code>protected </code></td> -<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/RemoteMethodArg.html#RemoteMethodArg-java.lang.String-int-boolean-java.lang.Class-">RemoteMethodArg</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name, +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/remoteable/RemoteMethodArg.html#RemoteMethodArg-java.lang.String-java.lang.String-int-boolean-java.lang.Class-">RemoteMethodArg</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name, + <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name2, int index, boolean skipIfNE, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>> serializer)</code> @@ -249,20 +250,22 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html? <!-- --> </a> <h3>Constructor Detail</h3> -<a name="RemoteMethodArg-java.lang.String-int-boolean-java.lang.Class-"> +<a name="RemoteMethodArg-java.lang.String-java.lang.String-int-boolean-java.lang.Class-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>RemoteMethodArg</h4> -<pre>protected <a href="../../../../src-html/org/apache/juneau/remoteable/RemoteMethodArg.html#line.45">RemoteMethodArg</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name, +<pre>protected <a href="../../../../src-html/org/apache/juneau/remoteable/RemoteMethodArg.html#line.46">RemoteMethodArg</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name, + <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> name2, int index, boolean skipIfNE, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><? extends <a href="../../../../org/apache/juneau/serializer/PartSerializer.html" title="interface in org.apache.juneau.serializer">PartSerializer</a>> serializer)</pre> <div class="block">Constructor.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> -<dd><code>name</code> - The argument name. Can be blank.</dd> +<dd><code>name</code> - The argument name pulled from name().</dd> +<dd><code>name2</code> - The argument name pulled from value().</dd> <dd><code>index</code> - The zero-based index of the argument on the Java method.</dd> <dd><code>skipIfNE</code> - The value is skipped if it's null/empty.</dd> <dd><code>serializer</code> - The class to use for serializing headers, query paramters, form-data parameters, and
