http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html b/content/site/apidocs/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html index 3f766dc..95335cf 100644 --- a/content/site/apidocs/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html +++ b/content/site/apidocs/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html @@ -74,13 +74,13 @@ var activeTableTab = "activeTableTab"; <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> -<li><a href="#fields.inherited.from.class.org.apache.juneau.uon.UonSerializerContext">Field</a> | </li> +<li><a href="#field.summary">Field</a> | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> -<li>Field | </li> +<li><a href="#field.detail">Field</a> | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> @@ -148,6 +148,19 @@ extends <a href="../../../../org/apache/juneau/uon/UonSerializerContext.html" ti <!-- --> </a> <h3>Field Summary</h3> +<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> +<caption><span>Fields</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colFirst" scope="col">Modifier and Type</th> +<th class="colLast" scope="col">Field and Description</th> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html#URLENC_paramFormat">URLENC_paramFormat</a></span></code> +<div class="block"><b>Configuration property:</b> Format to use for top-level query names and simple parameters.</div> +</td> +</tr> +</table> <ul class="blockList"> <li class="blockList"><a name="fields.inherited.from.class.org.apache.juneau.uon.UonSerializerContext"> <!-- --> @@ -238,6 +251,49 @@ extends <a href="../../../../org/apache/juneau/uon/UonSerializerContext.html" ti <div class="details"> <ul class="blockList"> <li class="blockList"> +<!-- ============ FIELD DETAIL =========== --> +<ul class="blockList"> +<li class="blockList"><a name="field.detail"> +<!-- --> +</a> +<h3>Field Detail</h3> +<a name="URLENC_paramFormat"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>URLENC_paramFormat</h4> +<pre>public static final <a href="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/urlencoding/UrlEncodingSerializerContext.html#line.52">URLENC_paramFormat</a></pre> +<div class="block"><b>Configuration property:</b> Format to use for top-level query names and simple parameters. + <p> + <ul> + <li><b>Name:</b> <js>"UrlEncodingSerializer.paramFormat"</js> + <li><b>Data type:</b> <code>String</code> + <li><b>Default:</b> <js>"UON"</js> + <li><b>Session-overridable:</b> <jk>true</jk> + </ul> + <p> + Specifies the format to use for URL GET parameter keys and values. + <p> + The possible values are: + <ul> + <li><js>"UON"</js> (default) - Use UON notation for values. + <br>String values such as <js>"(foo='bar')"</js> will end up being quoted and escaped to <js>"'(foo=bar~'baz~')'"</js>. + <br>Similarly, boolean and numeric values will also end up quoted. + <li><js>"PLAINTEXT"</js> (default) - Serialize as plain text. + <br>Strings will never be quoted or escaped. + <br>Note that this can cause errors during parsing if you're using the URL-encoding parser to parse + the results since UON constructs won't be differentiatable. + <br>However, this is not an issue if you're simply creating queries or form posts against 3rd-party interfaces. + </ul></div> +<dl> +<dt><span class="seeLabel">See Also:</span></dt> +<dd><a href="../../../../constant-values.html#org.apache.juneau.urlencoding.UrlEncodingSerializerContext.URLENC_paramFormat">Constant Field Values</a></dd> +</dl> +</li> +</ul> +</li> +</ul> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.detail"> @@ -250,7 +306,7 @@ extends <a href="../../../../org/apache/juneau/uon/UonSerializerContext.html" ti <ul class="blockListLast"> <li class="blockList"> <h4>UrlEncodingSerializerContext</h4> -<pre>public <a href="../../../../src-html/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html#line.38">UrlEncodingSerializerContext</a>(<a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a> ps)</pre> +<pre>public <a href="../../../../src-html/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html#line.66">UrlEncodingSerializerContext</a>(<a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a> ps)</pre> <div class="block">Constructor. <p> Typically only called from <a href="../../../../org/apache/juneau/PropertyStore.html#getContext-java.lang.Class-"><code>PropertyStore.getContext(Class)</code></a>.</div> @@ -274,7 +330,7 @@ extends <a href="../../../../org/apache/juneau/uon/UonSerializerContext.html" ti <ul class="blockListLast"> <li class="blockList"> <h4>asMap</h4> -<pre>public <a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a> <a href="../../../../src-html/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html#line.44">asMap</a>()</pre> +<pre>public <a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a> <a href="../../../../src-html/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html#line.73">asMap</a>()</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../org/apache/juneau/Context.html#asMap--">Context</a></code></span></div> <div class="block">Returns the properties defined on this bean context as a simple map for debugging purposes.</div> <dl> @@ -338,13 +394,13 @@ extends <a href="../../../../org/apache/juneau/uon/UonSerializerContext.html" ti <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> -<li><a href="#fields.inherited.from.class.org.apache.juneau.uon.UonSerializerContext">Field</a> | </li> +<li><a href="#field.summary">Field</a> | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> -<li>Field | </li> +<li><a href="#field.detail">Field</a> | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul>
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html b/content/site/apidocs/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html index 9a33597..b18c029 100644 --- a/content/site/apidocs/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html +++ b/content/site/apidocs/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html @@ -18,7 +18,7 @@ catch(err) { } //--> -var methods = {"i0":10,"i1":10}; +var methods = {"i0":10,"i1":10,"i2":10}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; @@ -166,7 +166,8 @@ extends <a href="../../../../org/apache/juneau/uon/UonSerializerSession.html" ti <th class="colOne" scope="col">Constructor and Description</th> </tr> <tr class="altColor"> -<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html#UrlEncodingSerializerSession-org.apache.juneau.urlencoding.UrlEncodingSerializerContext-org.apache.juneau.ObjectMap-java.lang.Object-java.lang.reflect.Method-java.util.Locale-java.util.TimeZone-org.apache.juneau.MediaType-">UrlEncodingSerializerSession</a></span>(<a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html" title="class in org.apache.juneau.urlencoding">UrlEncodingSerializerContext</a> ctx, +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html#UrlEncodingSerializerSession-org.apache.juneau.urlencoding.UrlEncodingSerializerContext-java.lang.Boolean-org.apache.juneau.ObjectMap-java.lang.Object-java.lang.reflect.Method-java.util.Locale-java.util.TimeZone-org.apache.juneau.MediaType-">UrlEncodingSerializerSession</a></span>(<a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html" title="class in org.apache.juneau.urlencoding">UrlEncodingSerializerContext</a> ctx, + <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> encode, <a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a> op, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> output, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a> javaMethod, @@ -192,12 +193,18 @@ extends <a href="../../../../org/apache/juneau/uon/UonSerializerSession.html" ti <th class="colLast" scope="col">Method and Description</th> </tr> <tr id="i0" class="altColor"> +<td class="colFirst"><code>protected boolean</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html#plainTextParams--">plainTextParams</a></span>()</code> +<div class="block">Returns <jk>true</jk> if the <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html#URLENC_paramFormat"><code>UrlEncodingSerializerContext.URLENC_paramFormat</code></a> is <js>"PLAINTEXT"</js>.</div> +</td> +</tr> +<tr id="i1" class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html#shouldUseExpandedParams-org.apache.juneau.BeanPropertyMeta-">shouldUseExpandedParams</a></span>(<a href="../../../../org/apache/juneau/BeanPropertyMeta.html" title="class in org.apache.juneau">BeanPropertyMeta</a> pMeta)</code> <div class="block">Returns <jk>true</jk> if the specified bean property should be expanded as multiple key-value pairs.</div> </td> </tr> -<tr id="i1" class="rowColor"> +<tr id="i2" class="altColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html#shouldUseExpandedParams-java.lang.Object-">shouldUseExpandedParams</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> value)</code> <div class="block">Returns <jk>true</jk> if the specified value should be represented as an expanded parameter list.</div> @@ -253,13 +260,14 @@ extends <a href="../../../../org/apache/juneau/uon/UonSerializerSession.html" ti <!-- --> </a> <h3>Constructor Detail</h3> -<a name="UrlEncodingSerializerSession-org.apache.juneau.urlencoding.UrlEncodingSerializerContext-org.apache.juneau.ObjectMap-java.lang.Object-java.lang.reflect.Method-java.util.Locale-java.util.TimeZone-org.apache.juneau.MediaType-"> +<a name="UrlEncodingSerializerSession-org.apache.juneau.urlencoding.UrlEncodingSerializerContext-java.lang.Boolean-org.apache.juneau.ObjectMap-java.lang.Object-java.lang.reflect.Method-java.util.Locale-java.util.TimeZone-org.apache.juneau.MediaType-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>UrlEncodingSerializerSession</h4> -<pre>public <a href="../../../../src-html/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html#line.46">UrlEncodingSerializerSession</a>(<a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html" title="class in org.apache.juneau.urlencoding">UrlEncodingSerializerContext</a> ctx, +<pre>public <a href="../../../../src-html/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html#line.47">UrlEncodingSerializerSession</a>(<a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html" title="class in org.apache.juneau.urlencoding">UrlEncodingSerializerContext</a> ctx, + <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a> encode, <a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a> op, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> output, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a> javaMethod, @@ -271,6 +279,7 @@ extends <a href="../../../../org/apache/juneau/uon/UonSerializerSession.html" ti <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>ctx</code> - The context creating this session object. The context contains all the configuration settings for this object.</dd> +<dd><code>encode</code> - Overrides the <a href="../../../../org/apache/juneau/uon/UonSerializerContext.html#UON_encodeChars"><code>UonSerializerContext.UON_encodeChars</code></a> setting.</dd> <dd><code>output</code> - The output object. See <a href="../../../../org/apache/juneau/json/JsonSerializerSession.html#getWriter--"><code>JsonSerializerSession.getWriter()</code></a> for valid class types.</dd> <dd><code>op</code> - The override properties. These override any context properties defined in the context.</dd> @@ -297,7 +306,7 @@ extends <a href="../../../../org/apache/juneau/uon/UonSerializerSession.html" ti <ul class="blockList"> <li class="blockList"> <h4>shouldUseExpandedParams</h4> -<pre>public final boolean <a href="../../../../src-html/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html#line.61">shouldUseExpandedParams</a>(<a href="../../../../org/apache/juneau/BeanPropertyMeta.html" title="class in org.apache.juneau">BeanPropertyMeta</a> pMeta)</pre> +<pre>public final boolean <a href="../../../../src-html/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html#line.64">shouldUseExpandedParams</a>(<a href="../../../../org/apache/juneau/BeanPropertyMeta.html" title="class in org.apache.juneau">BeanPropertyMeta</a> pMeta)</pre> <div class="block">Returns <jk>true</jk> if the specified bean property should be expanded as multiple key-value pairs.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> @@ -310,10 +319,10 @@ extends <a href="../../../../org/apache/juneau/uon/UonSerializerSession.html" ti <a name="shouldUseExpandedParams-java.lang.Object-"> <!-- --> </a> -<ul class="blockListLast"> +<ul class="blockList"> <li class="blockList"> <h4>shouldUseExpandedParams</h4> -<pre>public final boolean <a href="../../../../src-html/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html#line.78">shouldUseExpandedParams</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> value)</pre> +<pre>public final boolean <a href="../../../../src-html/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html#line.81">shouldUseExpandedParams</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> value)</pre> <div class="block">Returns <jk>true</jk> if the specified value should be represented as an expanded parameter list.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> @@ -323,6 +332,20 @@ extends <a href="../../../../org/apache/juneau/uon/UonSerializerSession.html" ti </dl> </li> </ul> +<a name="plainTextParams--"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>plainTextParams</h4> +<pre>protected boolean <a href="../../../../src-html/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html#line.96">plainTextParams</a>()</pre> +<div class="block">Returns <jk>true</jk> if the <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html#URLENC_paramFormat"><code>UrlEncodingSerializerContext.URLENC_paramFormat</code></a> is <js>"PLAINTEXT"</js>.</div> +<dl> +<dt><span class="returnLabel">Returns:</span></dt> +<dd><jk>true</jk> if the <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html#URLENC_paramFormat"><code>UrlEncodingSerializerContext.URLENC_paramFormat</code></a> is <js>"PLAINTEXT"</js>.</dd> +</dl> +</li> +</ul> </li> </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/org/apache/juneau/utils/AList.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/utils/AList.html b/content/site/apidocs/org/apache/juneau/utils/AList.html index 4858191..29c1c94 100644 --- a/content/site/apidocs/org/apache/juneau/utils/AList.html +++ b/content/site/apidocs/org/apache/juneau/utils/AList.html @@ -18,7 +18,7 @@ catch(err) { } //--> -var methods = {"i0":10}; +var methods = {"i0":10,"i1":10}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; @@ -205,6 +205,12 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.h <div class="block">Adds an entry to this list.</div> </td> </tr> +<tr id="i1" class="rowColor"> +<td class="colFirst"><code><a href="../../../../org/apache/juneau/utils/AList.html" title="class in org.apache.juneau.utils">AList</a><<a href="../../../../org/apache/juneau/utils/AList.html" title="type parameter in AList">T</a>></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/utils/AList.html#appendAll-T...-">appendAll</a></span>(<a href="../../../../org/apache/juneau/utils/AList.html" title="type parameter in AList">T</a>... t)</code> +<div class="block">Adds multiple entries to this list.</div> +</td> +</tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.java.util.LinkedList"> @@ -305,7 +311,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.h </a><a name="append-T-"> <!-- --> </a> -<ul class="blockListLast"> +<ul class="blockList"> <li class="blockList"> <h4>append</h4> <pre>public <a href="../../../../org/apache/juneau/utils/AList.html" title="class in org.apache.juneau.utils">AList</a><<a href="../../../../org/apache/juneau/utils/AList.html" title="type parameter in AList">T</a>> <a href="../../../../src-html/org/apache/juneau/utils/AList.html#line.37">append</a>(<a href="../../../../org/apache/juneau/utils/AList.html" title="type parameter in AList">T</a> t)</pre> @@ -318,6 +324,24 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.h </dl> </li> </ul> +<a name="appendAll-java.lang.Object:A-"> +<!-- --> +</a><a name="appendAll-T...-"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>appendAll</h4> +<pre>public <a href="../../../../org/apache/juneau/utils/AList.html" title="class in org.apache.juneau.utils">AList</a><<a href="../../../../org/apache/juneau/utils/AList.html" title="type parameter in AList">T</a>> <a href="../../../../src-html/org/apache/juneau/utils/AList.html#line.48">appendAll</a>(<a href="../../../../org/apache/juneau/utils/AList.html" title="type parameter in AList">T</a>... t)</pre> +<div class="block">Adds multiple entries to this list.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>t</code> - The entries to add to this list.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>This object (for method chaining).</dd> +</dl> +</li> +</ul> </li> </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/org/apache/juneau/utils/ASet.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/utils/ASet.html b/content/site/apidocs/org/apache/juneau/utils/ASet.html index c7872d9..7e9df29 100644 --- a/content/site/apidocs/org/apache/juneau/utils/ASet.html +++ b/content/site/apidocs/org/apache/juneau/utils/ASet.html @@ -18,7 +18,7 @@ catch(err) { } //--> -var methods = {"i0":10}; +var methods = {"i0":10,"i1":10}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; @@ -190,6 +190,12 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashSe <div class="block">Adds an entry to this set.</div> </td> </tr> +<tr id="i1" class="rowColor"> +<td class="colFirst"><code><a href="../../../../org/apache/juneau/utils/ASet.html" title="class in org.apache.juneau.utils">ASet</a><<a href="../../../../org/apache/juneau/utils/ASet.html" title="type parameter in ASet">T</a>></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/utils/ASet.html#appendAll-T...-">appendAll</a></span>(<a href="../../../../org/apache/juneau/utils/ASet.html" title="type parameter in ASet">T</a>... t)</code> +<div class="block">Adds multiple entries to this set.</div> +</td> +</tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.java.util.LinkedHashSet"> @@ -283,7 +289,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashSe </a><a name="append-T-"> <!-- --> </a> -<ul class="blockListLast"> +<ul class="blockList"> <li class="blockList"> <h4>append</h4> <pre>public <a href="../../../../org/apache/juneau/utils/ASet.html" title="class in org.apache.juneau.utils">ASet</a><<a href="../../../../org/apache/juneau/utils/ASet.html" title="type parameter in ASet">T</a>> <a href="../../../../src-html/org/apache/juneau/utils/ASet.html#line.37">append</a>(<a href="../../../../org/apache/juneau/utils/ASet.html" title="type parameter in ASet">T</a> t)</pre> @@ -296,6 +302,24 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashSe </dl> </li> </ul> +<a name="appendAll-java.lang.Object:A-"> +<!-- --> +</a><a name="appendAll-T...-"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>appendAll</h4> +<pre>public <a href="../../../../org/apache/juneau/utils/ASet.html" title="class in org.apache.juneau.utils">ASet</a><<a href="../../../../org/apache/juneau/utils/ASet.html" title="type parameter in ASet">T</a>> <a href="../../../../src-html/org/apache/juneau/utils/ASet.html#line.48">appendAll</a>(<a href="../../../../org/apache/juneau/utils/ASet.html" title="type parameter in ASet">T</a>... t)</pre> +<div class="block">Adds multiple entries to this set.</div> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>t</code> - The entries to add to this set.</dd> +<dt><span class="returnLabel">Returns:</span></dt> +<dd>This object (for method chaining).</dd> +</dl> +</li> +</ul> </li> </ul> </li> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/org/apache/juneau/xml/package-summary.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/xml/package-summary.html b/content/site/apidocs/org/apache/juneau/xml/package-summary.html index 609b7f1..7382003 100644 --- a/content/site/apidocs/org/apache/juneau/xml/package-summary.html +++ b/content/site/apidocs/org/apache/juneau/xml/package-summary.html @@ -1013,8 +1013,6 @@ </p> <p> The following examples show how type names are used under various circumstances. - Note that array dimensions are represented with the caret <js>'^'</js> character. - For example, <js>"X^"</js> is a 1-dimensional array, and <js>"X^^"</js> is a 2-dimensional array. </p> <p> Pay special attention to when <xa>_type</xa> attributes are and are not used. @@ -1047,7 +1045,7 @@ <fx><xv>foo</xv></fx> </X> </b1> - <b2 <xa>_type</xa>=<xs>'X^'</xs>> + <b2> <X> <fx><xv>foo</xv></fx> </X> @@ -1084,7 +1082,7 @@ </X> </array> </b1> - <b2 <xa>_type</xa>=<xs>'X^^'</xs>> + <b2> <array> <X> <fx><xv>foo</xv></fx> @@ -1194,7 +1192,7 @@ <fa><xv>foo</xv></fa> </A> </a> - <ia1 <xa>_type</xa>=<xs>'A^'</xs>> + <ia1> <A> <fa><xv>foo</xv></fa> </A> @@ -1204,7 +1202,7 @@ <fa><xv>foo</xv></fa> </A> </ia2> - <aa1 <xa>_type</xa>=<xs>'A^'</xs>> + <aa1> <A> <fa><xv>foo</xv></fa> </A> @@ -1214,7 +1212,7 @@ <fa><xv>foo</xv></fa> </A> </aa2> - <o1 <xa>_type</xa>=<xs>'A^'</xs>> + <o1> <A> <fa><xv>foo</xv></fa> </A> @@ -1293,7 +1291,7 @@ </a1> </a> <ia> - <ia1 <xa>_type</xa>=<xs>'A^'</xs>> + <ia1> <A> <fa><xv>foo</xv></fa> </A> @@ -1305,7 +1303,7 @@ </ia2> </ia> <aa> - <aa1 <xa>_type</xa>=<xs>'A^'</xs>> + <aa1> <A> <fa><xv>foo</xv></fa> </A> @@ -1317,7 +1315,7 @@ </aa2> </aa> <o> - <o1 <xa>_type</xa>=<xs>'A^'</xs>> + <o1> <A> <fa><xv>foo</xv></fa> </A> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/overview-frame.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/overview-frame.html b/content/site/apidocs/overview-frame.html index a848804..eab1cd9 100644 --- a/content/site/apidocs/overview-frame.html +++ b/content/site/apidocs/overview-frame.html @@ -37,6 +37,7 @@ <li><a href="org/apache/juneau/msgpack/package-frame.html" target="packageFrame">org.apache.juneau.msgpack</a></li> <li><a href="org/apache/juneau/parser/package-frame.html" target="packageFrame">org.apache.juneau.parser</a></li> <li><a href="org/apache/juneau/plaintext/package-frame.html" target="packageFrame">org.apache.juneau.plaintext</a></li> +<li><a href="org/apache/juneau/remoteable/package-frame.html" target="packageFrame">org.apache.juneau.remoteable</a></li> <li><a href="org/apache/juneau/rest/package-frame.html" target="packageFrame">org.apache.juneau.rest</a></li> <li><a href="org/apache/juneau/rest/annotation/package-frame.html" target="packageFrame">org.apache.juneau.rest.annotation</a></li> <li><a href="org/apache/juneau/rest/client/package-frame.html" target="packageFrame">org.apache.juneau.rest.client</a></li> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/80ff9b74/content/site/apidocs/overview-summary.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/overview-summary.html b/content/site/apidocs/overview-summary.html index 1212276..4e7fcca 100644 --- a/content/site/apidocs/overview-summary.html +++ b/content/site/apidocs/overview-summary.html @@ -230,144 +230,150 @@ </td> </tr> <tr class="altColor"> +<td class="colFirst"><a href="org/apache/juneau/remoteable/package-summary.html">org.apache.juneau.remoteable</a></td> +<td class="colLast"> +<div class="block">Remoteable interface proxies</div> +</td> +</tr> +<tr class="rowColor"> <td class="colFirst"><a href="org/apache/juneau/rest/package-summary.html">org.apache.juneau.rest</a></td> <td class="colLast"> <div class="block">REST Servlet API</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><a href="org/apache/juneau/rest/annotation/package-summary.html">org.apache.juneau.rest.annotation</a></td> <td class="colLast"> <div class="block">REST servlet annotations</div> </td> </tr> -<tr class="altColor"> +<tr class="rowColor"> <td class="colFirst"><a href="org/apache/juneau/rest/client/package-summary.html">org.apache.juneau.rest.client</a></td> <td class="colLast"> <div class="block">REST client API</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><a href="org/apache/juneau/rest/converters/package-summary.html">org.apache.juneau.rest.converters</a></td> <td class="colLast"> <div class="block">Predefined REST response converters</div> </td> </tr> -<tr class="altColor"> +<tr class="rowColor"> <td class="colFirst"><a href="org/apache/juneau/rest/jaxrs/package-summary.html">org.apache.juneau.rest.jaxrs</a></td> <td class="colLast"> <div class="block">JAX-RS / Wink integration components</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><a href="org/apache/juneau/rest/jaxrs/rdf/package-summary.html">org.apache.juneau.rest.jaxrs.rdf</a></td> <td class="colLast"> <div class="block">JAX-RS / Wink integration components with RDF support</div> </td> </tr> -<tr class="altColor"> +<tr class="rowColor"> <td class="colFirst"><a href="org/apache/juneau/rest/jena/package-summary.html">org.apache.juneau.rest.jena</a></td> <td class="colLast"> <div class="block">RET servlet API with Jena components</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><a href="org/apache/juneau/rest/labels/package-summary.html">org.apache.juneau.rest.labels</a></td> <td class="colLast"> <div class="block">Various REST interface label classes</div> </td> </tr> -<tr class="altColor"> +<tr class="rowColor"> <td class="colFirst"><a href="org/apache/juneau/rest/matchers/package-summary.html">org.apache.juneau.rest.matchers</a></td> <td class="colLast"> <div class="block">Predefined Matchers</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><a href="org/apache/juneau/rest/remoteable/package-summary.html">org.apache.juneau.rest.remoteable</a></td> <td class="colLast"> <div class="block">Remoteable service API</div> </td> </tr> -<tr class="altColor"> +<tr class="rowColor"> <td class="colFirst"><a href="org/apache/juneau/rest/response/package-summary.html">org.apache.juneau.rest.response</a></td> <td class="colLast"> <div class="block">HTTP Response handlers</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><a href="org/apache/juneau/rest/vars/package-summary.html">org.apache.juneau.rest.vars</a></td> <td class="colLast"> <div class="block">Predefined SVL variables</div> </td> </tr> -<tr class="altColor"> +<tr class="rowColor"> <td class="colFirst"><a href="org/apache/juneau/serializer/package-summary.html">org.apache.juneau.serializer</a></td> <td class="colLast"> <div class="block">Serializer API</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><a href="org/apache/juneau/soap/package-summary.html">org.apache.juneau.soap</a></td> <td class="colLast"> <div class="block">SOAP/XML serialization and parsing support</div> </td> </tr> -<tr class="altColor"> +<tr class="rowColor"> <td class="colFirst"><a href="org/apache/juneau/svl/package-summary.html">org.apache.juneau.svl</a></td> <td class="colLast"> <div class="block">Simple Variable Language</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><a href="org/apache/juneau/svl/vars/package-summary.html">org.apache.juneau.svl.vars</a></td> <td class="colLast"> <div class="block">Simple Variable Language - Predefined variables</div> </td> </tr> -<tr class="altColor"> +<tr class="rowColor"> <td class="colFirst"><a href="org/apache/juneau/transform/package-summary.html">org.apache.juneau.transform</a></td> <td class="colLast"> <div class="block">Transform API</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><a href="org/apache/juneau/transforms/package-summary.html">org.apache.juneau.transforms</a></td> <td class="colLast"> <div class="block">Predefined Transform implementations</div> </td> </tr> -<tr class="altColor"> +<tr class="rowColor"> <td class="colFirst"><a href="org/apache/juneau/uon/package-summary.html">org.apache.juneau.uon</a></td> <td class="colLast"> <div class="block">UON notation serialization and parsing support</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><a href="org/apache/juneau/urlencoding/package-summary.html">org.apache.juneau.urlencoding</a></td> <td class="colLast"> <div class="block">URL encoding serialization and parsing support</div> </td> </tr> -<tr class="altColor"> +<tr class="rowColor"> <td class="colFirst"><a href="org/apache/juneau/urlencoding/annotation/package-summary.html">org.apache.juneau.urlencoding.annotation</a></td> <td class="colLast"> <div class="block">URL-Encoding annotations</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><a href="org/apache/juneau/utils/package-summary.html">org.apache.juneau.utils</a></td> <td class="colLast"> <div class="block">Utility classes</div> </td> </tr> -<tr class="altColor"> +<tr class="rowColor"> <td class="colFirst"><a href="org/apache/juneau/xml/package-summary.html">org.apache.juneau.xml</a></td> <td class="colLast"> <div class="block">XML serialization and parsing support</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><a href="org/apache/juneau/xml/annotation/package-summary.html">org.apache.juneau.xml.annotation</a></td> <td class="colLast"> <div class="block">XML annotations</div> @@ -441,6 +447,9 @@ <li><p><a class='doclink' href='#Server'>Juneau Server (org.apache.juneau.rest)</a></p> <li><p><a class='doclink' href='#Client'>Juneau Client (org.apache.juneau.rest.client)</a></p> <li><p><a class='doclink' href='#Remoteable'>Remoteable services (org.apache.juneau.rest.remoteable)</a></p> + <ol> + <li><p><a class='doclink' href='#Remoteable.3rdParty'>Interface proxies against 3rd-party REST interfaces</a></p> + </ol> <li><p><a class='doclink' href='#Microservices'>Juneau Microservices (org.apache.juneau.microservice)</a></p> <li><p><a class='doclink' href='#Samples'>Samples</a></p> <ol> @@ -2589,14 +2598,18 @@ <p> Juneau provides the capability of calling methods on POJOs on a server through client-side proxy interfaces. It offers a number of advantages over other similar remote proxy interfaces, such as being much simpler to - use and allowing much more flexibility. + define and use, and allowing much more flexibility in the types of objects serialized. </p> <p> The remote proxy interface API allows you to invoke server-side POJO methods on the client side using REST as the communications protocol: </p> <p class='bcode'> + + <jc>// Create a client with basic JSON support.</jc> + RestClient client = <jk>new</jk> RestClientBuilder().rootUrl(<js>"http://localhost/remoteable"</js>).build(); + <jc>// Get an interface proxy.</jc> - IAddressBook ab = restClient.getRemoteableProxy(IAddressBook.<jk>class</jk>); + IAddressBook ab = client.getRemoteableProxy(IAddressBook.<jk>class</jk>); <jc>// Invoke a method on the server side and get the returned result.</jc> Person p = ab.createPerson( @@ -2608,9 +2621,53 @@ ); </p> <p> + Under the covers, this method call gets converted to a REST POST. + </p> + <p class='bcode'> + HTTP POST http://localhost/remoteable/org.apache.juneau.examples.rest.IAddressBook/createPerson + Accept: application/json + Content-Type: application/json + + [ + { + "name":"John Smith", + "birthDate":"Aug 1, 1999", + "addresses":[ + { + "street":"My street", + "city":"My city", + "state":"My state", + "zip":12345, + "isCurrent":true + } + ] + } + ] + </p> + <p> + Note that the body of the request is an array. This array contains the serialized arguments of the method. + The object returned by the method is then serialized as the body of the response. + </p> + <p> + To define a remoteable interface, simply add the <a href="org/apache/juneau/remoteable/Remoteable.html" title="annotation in org.apache.juneau.remoteable"><code>@Remoteable</code></a> annotation + to your interface class. + </p> + <p class='bcode'> + <ja>@Remoteable</ja> + <jk>public interface</jk> IAddressBook {...} + </p> + <p> + This annotation tells the framework that all methods defined on this interface can be executed remotely. + It can be applied to super-interfaces, super-classes, etc..., and exposes the methods at whatever level it is defined. + </p> + <p> + The <a href="org/apache/juneau/remoteable/RemoteMethod.html" title="annotation in org.apache.juneau.remoteable"><code>@RemoteMethod</code></a> annotation can also be used on individual methods + to tailor which methods are exposed or their paths. + </p> + <p> There are two ways to expose remoteable proxies on the server side: </p> - <ol> + <ol class='spaced-list'> <li>Extending from <code>RemoteableServlet</code>. <li>Using a <code><ja>@RestMethod</ja>(name=<js>"PROXY"</js>)</code> annotation on a Java method. </ol> @@ -2652,24 +2709,21 @@ } </p> <p> - In either case, the proxy communications layer is pure REST. - Parameters passed in on the client side are serialized as an HTTP POST, parsed on the - server side, and then passed to the invocation method. The returned POJO is then marshalled back as an HTTP response. - Therefore, in cases where the interface classes are not available on the client side, + In either case, the proxy communications layer is pure REST. + <br>Therefore, in cases where the interface classes are not available on the client side, the same method calls can be made through pure REST calls. - This can also aid significantly in debugging, since calls to the remoteable service + <br>This can also aid significantly in debugging, since calls to the remoteable service can be made directly from a browser with no coding involved. </p> <p> The parameters and return types of the Java methods can be any of the supported serializable and parsable types in <a class='doclink' href='#Core.PojoCategories'>POJO Categories</a>. - This ends up being WAY more flexible than other proxy interfaces since Juneau can handle so may POJO types out-of-the-box. - Most of the time you don't even need to modify your existing Java implementation code. + <br>This ends up being WAY more flexible than other proxy interfaces since Juneau can handle so may POJO types out-of-the-box. + <br>Most of the time you don't even need to modify your existing Java implementation code. </p> <p> - The RemoteableServlet class itself shows how sophisticated REST interfaces can be built on the Juneau RestServlet - API using very little code. The RemoteableServlet class itself consists of only 53 lines of code, yet is - a sophisticated discoverable and self-documenting REST interface. And since the remote proxy API is built on top - of REST, it can be debugged using just a browser. + The RemoteableServlet class itself shows how sophisticated REST interfaces can be built on the Juneau RestServlet API using very little code. + <br>The RemoteableServlet class itself consists of only 53 lines of code, yet is a sophisticated discoverable and self-documenting REST interface. + <br>And since the remote proxy API is built on top of REST, it can be debugged using just a browser. </p> <p> The requirements for a method to be callable through a remoteable service are: @@ -2685,6 +2739,90 @@ <ul class='javahierarchy'> <li class='p'><a class='doclink' href='org/apache/juneau/server/remoteable/package-summary.html#TOC'>org.apache.juneau.rest.remoteable</a> - Juneau Remoteable API Javadocs. </ul> + + <!-- ======================================================================================================== --> + <a id="Remoteable.3rdParty"></a> + <h3 class='topic' onclick='toggle(this)'>6.1 - Interface proxies against 3rd-party REST interfaces</h3> + <div class='topic'> + <p> + Remoteable proxies can also be used to define interface proxies against 3rd-party REST interfaces. + This is an extremely powerful feature that allows you to quickly define easy-to-use interfaces against virtually any REST interface. + </p> + <p> + Similar in concept to remoteable services defined above, but in this case we simply define our interface with + special annotations that tell us how to convert input and output to HTTP headers, query paramters, form post parameters, or request/response bodies. + </p> + <p class='bcode'> + <ja>@Remoteable</ja> + <jk>public interface</jk> MyProxyInterface { + + <ja>@RemoteMethod</ja>(httpMethod=<js>"POST"</js>, path=<js>"/method"</js>) + String doMethod(<ja>@Header</ja>(<js>"E-Tag"</js>) UUID etag, <ja>@Query</ja>("debug") <jk>boolean</jk> debug, <ja>@Body</ja> MyPojo pojo); + } + + RestClient client = <jk>new</jk> RestClientBuilder().build(); + MyProxyInterface p = client.getRemoteableProxy(MyProxyInterface.<jk>class</jk>, <js>"http://hostname/some/rest/interface"</js>); + String response = p.doMethod(UUID.<jsm>generate</jsm>(), <jk>true</jk>, <jk>new</jk> MyPojo()); + </p> + <p> + The Java method arguements can be annotated with any of the following: + </p> + <ul class='spaced-list'> + <li><a href="org/apache/juneau/remoteable/Query.html" title="annotation in org.apache.juneau.remoteable"><code>@Query</code></a> - A URL query parameter. + <br>The argument can be any of the following types: + <ul> + <li>Any serializable POJO - Converted to text using <a href="org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serializePart-java.lang.Object-java.lang.Boolean-java.lang.Boolean-"><code>UrlEncodingSerializer.serializePart(Object, Boolean, Boolean)</code></a>. + <li><code>Map<String,Object></code> - Individual name-value pairs. + <br>Values are converted to text using <a href="org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serializePart-java.lang.Object-java.lang.Boolean-java.lang.Boolean-"><code>UrlEncodingSerializer.serializePart(Object, Boolean, Boolean)</code></a>. + <li><code>String</code> - Treated as a query string. + </ul> + <li><a href="org/apache/juneau/remoteable/QueryIfNE.html" title="annotation in org.apache.juneau.remoteable"><code>@QueryIfNE</code></a> - Same as <ja>@Query</ja> except skips the value if it's null/empty. + <li><a href="org/apache/juneau/remoteable/FormData.html" title="annotation in org.apache.juneau.remoteable"><code>@FormData</code></a> - A form-data parameter. + <br>Note that this is only available if the HTTP method is <code>POST</code>. + <br>The argument can be any of the following types: + <ul> + <li>Any serializable POJO - Converted to text using <a href="org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serializePart-java.lang.Object-java.lang.Boolean-java.lang.Boolean-"><code>UrlEncodingSerializer.serializePart(Object, Boolean, Boolean)</code></a>. + <li><a href="org/apache/juneau/rest/client/NameValuePairs.html" title="class in org.apache.juneau.rest.client"><code>NameValuePairs</code></a> - Individual name-value pairs. + <li><code>Map<String,Object></code> - Individual name-value pairs. + <br>Values are converted to text using <a href="org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serializePart-java.lang.Object-java.lang.Boolean-java.lang.Boolean-"><code>UrlEncodingSerializer.serializePart(Object, Boolean, Boolean)</code></a>. + </ul> + <li><a href="org/apache/juneau/remoteable/FormDataIfNE.html" title="annotation in org.apache.juneau.remoteable"><code>@FormDataIfNE</code></a> - Same as <ja>@FormData</ja> except skips the value if it's null/empty. + <li><a href="org/apache/juneau/remoteable/Header.html" title="annotation in org.apache.juneau.remoteable"><code>@Header</code></a> - A request header. + <br>The argument can be any of the following types: + <ul> + <li>Any serializable POJO - Converted to text using <a href="org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serializePart-java.lang.Object-java.lang.Boolean-java.lang.Boolean-"><code>UrlEncodingSerializer.serializePart(Object, Boolean, Boolean)</code></a>. + <li><code>Map<String,Object></code> - Individual name-value pairs. + <br>Values are converted to text using <a href="org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serializePart-java.lang.Object-java.lang.Boolean-java.lang.Boolean-"><code>UrlEncodingSerializer.serializePart(Object, Boolean, Boolean)</code></a>. + </ul> + <li><a href="org/apache/juneau/remoteable/HeaderIfNE.html" title="annotation in org.apache.juneau.remoteable"><code>@HeaderIfNE</code></a> - Same as <ja>@Header</ja> except skips the value if it's null/empty. + <li><a href="org/apache/juneau/remoteable/Body.html" title="annotation in org.apache.juneau.remoteable"><code>@Body</code></a> - The HTTP request body. + <br>The argument can be any of the following types: + <ul> + <li>Any serializable POJO - Converted to text/bytes using the <a href="org/apache/juneau/serializer/Serializer.html" title="class in org.apache.juneau.serializer"><code>Serializer</code></a> registered with the <code>RestClient</code>. + <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a> - Raw contents of reader will be serialized to remote resource. + <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> - Raw contents of input stream will be serialized to remote resource. + <li><code>HttpEntity</code> - Bypass Juneau serialization and pass HttpEntity directly to HttpClient. + <li><a href="org/apache/juneau/rest/client/NameValuePairs.html" title="class in org.apache.juneau.rest.client"><code>NameValuePairs</code></a> - Converted to a URL-encoded FORM post. + </ul> + </ul> + <p> + The return type of the Java method can be any of the following: + </p> + <ul class='spaced-list'> + <li><jk>void</jk> - Don't parse any response. + <br>Note that the method will still throw a runtime exception if an error HTTP status is returned. + <li>Any parsable POJO - The body of the response will be converted to the POJO using the parser defined on the <code>RestClient</code>. + <li><code>HttpResponse</code> - Returns the raw <code>HttpResponse</code> returned by the inner <code>HttpClient</code>. + <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a> - Returns access to the raw reader of the response. + <br>Note that if you don't want your response parsed as a POJO, you'll want to get the response reader directly. + <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> - Returns access to the raw input stream of the response. + </ul> + + <h6 class='topic'>Additional Information</h6> + <ul class='javahierarchy'> + <li class='p'><a class='doclink' href='org/apache/juneau/remoteable/package-summary.html#TOC'>org.apache.juneau.remoteable</a> - Juneau Remoteable API Javadocs. + </ul> + </div> </div> <!-- ======================================================================================================== --> @@ -4687,8 +4825,6 @@ As good practice, you'll want to use interfaces to prevent all public methods from being exposed. </p> <p> - The <a href="org/apache/juneau/rest/client/RestClientBuilder.html#remoteableServletUri-java.lang.String-"><code>RestClientBuilder.remoteableServletUri(String)</code></a> method is used to specify the location - of the remoteable services servlet running on the server. Proxy interfaces are then retrieved using the <a href="org/apache/juneau/rest/client/RestClient.html#getRemoteableProxy-java.lang.Class-"><code>RestClient.getRemoteableProxy(Class)</code></a> method. </p> <p> @@ -4697,7 +4833,7 @@ <p class='bcode'> <jc>// Create a RestClient using JSON for serialization, and point to the server-side remoteable servlet.</jc> RestClient client = <jk>new</jk> RestClientBuilder() - .remoteableServletUri(<js>"http://localhost:10000/remoteable"</js>) + .rootUrl(<js>"http://localhost:10000/remoteable"</js>) .build(); <jc>// Create a proxy interface.</jc> @@ -4715,8 +4851,8 @@ <li class='a'><a href="org/apache/juneau/rest/remoteable/RemoteableServlet.html" title="class in org.apache.juneau.rest.remoteable"><code>RemoteableServlet</code></a> <li class='c'><a href="org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client"><code>RestClient</code></a> <ul> - <li class='m'><a href="org/apache/juneau/rest/client/RestClientBuilder.html#remoteableServletUri-java.lang.String-"><code>remoteableServletUri(String)</code></a> <li class='m'><a href="org/apache/juneau/rest/client/RestClient.html#getRemoteableProxy-java.lang.Class-"><code>getRemoteableProxy(Class)</code></a> + <li class='m'><a href="org/apache/juneau/rest/client/RestClient.html#getRemoteableProxy-java.lang.Class-java.lang.Object-"><code>getRemoteableProxy(Class,Object)</code></a> </ul> </ul> </div> @@ -6099,6 +6235,17 @@ <li><a href="org/apache/juneau/dto/html5/HtmlElementMixed.html#getChild-int...-"><code>HtmlElementMixed.getChild(int...)</code></a> </ul> <li>New common serializer setting: <a href="org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_abridged"><code>SerializerContext.SERIALIZER_abridged</code></a>. + <li>Support for defining interface proxies against 3rd-party REST interfaces. + <br>New package <a href="org/apache/juneau/remoteable/package-summary.html"><code>org.apache.juneau.remoteable</code></a> for all remoteable proxy interface annotations. + <br><ja>@Remoteable</ja> annotation has been moved to this package. + <li>Updated doc: <a class='doclink' href='#Remoteable'>6 - Remoteable Services</a> + <li>New doc: <a class='doclink' href='#Remoteable.3rdParty'>6.1 - Interface proxies against 3rd-party REST interfaces</a> + <li>New URL-encoding serializer setting: <a href="org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html#URLENC_paramFormat"><code>UrlEncodingSerializerContext.URLENC_paramFormat</code></a> + <li>New methods on <a href="org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.html" title="class in org.apache.juneau.urlencoding"><code>UrlEncodingSerializerBuilder</code></a>: + <ul> + <li><a href="org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.html#paramFormat-java.lang.String-"><code>paramFormat(String)</code></a> + <li><a href="org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.html#plainTextParams--"><code>plainTextParams()</code></a> + </ul> </ul> <h6 class='topic'>org.apache.juneau.rest</h6> @@ -6200,7 +6347,6 @@ IAddressBook ab = client.getRemoteableProxy(IAddressBook.<jk>class</jk>, <js>"/addressBook/myproxy"</js>); </p> See <a href="org/apache/juneau/rest/annotation/RestMethod.html#name--"><code>RestMethod.name()</code></a> for more information. - <li>Updated doc: <a class='doclink' href='#Remoteable'>6 - Remoteable Services</a> <li><a href="org/apache/juneau/rest/RestRequest.html#toString--"><code>RestRequest.toString()</code></a> can be called at any time to view the headers and content of the request without affecting functionality. Very useful for debugging. <li>You can now use numeric values in path annotations. @@ -6218,47 +6364,76 @@ <h6 class='topic'>org.apache.juneau.rest.client</h6> <ul class='spaced-list'> <li>Revamped the client API to use builders. - <li>New methods added to <a href="org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client"><code>RestCall</code></a>: - <ul> - <li><a href="org/apache/juneau/rest/client/RestCall.html#serializer-org.apache.juneau.serializer.Serializer-"><code>RestCall.serializer(Serializer)</code></a> - Override the serializer defined on the client for a single call. - <li><a href="org/apache/juneau/rest/client/RestCall.html#parser-org.apache.juneau.parser.Parser-"><code>RestCall.parser(Parser)</code></a> - Override the parser defined on the client for a single call. - </ul> - <li>New methods added to <a href="org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client"><code>RestClient</code></a>: + <li>New doc: <a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#Debugging'>1.5 - Debugging</a> + <li>The <code>RestClient</code> class <code>doX(Object url)</code> methods now handle HttpClient <code>URIBuilder</code> instances. + <li>New methods added/updated to <a href="org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client"><code>RestClient</code></a>: <ul> - <li><a href="org/apache/juneau/rest/client/RestClient.html#getRemoteableProxy-java.lang.Class-java.lang.Object-"><code>RestClient.getRemoteableProxy(Class,Object)</code></a> - For interface proxies defined using <code><ja>@RestMethod</ja>(name=<js>"PROXY"</js>)</code>. - <li><a href="org/apache/juneau/rest/client/RestClient.html#getRemoteableProxy-java.lang.Class-java.lang.Object-org.apache.juneau.serializer.Serializer-org.apache.juneau.parser.Parser-"><code>RestClient.getRemoteableProxy(Class,Object,Serializer,Parser)</code></a> - Same as above, but overrides the serializer and parser defined on the client. + <li><a href="org/apache/juneau/rest/client/RestClient.html#getRemoteableProxy-java.lang.Class-java.lang.Object-"><code>getRemoteableProxy(Class,Object)</code></a> - For interface proxies defined using <code><ja>@RestMethod</ja>(name=<js>"PROXY"</js>)</code>. + <li><a href="org/apache/juneau/rest/client/RestClient.html#getRemoteableProxy-java.lang.Class-java.lang.Object-org.apache.juneau.serializer.Serializer-org.apache.juneau.parser.Parser-"><code>getRemoteableProxy(Class,Object,Serializer,Parser)</code></a> - Same as above, but overrides the serializer and parser defined on the client. + <li><a href="org/apache/juneau/rest/client/RestClient.html#doPost-java.lang.Object-"><code>doPost(Object)</code></a> + <li><a href="org/apache/juneau/rest/client/RestClient.html#doCall-org.apache.juneau.rest.client.HttpMethod-java.lang.Object-java.lang.Object-"><code>doCall(HttpMethod,Object,Object)</code></a> - Can now pass in instances of <a href="org/apache/juneau/rest/client/NameValuePairs.html" title="class in org.apache.juneau.rest.client"><code>NameValuePairs</code></a> for easy form posts. + <br>This extends to all methods that take in the input. </ul> + <li>New methods on <a href="org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client"><code>RestCall</code></a>: + <ul> + <li><a href="org/apache/juneau/rest/client/RestCall.html#uri-java.lang.Object-"><code>uri(Object)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#query-java.lang.String-java.lang.Object-boolean-"><code>query(String,Object,boolean)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#query-java.lang.String-java.lang.Object-"><code>query(String,Object)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#queryIfNE-java.lang.String-java.lang.Object-"><code>queryIfNE(String,Object)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#query-java.util.Map-"><code>query(Map)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#queryIfNE-java.util.Map-"><code>queryIfNE(Map)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#query-java.lang.String-"><code>query(String)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#formData-java.lang.String-java.lang.Object-boolean-"><code>formData(String,Object,boolean)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#formData-java.lang.String-java.lang.Object-"><code>formData(String,Object)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#formDataIfNE-java.lang.String-java.lang.Object-"><code>formDataIfNE(String,Object)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#formData-java.util.Map-"><code>formData(Map)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#formDataIfNE-java.util.Map-"><code>formDataIfNE(Map)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#header-java.lang.String-java.lang.Object-boolean-"><code>header(String,Object,boolean)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#header-java.lang.String-java.lang.Object-"><code>header(String,Object)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#headerIfNE-java.lang.String-java.lang.Object-"><code>headerIfNE(String,Object)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#headers-java.util.Map-"><code>headers(Map)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#headersIfNE-java.util.Map-"><code>headersIfNE(Map)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#host-java.lang.String-"><code>host(String)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#port-int-"><code>port(int)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#userInfo-java.lang.String-java.lang.String-"><code>userInfo(String,String)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#userInfo-java.lang.String-"><code>userInfo(String)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#scheme-java.lang.String-"><code>scheme(String)</code></a> + </ul> <li>New methods added to <a href="org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client"><code>RestClientBuilder</code></a>: - <ul> - <li><a href="org/apache/juneau/rest/client/RestClientBuilder.html#noTrace--"><code>RestClientBuilder.noTrace()</code></a> - Adds a <code>No-Trace: true</code> header on all requests to prevent - the servlet from logging errors. - Useful for testing scenarios when you don't want the console to end up showing errors done on purpose. - <li><a href="org/apache/juneau/rest/client/RestClientBuilder.html#debug-boolean-"><code>RestClientBuilder.debug(boolean)</code></a> now adds a <code>Debug: true</code> header on all requests. - </ul> - <li>New doc: <a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#Debugging'>1.5 - Debugging</a> - <li>The <code>RestClient</code> class <code>doX(Object url)</code> methods now handle HttpClient <code>URIBuilder</code> instances. - <li>New methods added to <a href="org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client"><code>RestCall</code></a> that allow you to manipulate URLs after you've already created the <code>RestCall</code> object: <ul> - <li><a href="org/apache/juneau/rest/client/RestCall.html#uri-java.lang.Object-"><code>RestCall.uri(Object)</code></a> - <li><a href="org/apache/juneau/rest/client/RestCall.html#param-java.lang.String-java.lang.Object-"><code>RestCall.param(String,Object)</code></a> - <li><a href="org/apache/juneau/rest/client/RestCall.html#paramIfNE-java.lang.String-java.lang.Object-"><code>RestCall.paramIfNE(String,Object)</code></a> - <li><a href="org/apache/juneau/rest/client/RestCall.html#paramIfNN-java.lang.String-java.lang.Object-"><code>RestCall.paramIfNN(String,Object)</code></a> - <li><a href="org/apache/juneau/rest/client/RestCall.html#params-java.util.Map-"><code>RestCall.params(Map)</code></a> - <li><a href="org/apache/juneau/rest/client/RestCall.html#query-java.lang.String-"><code>RestCall.query(String)</code></a> - <li><a href="org/apache/juneau/rest/client/RestCall.html#host-java.lang.String-"><code>RestCall.host(String)</code></a> - <li><a href="org/apache/juneau/rest/client/RestCall.html#port-int-"><code>RestCall.port(int)</code></a> - <li><a href="org/apache/juneau/rest/client/RestCall.html#userInfo-java.lang.String-java.lang.String-"><code>RestCall.userInfo(String,String)</code></a> - <li><a href="org/apache/juneau/rest/client/RestCall.html#userInfo-java.lang.String-"><code>RestCall.userInfo(String)</code></a> - <li><a href="org/apache/juneau/rest/client/RestCall.html#scheme-java.lang.String-"><code>RestCall.scheme(String)</code></a> + <li><a href="org/apache/juneau/rest/client/RestClientBuilder.html#executorService-java.util.concurrent.ExecutorService-boolean-"><code>executorService(ExecutorService,boolean)</code></a> + <li><a href="org/apache/juneau/rest/client/RestClientBuilder.html#paramFormat-java.lang.String-"><code>paramFormat(ExecutorService,boolean)</code></a> + <li><a href="org/apache/juneau/rest/client/RestClientBuilder.html#plainTextParams--"><code>plainTextParams()</code></a> + <li><a href="org/apache/juneau/rest/client/RestClientBuilder.html#noTrace--"><code>noTrace()</code></a> - Adds a <code>No-Trace: true</code> header on all requests to prevent + the servlet from logging errors. + <br>Useful for testing scenarios when you don't want the console to end up showing errors done on purpose. + <li><a href="org/apache/juneau/rest/client/RestClientBuilder.html#debug-boolean-"><code>debug(boolean)</code></a> now adds a <code>Debug: true</code> header on all requests. + </ul> + <li>New methods added/updated to <a href="org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client"><code>RestCall</code></a>: + <ul> + <li><a href="org/apache/juneau/rest/client/RestCall.html#runFuture--"><code>runFuture()</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#getResponseFuture-java.lang.Class-"><code>getResponseFuture(Class)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#getResponseFuture-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>getResponseFuture(Type,Type...)</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#getResponseAsStringFuture--"><code>getResponseAsStringFuture()</code></a> + <li><a href="org/apache/juneau/rest/client/RestCall.html#serializer-org.apache.juneau.serializer.Serializer-"><code>serializer(Serializer)</code></a> - Override the serializer defined on the client for a single call. + <li><a href="org/apache/juneau/rest/client/RestCall.html#parser-org.apache.juneau.parser.Parser-"><code>parser(Parser)</code></a> - Override the parser defined on the client for a single call. + <li><a href="org/apache/juneau/rest/client/RestCall.html#input-java.lang.Object-"><code>input(Object)</code></a> - Now accepts instances of <a href="org/apache/juneau/rest/client/NameValuePairs.html" title="class in org.apache.juneau.rest.client"><code>NameValuePairs</code></a>. + <li><a href="org/apache/juneau/rest/client/RestCall.html#getResponse-java.lang.Class-"><code>getResponse(Class)</code></a> - Can now pass in any of the following: + <ul> + <li><code>HttpResponse</code> - Returns the raw <code>HttpResponse</code> returned by the inner <code>HttpClient</code>. + <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a> - Returns access to the raw reader of the response. + <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> - Returns access to the raw input stream of the response. + </ul> </ul> - <li>New methods added to allow for asynchronous HTTP calls: + <li>New methods added to <a href="org/apache/juneau/rest/client/NameValuePairs.html" title="class in org.apache.juneau.rest.client"><code>NameValuePairs</code></a>: <ul> - <li><a href="org/apache/juneau/rest/client/RestClientBuilder.html#executorService-java.util.concurrent.ExecutorService-boolean-"><code>RestClientBuilder.executorService(ExecutorService,boolean)</code></a> - <li><a href="org/apache/juneau/rest/client/RestCall.html#runFuture--"><code>RestCall.runFuture()</code></a> - <li><a href="org/apache/juneau/rest/client/RestCall.html#getResponseFuture-java.lang.Class-"><code>RestCall.getResponseFuture(Class)</code></a> - <li><a href="org/apache/juneau/rest/client/RestCall.html#getResponseFuture-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestCall.getResponseFuture(Type,Type...)</code></a> - <li><a href="org/apache/juneau/rest/client/RestCall.html#getResponseAsStringFuture--"><code>RestCall.getResponseAsStringFuture()</code></a> + <li><a href="org/apache/juneau/rest/client/NameValuePairs.html#append-java.lang.String-java.lang.Object-"><code>append(String,Object)</code></a> + <li><a href="org/apache/juneau/rest/client/NameValuePairs.html#append-java.lang.String-java.lang.Object-org.apache.juneau.urlencoding.UrlEncodingSerializer-"><code>append(String,Object,UrlEncodingSerializer)</code></a> </ul> + <li><a href="org/apache/juneau/rest/client/RetryOn.html" title="class in org.apache.juneau.rest.client"><code>RetryOn</code></a> is now an abstract class with an additional method: + <ul> + <li><a href="org/apache/juneau/rest/client/RetryOn.html#onResponse-org.apache.http.HttpResponse-"><code>onResponse(HttpResponse)</code></a> + </ul> </ul> <h6 class='topic'>org.apache.juneau.microservice</h6> @@ -6274,7 +6449,6 @@ </ul> </div> - <!-- ======================================================================================================== --> <a id="6.1.0"></a> <h3 class='topic' onclick='toggle(this)'>6.1.0 (Feb 25, 2017)</h3> @@ -6483,26 +6657,27 @@ <li>New <a href="org/apache/juneau/rest/RestRequest.html#getTimeZone--"><code>RestRequest.getTimeZone()</code></a> method. <li>Standardized the following methods in <a href="org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> to remove dependency on <code>ClassMeta</code> objects and eliminate the need for casts: - <ul> - <li><a href="org/apache/juneau/rest/RestRequest.html#getHeader-java.lang.String-java.lang.Class-"><code>RestRequest.getHeader(String,Class)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getHeader-java.lang.String-T-java.lang.Class-"><code>RestRequest.getHeader(String,Object,Class)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getHeader-java.lang.String-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getHeader(String,Type,Type...)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getQueryParameter-java.lang.String-java.lang.Class-"><code>RestRequest.getQueryParameter(String,Class)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getQueryParameter-java.lang.String-T-java.lang.Class-"><code>RestRequest.getQueryParameter(String,Object,Class)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getQueryParameter-java.lang.String-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getQueryParameter(String,Type,Type...)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getQueryParameter-java.lang.String-java.lang.Object-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getQueryParameter(String,Object,Type,Type...)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getQueryParameters-java.lang.String-java.lang.Class-"><code>RestRequest.getQueryParameters(String,Class)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getQueryParameters-java.lang.String-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getQueryParameters(String,Type,Type...)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getFormDataParameter-java.lang.String-java.lang.Class-"><code>RestRequest.getFormDataParameter(String,Class)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getFormDataParameter-java.lang.String-T-java.lang.Class-"><code>RestRequest.getFormDataParameter(String,Object,Class)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getFormDataParameters-java.lang.String-java.lang.Class-"><code>RestRequest.getFormDataParameters(String,Class)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getFormDataParameter-java.lang.String-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getFormDataParameter(String,Type,Type...)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getFormDataParameters-java.lang.String-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getFormDataParameters(String,Type,Type...)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getPathParameter-java.lang.String-java.lang.Class-"><code>RestRequest.getPathParameter(String,Class)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getPathParameter-java.lang.String-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getPathParameter(String,Type,Type...)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getBody-java.lang.Class-"><code>RestRequest.getBody(Class)</code></a> - <li><a href="org/apache/juneau/rest/RestRequest.html#getBody-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getBody(Type,Type...)</code></a> - </ul> + <ul> + <li><a href="org/apache/juneau/rest/RestRequest.html#getHeader-java.lang.String-java.lang.Class-"><code>getHeader(String,Class)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getHeader-java.lang.String-T-java.lang.Class-"><code>getHeader(String)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getHeader-java.lang.String-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getHeader(String,Type,Type...)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getQueryParameter-java.lang.String-java.lang.Class-"><code>RestRequest.getQueryParameter(String,Class)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getQueryParameter-java.lang.String-T-java.lang.Class-"><code>RestRequest.getQueryParameter(String,Object,Class)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getQueryParameter-java.lang.String-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getQueryParameter(String,Type,Type...)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getQueryParameter-java.lang.String-java.lang.Object-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getQueryParameter(String,Object,Type,Type...)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getQueryParameters-java.lang.String-java.lang.Class-"><code>RestRequest.getQueryParameters(String,Class)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getQueryParameters-java.lang.String-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getQueryParameters(String,Type,Type...)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getFormDataParameter-java.lang.String-java.lang.Class-"><code>RestRequest.getFormDataParameter(String,Class)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getFormDataParameter-java.lang.String-T-java.lang.Class-"><code>RestRequest.getFormDataParameter(String,Object,Class)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getFormDataParameters-java.lang.String-java.lang.Class-"><code>RestRequest.getFormDataParameters(String,Class)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getFormDataParameter-java.lang.String-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getFormDataParameter(String,Type,Type...)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getFormDataParameters-java.lang.String-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getFormDataParameters(String,Type,Type...)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getPathParameter-java.lang.String-java.lang.Class-"><code>RestRequest.getPathParameter(String,Class)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getPathParameter-java.lang.String-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getPathParameter(String,Type,Type...)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getBody-java.lang.Class-"><code>RestRequest.getBody(Class)</code></a> + <li><a href="org/apache/juneau/rest/RestRequest.html#getBody-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>RestRequest.getBody(Type,Type...)</code></a> + </ul> + <li>New methods on <a href="org/apache/juneau/rest/client/NameValuePairs.html" title="class in org.apache.juneau.rest.client"><code>NameValuePairs</code></a> <li>Fixed issue where whitespace was not added to UON/URL-Encoding output when <code>&plainText=true</code> specified. </ul> </div> @@ -7626,7 +7801,7 @@ Adds <js>"* {white-space:nowrap}"</js> to the style header to prevent word wrapping. <li>Fixed bug in <a href="org/apache/juneau/uon/UonParser.html" title="class in org.apache.juneau.uon"><code>UonParser</code></a> where passing in a blank value on an array or collection type in a form post would cause a <code>ClassCastException</code>. New behavior creates an empty array or <code>Collection</code>. - <li>Improved implementation of <a href="org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serializeUrlPart-java.lang.Object-"><code>UrlEncodingSerializer.serializeUrlPart(Object)</code></a> method. + <li>Improved implementation of <del><code>UrlEncodingSerializer.serializeUrlPart(Object)</code></del> method. </ul> <h6 class='topic'>Server</h6> @@ -7951,7 +8126,7 @@ <li>New <a href="org/apache/juneau/rest/Redirect.html" title="class in org.apache.juneau.rest"><code>Redirect</code></a> class that simplifies performing redirections in REST methods. <li>New pluggable <a href="org/apache/juneau/rest/ResponseHandler.html" title="interface in org.apache.juneau.rest"><code>ResponseHandler</code></a> class and <a href="org/apache/juneau/rest/annotation/RestResource.html#responseHandlers--"><code>RestResource.responseHandlers()</code></a> annotation for defining customer response handlers for special kinds of POJOs. - <li>New method <a href="org/apache/juneau/urlencoding/UrlEncodingSerializer.html#serializeUrlPart-java.lang.Object-"><code>UrlEncodingSerializer.serializeUrlPart(Object)</code></a> method. + <li>New method <del><code>UrlEncodingSerializer.serializeUrlPart(Object)</code></del> method. <li>New method <a href="org/apache/juneau/rest/RestRequest.html#getServletURIBuilder--"><code>RestRequest.getServletURIBuilder()</code></a> for construcing servlet-based URLs more efficiently. <li>New method <a href="org/apache/juneau/rest/RestResponse.html#getNegotiatedOutputStream--"><code>RestResponse.getNegotiatedOutputStream()</code></a> that uses encoders if a match is found, and <a href="org/apache/juneau/rest/RestResponse.html#getOutputStream--"><code>RestResponse.getOutputStream()</code></a> that just return the underlying output stream without any modifications.
