http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f635b869/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 97ba8e5..2a875d5 100644 --- a/content/site/apidocs/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html +++ b/content/site/apidocs/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html @@ -48,7 +48,7 @@ var activeTableTab = "activeTableTab"; </div> <div class="subNav"> <ul class="navList"> -<li><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.SimpleExpanded.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.Readable.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> @@ -166,14 +166,14 @@ extends <a href="../../../../org/apache/juneau/urlencoding/UonSerializerContext. <!-- --> </a> <h3>Fields inherited from class org.apache.juneau.urlencoding.<a href="../../../../org/apache/juneau/urlencoding/UonSerializerContext.html" title="class in org.apache.juneau.urlencoding">UonSerializerContext</a></h3> -<code><a href="../../../../org/apache/juneau/urlencoding/UonSerializerContext.html#UON_encodeChars">UON_encodeChars</a>, <a href="../../../../org/apache/juneau/urlencoding/UonSerializerContext.html#UON_simpleMode">UON_simpleMode</a>, <a href="../../../../org/apache/juneau/urlencoding/UonSerializerContext.html#UON_useWhitespace">UON_useWhitespace</a></code></li> +<code><a href="../../../../org/apache/juneau/urlencoding/UonSerializerContext.html#UON_encodeChars">UON_encodeChars</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="fields.inherited.from.class.org.apache.juneau.serializer.SerializerContext"> <!-- --> </a> <h3>Fields inherited from class org.apache.juneau.serializer.<a href="../../../../org/apache/juneau/serializer/SerializerContext.html" title="class in org.apache.juneau.serializer">SerializerContext</a></h3> -<code><a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_absolutePathUriBase">SERIALIZER_absolutePathUriBase</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_addBeanTypeProperties">SERIALIZER_addBeanTypeProperties</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_detectRecursions">SERIALIZER_detectRecursions</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_ignoreRecursions">SERIALIZER_ignoreRecursions</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_initialDepth">SERIALIZER_initialDepth</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_maxDepth">SERIALIZER_maxDepth</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_quoteChar">SERIALIZER_quoteChar</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext. html#SERIALIZER_relativeUriBase">SERIALIZER_relativeUriBase</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_sortCollections">SERIALIZER_sortCollections</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_sortMaps">SERIALIZER_sortMaps</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_trimEmptyCollections">SERIALIZER_trimEmptyCollections</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_trimEmptyMaps">SERIALIZER_trimEmptyMaps</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_trimNullProperties">SERIALIZER_trimNullProperties</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_trimStrings">SERIALIZER_trimStrings</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_useIndentation">SERIALIZER_useIndentation</a></code></li> +<code><a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_absolutePathUriBase">SERIALIZER_absolutePathUriBase</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_addBeanTypeProperties">SERIALIZER_addBeanTypeProperties</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_detectRecursions">SERIALIZER_detectRecursions</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_ignoreRecursions">SERIALIZER_ignoreRecursions</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_initialDepth">SERIALIZER_initialDepth</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_maxDepth">SERIALIZER_maxDepth</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_quoteChar">SERIALIZER_quoteChar</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext. html#SERIALIZER_relativeUriBase">SERIALIZER_relativeUriBase</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_sortCollections">SERIALIZER_sortCollections</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_sortMaps">SERIALIZER_sortMaps</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_trimEmptyCollections">SERIALIZER_trimEmptyCollections</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_trimEmptyMaps">SERIALIZER_trimEmptyMaps</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_trimNullProperties">SERIALIZER_trimNullProperties</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_trimStrings">SERIALIZER_trimStrings</a>, <a href="../../../../org/apache/juneau/serializer/SerializerContext.html#SERIALIZER_useWhitespace">SERIALIZER_useWhitespace</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="fields.inherited.from.class.org.apache.juneau.BeanContext"> @@ -380,7 +380,7 @@ extends <a href="../../../../org/apache/juneau/urlencoding/UonSerializerContext. </div> <div class="subNav"> <ul class="navList"> -<li><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.SimpleExpanded.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.Readable.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList">
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f635b869/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 23ecbcc..0e81d3a 100644 --- a/content/site/apidocs/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html +++ b/content/site/apidocs/org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html @@ -209,14 +209,14 @@ extends <a href="../../../../org/apache/juneau/urlencoding/UonSerializerSession. <!-- --> </a> <h3>Methods inherited from class org.apache.juneau.urlencoding.<a href="../../../../org/apache/juneau/urlencoding/UonSerializerSession.html" title="class in org.apache.juneau.urlencoding">UonSerializerSession</a></h3> -<code><a href="../../../../org/apache/juneau/urlencoding/UonSerializerSession.html#getWriter--">getWriter</a>, <a href="../../../../org/apache/juneau/urlencoding/UonSerializerSession.html#isEncodeChars--">isEncodeChars</a>, <a href="../../../../org/apache/juneau/urlencoding/UonSerializerSession.html#isSimpleMode--">isSimpleMode</a>, <a href="../../../../org/apache/juneau/urlencoding/UonSerializerSession.html#isUseWhitespace--">isUseWhitespace</a></code></li> +<code><a href="../../../../org/apache/juneau/urlencoding/UonSerializerSession.html#getWriter--">getWriter</a>, <a href="../../../../org/apache/juneau/urlencoding/UonSerializerSession.html#isEncodeChars--">isEncodeChars</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.org.apache.juneau.serializer.SerializerSession"> <!-- --> </a> <h3>Methods inherited from class org.apache.juneau.serializer.<a href="../../../../org/apache/juneau/serializer/SerializerSession.html" title="class in org.apache.juneau.serializer">SerializerSession</a></h3> -<code><a href="../../../../org/apache/juneau/serializer/SerializerSession.html#addBeanGetterWarning-org.apache.juneau.BeanPropertyMeta-java.lang.Throwable-">addBeanGetterWarning</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#canIgnoreValue-org.apache.juneau.ClassMeta-java.lang.String-java.lang.Object-">canIgnoreValue</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#close--">close</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#createBeanTypeNameProperty-org.apache.juneau.BeanMap-">createBeanTypeNameProperty</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#generalize-java.lang.Object-org.apache.juneau.ClassMeta-">generalize</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getAbsolutePathUriBase--">getAbsolutePathUriBase</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getIndent--">getIndent</a>, <a href="../.. /../../org/apache/juneau/serializer/SerializerSession.html#getInitialDepth--">getInitialDepth</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getJavaMethod--">getJavaMethod</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getLastLocation--">getLastLocation</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getMaxDepth--">getMaxDepth</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getOutput--">getOutput</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getOutputStream--">getOutputStream</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getQuoteChar--">getQuoteChar</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getRelativeUriBase--">getRelativeUriBase</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isAddBeanTypeProperties--">isAddBeanTypeProperties</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isDetectRecursions--">isDetectRecursions</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isIgnoreRecursions--">isIgnoreRecursions</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isSortCollections--">isSortCollections</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isSortMaps--">isSortMaps</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isTrimEmptyCollections--">isTrimEmptyCollections</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isTrimEmptyMaps--">isTrimEmptyMaps</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isTrimNulls--">isTrimNulls</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isTrimStrings--">isTrimStrings</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isUseIndentati on--">isUseIndentation</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#pop--">pop</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#push-java.lang.String-java.lang.Object-org.apache.juneau.ClassMeta-">push</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#resolveUri-java.lang.String-">resolveUri</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#setCurrentClass-org.apache.juneau.ClassMeta-">setCurrentClass</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#setCurrentProperty-org.apache.juneau.BeanPropertyMeta-">setCurrentProperty</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#sort-java.util.Collection-">sort</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#sort-java.util.Map-">sort</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#toString-java.lang.Object-"> toString</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#trim-java.lang.Object-">trim</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#willRecurse-java.lang.String-java.lang.Object-org.apache.juneau.ClassMeta-">willRecurse</a></code></li> +<code><a href="../../../../org/apache/juneau/serializer/SerializerSession.html#addBeanGetterWarning-org.apache.juneau.BeanPropertyMeta-java.lang.Throwable-">addBeanGetterWarning</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#canIgnoreValue-org.apache.juneau.ClassMeta-java.lang.String-java.lang.Object-">canIgnoreValue</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#close--">close</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#createBeanTypeNameProperty-org.apache.juneau.BeanMap-java.lang.String-">createBeanTypeNameProperty</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#generalize-java.lang.Object-org.apache.juneau.ClassMeta-">generalize</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getAbsolutePathUriBase--">getAbsolutePathUriBase</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getBeanTypeName-org.apach e.juneau.ClassMeta-org.apache.juneau.ClassMeta-org.apache.juneau.BeanPropertyMeta-">getBeanTypeName</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getIndent--">getIndent</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getInitialDepth--">getInitialDepth</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getJavaMethod--">getJavaMethod</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getLastLocation--">getLastLocation</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getMaxDepth--">getMaxDepth</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getOutput--">getOutput</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getOutputStream--">getOutputStream</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#getQuoteChar--">getQuoteChar</a>, <a href="../../../../org/apach e/juneau/serializer/SerializerSession.html#getRelativeUriBase--">getRelativeUriBase</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isAddBeanTypeProperties--">isAddBeanTypeProperties</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isDetectRecursions--">isDetectRecursions</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isIgnoreRecursions--">isIgnoreRecursions</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isSortCollections--">isSortCollections</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isSortMaps--">isSortMaps</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isTrimEmptyCollections--">isTrimEmptyCollections</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isTrimEmptyMaps--">isTrimEmptyMaps</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isTrimNu lls--">isTrimNulls</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isTrimStrings--">isTrimStrings</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#isUseWhitespace--">isUseWhitespace</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#pop--">pop</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#push-java.lang.String-java.lang.Object-org.apache.juneau.ClassMeta-">push</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#resolveUri-java.lang.String-">resolveUri</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#setCurrentClass-org.apache.juneau.ClassMeta-">setCurrentClass</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#setCurrentProperty-org.apache.juneau.BeanPropertyMeta-">setCurrentProperty</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#sort-java.util.Collection -">sort</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#sort-java.util.Map-">sort</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#toString-java.lang.Object-">toString</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#trim-java.lang.Object-">trim</a>, <a href="../../../../org/apache/juneau/serializer/SerializerSession.html#willRecurse-java.lang.String-java.lang.Object-org.apache.juneau.ClassMeta-">willRecurse</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.org.apache.juneau.BeanSession"> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f635b869/content/site/apidocs/org/apache/juneau/urlencoding/doc-files/Example_HTML.png ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/urlencoding/doc-files/Example_HTML.png b/content/site/apidocs/org/apache/juneau/urlencoding/doc-files/Example_HTML.png index ab74763..04dcf41 100644 Binary files a/content/site/apidocs/org/apache/juneau/urlencoding/doc-files/Example_HTML.png and b/content/site/apidocs/org/apache/juneau/urlencoding/doc-files/Example_HTML.png differ http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f635b869/content/site/apidocs/org/apache/juneau/urlencoding/doc-files/Example_UrlEncoding.png ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/urlencoding/doc-files/Example_UrlEncoding.png b/content/site/apidocs/org/apache/juneau/urlencoding/doc-files/Example_UrlEncoding.png deleted file mode 100644 index 34de8a7..0000000 Binary files a/content/site/apidocs/org/apache/juneau/urlencoding/doc-files/Example_UrlEncoding.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f635b869/content/site/apidocs/org/apache/juneau/urlencoding/doc-files/rfc_uon.txt ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/urlencoding/doc-files/rfc_uon.txt b/content/site/apidocs/org/apache/juneau/urlencoding/doc-files/rfc_uon.txt index 116a509..a78153f 100644 --- a/content/site/apidocs/org/apache/juneau/urlencoding/doc-files/rfc_uon.txt +++ b/content/site/apidocs/org/apache/juneau/urlencoding/doc-files/rfc_uon.txt @@ -1,7 +1,7 @@ Network Working Group J. Bognar -Request for Comments: 9999 C. Chaney -Category: Informational IBM - Jan 2014 +Request for Comments: 9999 +Category: Informational Salesforce + Feb 2017 ***DRAFT*** URI Object Notation (UON): Generic Syntax @@ -38,7 +38,8 @@ Abstract (Uniform Resource Identifiers). Its purpose is to define a generalized object notation for URI query parameter values similar in concept to Javascript Object Notation (RFC4627). The goal is a - syntax such that any data structure defined in JSON can be losslessly + syntax that allows for array and map structures to be + such that any data structure defined in JSON can be losslessly defined in an equivalent URI-based grammar, yet be fully compliant with the RFC2396 specification. @@ -77,32 +78,17 @@ Abstract ] } - Using the "strict" syntax defined in this document, the equivalent + Using the syntax defined in this document, the equivalent UON notation would be as follows: - x=$o(id=$n(1),name=John+Smith,uri=http://sample/ - addressBook/person/1,addressBookUri=http://sample/ - addressBook,birthDate=1946-08-12T00:00:00Z,otherIds=%00, - addresses=$a($o(uri=http://sample/addressBook/ - address/1,personUri=http://sample/addressBook/ - person/1,id=$n(1),street=100+Main+Street,city= - Anywhereville,state=NY,zip=$n(12345),isCurrent=$b(true)))) - - A secondary "lax" syntax is available when the data type of the - values are already known on the receiving end of the transmission: - x=(id=1,name=John+Smith,uri=http://sample/ addressBook/person/1,addressBookUri=http://sample/ addressBook,birthDate=1946-08-12T00:00:00Z,otherIds=%00, - addresses=((uri=http://sample/addressBook/ + addresses=@((uri=http://sample/addressBook/ address/1,personUri=http://sample/addressBook/ person/1,id=1,street=100+Main+Street,city= Anywhereville,state=NY,zip=12345,isCurrent=true))) - Values represented in strict mode can be losslessly converted - back and forth into a JSON model without any additional - information. Values represented in lax mode cannot. - 1. Language constraints The grammar syntax is constrained to usage of characters allowed by @@ -137,146 +123,97 @@ Abstract 2.1. Objects Objects are values consisting of one or more child name/value pairs. - The $o() construct is used to define an object. + The (...) construct is used to define an object. Example: A simple map with two key/value pairs: - a1=$o(b1=x1,b2=x2) + a1=(b1=x1,b2=x2) Example: A nested map: - a1=$o(b1=$o(c1=x1,c2=x2)) - - When the data type is already known to be an object on the receiving - end, then the type flag can be removed from the construct to produce - a simplified value. - - Example: A nested map using "lax" syntax: - - a1=(b1=(c1=x1,c2=x2)) + a1=(b1=(c1=x1,c2=x2)) 2.2. Arrays Arrays are values consisting of zero or more child values. - The $a() construct is used to define an array. + The @(...) construct is used to define an array. Example: An array of two string values: - a1=$a(x1,x2) + a1=@(x1,x2) Example: A 2-dimensional array: - a1=$a($a(x1,x2),$a(x3,x4)) + a1=@(@(x1,x2),@(x3,x4)) Example: An array of objects: - a1=$a($o(b1=x1,b2=x2),$o(c1=x1,c2=x2)) - - When the data type is already known to be an array on the receiving - end, then the type flag can be removed from the construct to produce - a simplified value. - - Example: An array of objects using "lax" syntax: - - a1=((b1=x1,b2=x2),(c1=x1,c2=x2)) + a1=@((b1=x1,b2=x2),(c1=x1,c2=x2)) 2.3. Booleans Booleans are values that can only take on values "true" or "false". - The $b() construct is used to define a boolean. Example: Two boolean values: - a1=$b(true)&a2=$b(false) - - When the data type is already known to be a boolean on the receiving - end, then the type flag and parentheses can be removed from the - construct to produce a simplified value. - - Example: Two boolean values using "lax" syntax: - a1=true&a2=false - + 2.4. Numbers - The $n() construct is used to define a number. + Numbers are represented without constructs. Both decimal and float numbers are supported. Example: Two numerical values, one decimal and one float: - a1=$n(123)&a2=$n(1.23e1) - - When the data type is already known to be a number on the receiving - end, then the type flag and parentheses can be removed from the - construct to produce a simplified value. - - Example: Two numerical values using "lax" syntax: - a1=123&a2=1.23e1 2.5. Strings - Anything not conforming to one of the constructs described above - are treated as simple strings. - - Example: A simple string value: - - a1=foobar + Strings are encapsulated in single quote (') characters. - The tilde character (~) is used for escaping characters to prevent - them from being confused with syntax characters. - - The following characters must be escaped in string literals: + Example: Simple string values: - $ , ( ) ~ = + a1='foobar'&a2='123'&a3='true' + + The quotes are optional when the string cannot be confused + with one of the constructs listed above (i.e. objects/arrays/ + booleans/numbers/null). - For example, the string literal "$o(b1=x)" should be - represented as follows: + Example: A simple string value, unquoted: - a1=~$o~(b1~=x~) - - In addition, strings can optionally be enclosed in parentheses - when needed to handle ambiguous cases. - - The following two values are equivalent: - a1=foobar - a1=(foobar) + + Strings must be quoted for the following cases: - Using parentheses, the following construct can be used to represent - an empty string: - - a1=() + - The string can be confused with a boolean or number. + - The string is empty. + - The string contains one or more whitespace characters. + - The string starts with one of the following characters: + @ ( + - The string contains any of the following characters: + ) , = - The purpose for this is to handle a potential ambiguity in the - representation of an empty array ([]) vs. an array containing one - empty string ([""]). An array containing one empty string is + For example, the string literal "(b1=x)" should be represented as follows: - a1=$a(()) - - Without this construct, there would not be a way to tell the - difference between an empty array and an array containing an empty - string: - - a1=$a() + a1='(b1=x)' + + The tilde character (~) is used for escaping characters to prevent + them from being confused with syntax characters. - Note that an array consisting of two empty strings does not suffer - from this ambiguity, and the use of parenthesis is optional in - this case: + The following characters must be escaped in string literals: - a1=$a(,) + ' ~ + + Example: The string "foo'bar~baz" + a1='foo~'bar~~baz' + 2.7. Null values - Nulls are represented by ASCII '0' as an escaped hex sequence: - - a1=%00 - - Note that a string consisting of a single null character can be - represented with the following construct: + Nulls are represented by the keyword 'null': - a1=(%00) + a1=null 2.8. Top-level attribute names @@ -301,7 +238,7 @@ Abstract The following query strings are fully equivalent in structure: - a1=$o(b1=x1,b2=x2) + a1=(b1='x1',b2='x2') %61%31=%24%6F%28%62%31%3D%78%31%2C%62%32%3D%78%32%29 @@ -313,22 +250,12 @@ Abstract attrname = (string | null) value = (var | string | null) - string = ("(" litchar* ")") | litchar* + string = ("'" litchar* "'") | litchar* null = "%00" - var = ovar | avar | nvar | bvar - ovar = ovar_strict | ovar_lax - avar = avar_strict | avar_lax - nvar = nvar_strict | nvar_lax - bvar = bvar_strict | bvar_lax - ovar_strict = "$o(" [pairs] ")" - ovar_lax = "(" [pairs] ")" - avar_strict = "$a(" [values] ")" - avar_lax = "(" [values] ")" - nvar_strict = "$n(" number ")" - nvar_lax = number - bvar_strict = "$b(" boolean ")" - bvar_lax = boolean + var = ovar | avar | nvar | boolean | number + ovar = "(" [pairs] ")" + avar = "@(" [values] ")" pairs = pair ["," pairs] pair = key "=" value @@ -345,7 +272,7 @@ Abstract exp = "e" [("+" | "-")] digit+ litchar = unencoded | encode_seq | escape_seq - escaped = "$" | "," | "(" | ")" | "~" | "=" + escaped = "@" | "," | "(" | ")" | "~" | "=" unencoded = alpha | digit | ";" | "/" | "?" | ":" | "@" | "-" | "_" | "." | "!" | "*" | "'" http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f635b869/content/site/apidocs/org/apache/juneau/urlencoding/package-frame.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/urlencoding/package-frame.html b/content/site/apidocs/org/apache/juneau/urlencoding/package-frame.html index f0af280..1c97df5 100644 --- a/content/site/apidocs/org/apache/juneau/urlencoding/package-frame.html +++ b/content/site/apidocs/org/apache/juneau/urlencoding/package-frame.html @@ -21,8 +21,6 @@ <li><a href="UonSerializer.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UonSerializer</a></li> <li><a href="UonSerializer.Encoding.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UonSerializer.Encoding</a></li> <li><a href="UonSerializer.Readable.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UonSerializer.Readable</a></li> -<li><a href="UonSerializer.Simple.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UonSerializer.Simple</a></li> -<li><a href="UonSerializer.SimpleEncoding.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UonSerializer.SimpleEncoding</a></li> <li><a href="UonSerializerContext.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UonSerializerContext</a></li> <li><a href="UonSerializerSession.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UonSerializerSession</a></li> <li><a href="UonWriter.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UonWriter</a></li> @@ -32,9 +30,8 @@ <li><a href="UrlEncodingParserContext.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UrlEncodingParserContext</a></li> <li><a href="UrlEncodingParserSession.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UrlEncodingParserSession</a></li> <li><a href="UrlEncodingSerializer.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UrlEncodingSerializer</a></li> +<li><a href="UrlEncodingSerializer.Expanded.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UrlEncodingSerializer.Expanded</a></li> <li><a href="UrlEncodingSerializer.Readable.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UrlEncodingSerializer.Readable</a></li> -<li><a href="UrlEncodingSerializer.Simple.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UrlEncodingSerializer.Simple</a></li> -<li><a href="UrlEncodingSerializer.SimpleExpanded.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UrlEncodingSerializer.SimpleExpanded</a></li> <li><a href="UrlEncodingSerializerContext.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UrlEncodingSerializerContext</a></li> <li><a href="UrlEncodingSerializerSession.html" title="class in org.apache.juneau.urlencoding" target="classFrame">UrlEncodingSerializerSession</a></li> </ul> http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f635b869/content/site/apidocs/org/apache/juneau/urlencoding/package-summary.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/urlencoding/package-summary.html b/content/site/apidocs/org/apache/juneau/urlencoding/package-summary.html index 3eb9b96..e1884df 100644 --- a/content/site/apidocs/org/apache/juneau/urlencoding/package-summary.html +++ b/content/site/apidocs/org/apache/juneau/urlencoding/package-summary.html @@ -134,18 +134,6 @@ </td> </tr> <tr class="altColor"> -<td class="colFirst"><a href="../../../../org/apache/juneau/urlencoding/UonSerializer.Simple.html" title="class in org.apache.juneau.urlencoding">UonSerializer.Simple</a></td> -<td class="colLast"> -<div class="block">Equivalent to <code><jk>new</jk> UonSerializer().setSimpleMode(<jk>true</jk>);</code>.</div> -</td> -</tr> -<tr class="rowColor"> -<td class="colFirst"><a href="../../../../org/apache/juneau/urlencoding/UonSerializer.SimpleEncoding.html" title="class in org.apache.juneau.urlencoding">UonSerializer.SimpleEncoding</a></td> -<td class="colLast"> -<div class="block">Equivalent to <code><jk>new</jk> UonSerializer().setSimpleMode(<jk>true</jk>).setEncodeChars(<jk>true</jk>);</code>.</div> -</td> -</tr> -<tr class="altColor"> <td class="colFirst"><a href="../../../../org/apache/juneau/urlencoding/UonSerializerContext.html" title="class in org.apache.juneau.urlencoding">UonSerializerContext</a></td> <td class="colLast"> <div class="block">Configurable properties on the <a href="../../../../org/apache/juneau/urlencoding/UonSerializer.html" title="class in org.apache.juneau.urlencoding"><code>UonSerializer</code></a> class.</div> @@ -200,30 +188,24 @@ </td> </tr> <tr class="rowColor"> -<td class="colFirst"><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.Readable.html" title="class in org.apache.juneau.urlencoding">UrlEncodingSerializer.Readable</a></td> +<td class="colFirst"><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.Expanded.html" title="class in org.apache.juneau.urlencoding">UrlEncodingSerializer.Expanded</a></td> <td class="colLast"> -<div class="block">Equivalent to <code><jk>new</jk> UrlEncodingSerializer().setUseWhitespace(<jk>true</jk>);</code>.</div> +<div class="block">Equivalent to <code><jk>new</jk> UrlEncodingSerializer().setSimpleMode(<jk>true</jk>).setExpandedParams(<jk>true</jk>);</code>.</div> </td> </tr> <tr class="altColor"> -<td class="colFirst"><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.Simple.html" title="class in org.apache.juneau.urlencoding">UrlEncodingSerializer.Simple</a></td> +<td class="colFirst"><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.Readable.html" title="class in org.apache.juneau.urlencoding">UrlEncodingSerializer.Readable</a></td> <td class="colLast"> -<div class="block">Equivalent to <code><jk>new</jk> UrlEncodingSerializer().setSimpleMode(<jk>true</jk>);</code>.</div> +<div class="block">Equivalent to <code><jk>new</jk> UrlEncodingSerializer().setUseWhitespace(<jk>true</jk>);</code>.</div> </td> </tr> <tr class="rowColor"> -<td class="colFirst"><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.SimpleExpanded.html" title="class in org.apache.juneau.urlencoding">UrlEncodingSerializer.SimpleExpanded</a></td> -<td class="colLast"> -<div class="block">Equivalent to <code><jk>new</jk> UrlEncodingSerializer().setSimpleMode(<jk>true</jk>).setExpandedParams(<jk>true</jk>);</code>.</div> -</td> -</tr> -<tr class="altColor"> <td class="colFirst"><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerContext.html" title="class in org.apache.juneau.urlencoding">UrlEncodingSerializerContext</a></td> <td class="colLast"> <div class="block">Configurable properties on the <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html" title="class in org.apache.juneau.urlencoding"><code>UrlEncodingSerializer</code></a> class.</div> </td> </tr> -<tr class="rowColor"> +<tr class="altColor"> <td class="colFirst"><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializerSession.html" title="class in org.apache.juneau.urlencoding">UrlEncodingSerializerSession</a></td> <td class="colLast"> <div class="block">Session object that lives for the duration of a single use of <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html" title="class in org.apache.juneau.urlencoding"><code>UrlEncodingSerializer</code></a>.</div> @@ -338,7 +320,68 @@ <p> By appending <code>?Accept=application/x-www-form-urlencoded&plainText=true</code> to the URL, you can view the data as a URL-encoded string: </p> - <img class='bordered' src="doc-files/Example_UrlEncoding.png"> + <p class='bcode'> + <un>0</un>=( + <ua>uri</ua>=<us>http://localhost:10000/addressBook/people/1</us>, + <ua>addressBookUri</ua>=<us>http://localhost:10000/addressBook/</us>, + <ua>id</ua>=<un>1</un>, + <ua>name</ua>=<us>'Barack+Obama'</us>, + <ua>birthDate</ua>=<us>'Aug+4,+1961'</us>, + <ua>addresses</ua>=@( + ( + <ua>uri</ua>=<us>http://localhost:10000/addressBook/addresses/1</us>, + <ua>personUri</ua>=<us>http://localhost:10000/addressBook/people/1</us>, + <ua>id</ua>=<un>1</un>, + <ua>street</ua>=<us>'1600+Pennsylvania+Ave'</us>, + <ua>city</ua>=<us>Washington</us>, + <ua>state</ua>=<us>DC</us>, + <ua>zip</ua>=<un>20500</un>, + <ua>isCurrent</ua>=<uk>true</uk> + ), + ( + <ua>uri</ua>=<us>http://localhost:10000/addressBook/addresses/2</us>, + <ua>personUri</ua>=<us>http://localhost:10000/addressBook/people/1</us>, + <ua>id</ua>=<un>2</un>, + <ua>street</ua>=<us>'5046+S+Greenwood+Ave'</us>, + <ua>city</ua>=<us>Chicago</us>, + <ua>state</ua>=<us>IL</us>, + <ua>zip</ua>=<un>60615</un>, + <ua>isCurrent</ua>=<uk>false</uk> + ) + ), + <ua>age</ua>=<un>56</un> + ) + &<un>1</un>=( + <ua>uri</ua>=<us>http://localhost:10000/addressBook/people/2</us>, + <ua>addressBookUri</ua>=<us>http://localhost:10000/addressBook/</us>, + <ua>id</ua>=<un>2</un>, + <ua>name</ua>=<us>'George+Walker+Bush'</us>, + <ua>birthDate</ua>=<us>'Jul+6,+1946'</us>, + <ua>addresses</ua>=@( + ( + <ua>uri</ua>=<us>http://localhost:10000/addressBook/addresses/3</us>, + <ua>personUri</ua>=<us>http://localhost:10000/addressBook/people/2</us>, + <ua>id</ua>=<un>3</un>, + <ua>street</ua>=<us>'43+Prairie+Chapel+Rd'</us>, + <ua>city</ua>=<us>Crawford</us>, + <ua>state</ua>=<us>TX</us>, + <ua>zip</ua>=<un>76638</un>, + <ua>isCurrent</ua>=<uk>true</uk> + ), + ( + <ua>uri</ua>=<us>http://localhost:10000/addressBook/addresses/4</us>, + <ua>personUri</ua>=<us>http://localhost:10000/addressBook/people/2</us>, + <ua>id</ua>=<un>4</un>, + <ua>street</ua>=<us>'1600+Pennsylvania+Ave'</us>, + <ua>city</ua>=<us>Washington</us>, + <ua>state</ua>=<us>DC</us>, + <ua>zip</ua>=<un><us>20500</un>, + <ua>isCurrent</ua>=<uk>false</uk> + ) + ), + <ua>age</ua>=<un>71</un> + ) + </p> <p> Juneau supports two kinds of serialization: @@ -351,64 +394,77 @@ Top-level beans and maps can serialized as key/value pairs as shown below: </p> <h6 class='figure'>Example: A bean with 2 string properties, 'foo' and 'baz', serialized to a query string</h6> - <p class='bcode'> http://localhost/sample?<xa>foo</xa>=<xs>bar</xs>&<xa>baz</xa>=<xs>bing</xs></p> + <p class='bcode'> + http://localhost/sample?<ua>foo</ua>=<us>bar</us>&<ua>baz</ua>=<us>bing</us> + </p> <p> - Lower-level beans and maps are also serialized as key/value pairs, but are surrounded with a <js>"$o(...)"</js> construct to denote an object mapping, + Lower-level beans and maps are also serialized as key/value pairs, but are surrounded with a <js>"(...)"</js> construct to denote an object mapping, and uses a comma as the parameter delimiter instead of <js>"&"</js>.<br> </p> <h6 class='figure'>Example: A bean serialized as a query parameter value.</h6> - <p class='bcode'> http://localhost/sample?<xa>a1</xa>=$o(<xa>foo</xa>=<xs>bar</xs>,<xa>baz</xa>=<xs>bing</xs>)</p> - <p> - The UON specification defines two separate modes: + <p class='bcode'> + http://localhost/sample?<ua>a1</ua>=(<ua>foo</ua>=<us>bar</us>,<ua>baz</ua>=<us>bing</us>) </p> - <ul class='spaced-list'> - <li>Strict mode - Serialized model is fully equivalent to JSON and can be losslessly converted back and forth into a JSON model without additional information. - <li>Lax mode - A shortened form that excludes data type information. Ideal if the data types of values are fixed and already known by the parser. - </ul> + + <h6 class='figure'>General methodology:</h6> <table class='styled' style='border-collapse: collapse;'> - <tr><th>Java type</th><th>JSON equivalent</th><th>Strict syntax</th><th>Lax syntax</th></tr> + <tr><th>Java type</th><th>JSON equivalent</th><th>UON</th></tr> <tr> <td>Maps/beans</td> <td>OBJECT</td> - <td class='code'><xa>a1</xa>=$o(<xa>b1</xa>=<xs>x1</xs>,<xa>b2</xa>=<xs>x2</xs>)<br><xa>a1</xa>=$o(<xa>b1</xa>=$o(<xa>c1</xa>=<xs>x1</xs>,<xa>c2</xa>=<xs>x2</xs>))</td> - <td class='code'><xa>a1</xa>=(<xa>b1</xa>=<xs>x1</xs>,<xa>b2</xa>=<xs>x2</xs>)<br><xa>a1</xa>=(<xa>b1</xa>=(<xa>c1</xa>=<xs>x1</xs>,<xa>c2</xa>=<xs>x2</xs>))</td> + <td class='code'> + <ua>a1</ua>=(<ua>b1</ua>=<us>x1</us>,<ua>b2</ua>=<us>x2</us>) + <ua>a1</ua>=(<ua>b1</ua>=(<ua>c1</ua>=<us>x1</us>,<ua>c2</ua>=<us>x2</us>)) + </td> </tr> <tr> <td>Collections/arrays</td> <td>ARRAY</td> - <td class='code'><xa>a1</xa>=$a(<xs>x1</xs>,<xs>x2</xs>)<br><xa>a1</xa>=$a($a(<xs>x1</xs>,<xs>x2</xs>),$a(<xs>x3</xs>,<xs>x4</xs>))<br><xa>a1</xa>=$a($o(<xa>b1</xa>=<xs>x1</xs>,<xa>b2</xa>=<xs>x2</xs>),$o(<xa>c1</xa>=<xs>x1</xs>,<xa>c2</xa>=<xs>x2</xs>))</td> - <td class='code'><xa>a1</xa>=(<xs>x1</xs>,<xs>x2</xs>)<br><xa>a1</xa>=((<xs>x1</xs>,<xs>x2</xs>),(<xs>x3</xs>,<xs>x4</xs>))<br><xa>a1</xa>=((<xa>b1</xa>=<xs>x1</xs>,<xa>b2</xa>=<xs>x2</xs>),(<xa>c1</xa>=<xs>x1</xs>,<xa>c2</xa>=<xs>x2</xs>))</td> + <td class='code'> + <ua>a1</ua>=@(<us>x1</us>,<us>x2</us>) + <ua>a1</ua>=@(@(<us>x1</us>,<us>x2</us>),@(<us>x3</us>,<us>x4</us>)) + <ua>a1</ua>=@((<ua>b1</ua>=<us>x1</us>,<ua>b2</ua>=<us>x2</us>),(<ua>c1</ua>=<us>x1</us>,<ua>c2</ua>=<us>x2</us>)) + </td> </tr> <tr> <td>Booleans</td> <td>BOOLEAN</td> - <td class='code'><xa>a1</xa>=$b(<xs>true</xs>)&<xa>a2</xa>=$b(<xs>false</xs>)</td> - <td class='code'><xa>a1</xa>=<xs>true</xs>&<xa>a2</xa>=<xs>false</xs></td> + <td class='code'> + <ua>a1</ua>=<uk>true</uk>&<ua>a2</ua>=<uk>false</uk> + </td> </tr> <tr> <td>int/float/double/...</td> <td>NUMBER</td> - <td class='code'><xa>a1</xa>=$n(<xs>123</xs>)&<xa>a2</xa>=$n(<xs>1.23e1</xs>)</td> - <td class='code'><xa>a1</xa>=<xs>123</xs>&<xa>a2</xa>=<xs>1.23e1</xs></td> + <td class='code'> + <ua>a1</ua>=<un>123</un>&<ua>a2</ua>=<un>1.23e1</un> + </td> </tr> <tr> <td>null</td> <td>NULL</td> - <td class='code'><xa>a1</xa>=<xs>%00</xs></td> - <td class='code'><xa>a1</xa>=<xs>%00</xs></td> + <td class='code'> + <ua>a1</ua>=<uk>null</uk> + </td> </tr> <tr> <td>String</td> <td>STRING</td> - <td class='code'><xa>a1</xa>=<xs>foobar</xs></td> - <td class='code'><xa>a1</xa>=<xs>foobar</xs></td> + <td class='code'> + <ua>a1</ua>=<us>foobar</us> + <ua>a1</ua>=<us>'true'</us> + <ua>a1</ua>=<us>'null'</us> + <ua>a1</ua>=<us>'123'</us> + <ua>a1</ua>=<us>' string with whitespace '</us> + <ua>a1</ua>=<us>'string with ~'escaped~' quotes'</us> + </td> </tr> </table> <p> Refer to the <a href='doc-files/rfc_uon.txt'>UON specification</a> for a complete set of syntax rules. <p> <code>PojoSwaps</code> can be used to convert non-serializable POJOs into serializable forms, such as converting - <code>Calendar</code> object to ISO8601 strings, or <code><jk>byte</jk>[]</code> arrays to Base-64 encoded strings.<br> + <code>Calendar</code> object to ISO8601 strings, or <code><uk>byte</uk>[]</code> arrays to Base-64 encoded strings.<br> These transforms can be associated at various levels: </p> <ul class='spaced-list'> @@ -417,7 +473,9 @@ <li>On bean properties through the <code><ja>@BeanProperty</ja></code> annotations. </ul> <h6 class='figure'>Example: A serialized Calendar object using <code>CalendarSwap.RFC2822DTZ</code> transform.</h6> - <p class='bcode'> http://localhost/sample?<xa>a1=<js>Sun~,+03+Mar+1901+09:05:06+GMT</js></p> + <p class='bcode'> + http://localhost/sample?<ua>a1=<us>'Sun,+03+Mar+1901+09:05:06+GMT'</us> + </p> <p> For more information about transforms, refer to <a href="../../../../org/apache/juneau/transform/package-summary.html"><code>org.apache.juneau.transform</code></a>. </p> @@ -442,23 +500,15 @@ </p> <ul class='spaced-list'> <li><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#DEFAULT"><code>UrlEncodingSerializer.DEFAULT</code></a> - All default settings, strict mode. - <li><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#DEFAULT_SIMPLE"><code>UrlEncodingSerializer.DEFAULT_SIMPLE</code></a> - All default settings, lax mode. <li><a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html#DEFAULT_READABLE"><code>UrlEncodingSerializer.DEFAULT_READABLE</code></a> - Use whitespace and indentation for readability. <li><a href="../../../../org/apache/juneau/urlencoding/UonSerializer.html#DEFAULT"><code>UonSerializer.DEFAULT</code></a> - All default settings, strict mode. - <li><a href="../../../../org/apache/juneau/urlencoding/UonSerializer.html#DEFAULT_SIMPLE"><code>UonSerializer.DEFAULT_SIMPLE</code></a> - All default settings, lax mode. <li><a href="../../../../org/apache/juneau/urlencoding/UonSerializer.html#DEFAULT_READABLE"><code>UonSerializer.DEFAULT_READABLE</code></a> - Use whitespace and indentation for readability. <li><a href="../../../../org/apache/juneau/urlencoding/UonSerializer.html#DEFAULT_ENCODING"><code>UonSerializer.DEFAULT_ENCODING</code></a> - Same as DEFAULT, but use URL-Encoding on special characters. - <li><a href="../../../../org/apache/juneau/urlencoding/UonSerializer.html#DEFAULT_SIMPLE_ENCODING"><code>UonSerializer.DEFAULT_SIMPLE_ENCODING</code></a> - Same as DEFAULT_SIMPLE, but use URL-Encoding on special characters. </ul> <p> The general guidelines on which serializer to use is: </p> <ul class='spaced-list'> - <li>Use strict mode serializers if the data types of the value are not known on the parsing side, and this - information needs to be preserved during transmission. - <li>Use lax mode serializers if the data types of the value are known on the parsing side. - For example, if you're serializing/parsing beans, lax mode is usually sufficient since the data types - can be inferred from the bean properties. <li>Use encoding serializers when you're using the results to construct a URI yourself, and therefore need invalid URI characters to be encoded. <li>Use unencoding serializers when you're creating parameter values and passing them off to some other @@ -499,7 +549,7 @@ UonSerializer s = UonSerializer.<jsf>DEFAULT</jsf>; <jc>// Create our bean.</jc> - Person p = <jk>new</jk> Person(1, <js>"John Smith"</js>); + Person p = <uk>new</uk> Person(1, <js>"John Smith"</js>); <jc>// Serialize the bean to URL-encoded parameter value.</jc> String urlencoded = s.serialize(p); @@ -508,7 +558,7 @@ The code above produces the following output: </p> <p class='bcode'> - $o(<xa>id</xa>=$n(<xs>1</xs>),<xa>name</xa>=<xs>John+Smith</xs>) + (<ua>id</ua>=<un>1</un>,<ua>name</ua>=<us>'John+Smith'</us>) </p> <p> The <a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html" title="class in org.apache.juneau.urlencoding"><code>UrlEncodingSerializer</code></a> class converts @@ -525,16 +575,9 @@ The code above produces the following output: </p> <p class='bcode'> - <xa>id</xa>=$n(<xs>1</xs>)&<xa>name</xa>=<xs>John+Smith</xs> + <ua>id</ua>=<un>1</un>&<ua>name</ua>=<us>'John+Smith'</us> </p> <p> - The general method guidelines are as follows: - </p> - <ul class='spaced-list'> - <li>Use <code>UonSerializer</code> to create individual query parameter values. - <li>Use <code>UrlEncodingSerializer</code> to create complete URL-encoded query strings. - </ul> - <p> By default, the <code>UrlEncodingSerializer</code> class will URL-Encode special characters, and the <code>UonSerializer</code> will NOT URL-encode special characters. </p> @@ -571,7 +614,6 @@ <ja>@BeanProperty</ja>(swap=CalendarSwap.ISO8601DTZ.<jk>class</jk>) <jk>public</jk> Calendar <jf>birthDate</jf>; - <jc>// Bean constructor (needed by parser)</jc> <jk>public</jk> Person() {} @@ -597,13 +639,13 @@ Now when we rerun the sample code, we'll get the following: </p> <p class='bcode'> - $o(<xa>id</xa>=$n(<xs>1</xs>),<xa>name</xa>=<xs>John+Smith</xs>,<xa>uri</xa>=<xs>http://sample/addressBook/person/1</xs>,<xa>addressBookUri</xa>=<xs>http://sample/addressBook</xs>,<xa>birthDate</xa>=<xs>1946-08-12T00:00:00Z</xs>) + (<ua>id</ua>=<un>1</un>,<ua>name</ua>=<us>'John+Smith'</us>,<ua>uri</ua>=<us>http://sample/addressBook/person/1</us>,<ua>addressBookUri</ua>=<us>http://sample/addressBook</us>,<ua>birthDate</ua>=<us>1946-08-12T00:00:00Z</us>) </p> <p> Using <code>UrlEncodingSerializer</code> instead would create the following: </p> <p class='bcode'> - <xa>id</xa>=$n(<xs>1</xs>)&<xa>name</xa>=<xs>John+Smith</xs>&<xa>uri</xa>=<xs>http://sample/addressBook/person/1</xs>&<xa>addressBookUri</xa>=<xs>http://sample/addressBook</xs>&<xa>birthDate</xa>=<xs>1946-08-12T00:00:00Z</xs> + <ua>id</ua>=<un>1</un>&<ua>name</ua>=<us>'John+Smith'</us>&<ua>uri</ua>=<us>http://sample/addressBook/person/1</us>&<ua>addressBookUri</ua>=<us>http://sample/addressBook</us>&<ua>birthDate</ua>=<us>1946-08-12T00:00:00Z</us> </p> <p> Another useful feature is the <a href="../../../../org/apache/juneau/annotation/Bean.html#propertyNamer--"><code>Bean.propertyNamer()</code></a> annotation that allows you to plug in your own @@ -619,7 +661,7 @@ </p> <h6 class='figure'>Results</h6> <p class='bcode'> - $o(<xa>id</xa>=$n(<xs>1</xs>),<xa>name</xa>=<xs>John+Smith</xs>,<xa>uri</xa>=<xs>http://sample/addressBook/person/1</xs>,<xa>address-book-uri</xa>=<xs>http://sample/addressBook</xs>,<xa>birth-date</xa>=<xs>1946-08-12T00:00:00Z</xs>) + (<ua>id</ua>=<un>1</us>,<ua>name</ua>=<us>'John+Smith'</us>,<ua>uri</ua>=<us>http://sample/addressBook/person/1</us>,<ua>address-book-uri</ua>=<us>http://sample/addressBook</us>,<ua>birth-date</ua>=<us>1946-08-12T00:00:00Z</us>) </p> </div> @@ -678,73 +720,45 @@ Now when we run the sample code, we get the following (in readable format): </p> <p class='bcode'> - $o( - <xa>id</xa>=$n(<xs>1</xs>), - <xa>name</xa>=<xs>John+Smith</xs>, - <xa>uri</xa>=<xs>http://sample/addressBook/person/1</xs>, - <xa>addressBookUri</xa>=<xs>http://sample/addressBook</xs>, - <xa>birthDate</xa>=<xs>1946-08-12T00:00:00Z</xs>, - <xa>addresses</xa>=$a( - $o( - <xa>uri</xa>=<xs>http://sample/addressBook/address/1</xs>, - <xa>personUri</xa>=<xs>http://sample/addressBook/person/1</xs>, - <xa>id</xa>=$n(<xs>1</xs>), - <xa>street</xa>=<xs>100+Main+Street</xs>, - <xa>city</xa>=<xs>Anywhereville</xs>, - <xa>state</xa>=<xs>NY</xs>, - <xa>zip</xa>=$n(<xs>12345</xs>), - <xa>isCurrent</xa>=$b(<xs>true</xs>) - ) - ) - ) - </p> - <p> - If we were to use lax mode instead, we would get the following: - </p> - <p class='bcode'> ( - <xa>id</xa>=<xs>1</xs>, - <xa>name</xa>=<xs>John+Smith</xs>, - <xa>uri</xa>=<xs>http://sample/addressBook/person/1</xs>, - <xa>addressBookUri</xa>=<xs>http://sample/addressBook</xs>, - <xa>birthDate</xa>=<xs>1946-08-12T00:00:00Z</xs>, - <xa>addresses</xa>=( + <ua>id</ua>=<un>1</un>, + <ua>name</ua>=<us>'John+Smith'</us>, + <ua>uri</ua>=<us>http://sample/addressBook/person/1</us>, + <ua>addressBookUri</ua>=<us>http://sample/addressBook</us>, + <ua>birthDate</ua>=<us>1946-08-12T00:00:00Z</us>, + <ua>addresses</ua>=@( ( - <xa>uri</xa>=<xs>http://sample/addressBook/address/1</xs>, - <xa>personUri</xa>=<xs>http://sample/addressBook/person/1</xs>, - <xa>id</xa>=<xs>1</xs>, - <xa>street</xa>=<xs>100+Main+Street</xs>, - <xa>city</xa>=<xs>Anywhereville</xs>, - <xa>state</xa>=<xs>NY</xs>, - <xa>zip</xa>=<xs>12345</xs>, - <xa>isCurrent</xa>=<xs>true</xs> + <ua>uri</ua>=<us>http://sample/addressBook/address/1</us>, + <ua>personUri</ua>=<us>http://sample/addressBook/person/1</us>, + <ua>id</ua>=<un>1</un>, + <ua>street</ua>=<us>'100+Main+Street'</us>, + <ua>city</ua>=<us>Anywhereville</us>, + <ua>state</ua>=<us>NY</us>, + <ua>zip</ua>=<un>12345</un>, + <ua>isCurrent</ua>=<uk>true</uk> ) ) ) </p> <p> - Note how the data type information is removed, so it's not possible to distinguish between numbers/booleans/strings, and between objects/arrays. - However, this is fine if we're parsing back into the same beans, since we can inver the data types from the bean property metadata. - </p> - <p> If we were to use <code>UrlEncodingSerializer</code> instead, we would get the following: </p> <p class='bcode'> - <xa>id</xa>=$n(<xs>1</xs>)& - <xa>name</xa>=<xs>John+Smith</xs>& - <xa>uri</xa>=<xs>http://sample/addressBook/person/1</xs>& - <xa>addressBookUri</xa>=<xs>http://sample/addressBook</xs>& - <xa>birthDate</xa>=<xs>1946-08-12T00:00:00Z</xs>& - <xa>addresses</xa>=$a( - $o( - <xa>uri</xa>=<xs>http://sample/addressBook/address/1</xs>, - <xa>personUri</xa>=<xs>http://sample/addressBook/person/1</xs>, - <xa>id</xa>=$n(<xs>1</xs>), - <xa>street</xa>=<xs>100+Main+Street</xs>, - <xa>city</xa>=<xs>Anywhereville</xs>, - <xa>state</xa>=<xs>NY</xs>, - <xa>zip</xa>=$n(<xs>12345</xs>), - <xa>isCurrent</xa>=$b(<xs>true</xs>) + <ua>id</ua>=<un>1</un>& + <ua>name</ua>=<us>'John+Smith'</us>& + <ua>uri</ua>=<us>http://sample/addressBook/person/1</us>& + <ua>addressBookUri</ua>=<us>http://sample/addressBook</us>& + <ua>birthDate</ua>=<us>1946-08-12T00:00:00Z</us>& + <ua>addresses</ua>=@( + ( + <ua>uri</ua>=<us>http://sample/addressBook/address/1</us>, + <ua>personUri</ua>=<us>http://sample/addressBook/person/1</us>, + <ua>id</ua>=<un>1</un>, + <ua>street</ua>=<us>'100+Main+Street'</us>, + <ua>city</ua>=<us>Anywhereville</us>, + <ua>state</ua>=<us>NY</us>, + <ua>zip</ua>=<un>12345</un>, + <ua>isCurrent</ua>=<uk>true</uk> ) ) </p> @@ -753,8 +767,6 @@ Note how the top level <code>Person</code> bean is serialized using the standard <js>'&'</js> delimiter, whereas the lower-level <code>Address</code> bean is serialized using the <js>','</js> character to prevent the <code>addresses</code> field from being incompletely parsed. </p> - - <!-- ======================================================================================================== --> @@ -809,9 +821,9 @@ What we end up with is the following, which does not serialize the contents of the <code>c</code> field: </p> <p class='bcode'> - $o( - <xa>b</xa>=$o( - <xa>c</xa>=$o() + ( + <ua>b</ua>=( + <ua>c</ua>=() ) ) </p> @@ -907,22 +919,22 @@ This code produced the following: </p> <p class='bcode'> - $o( - <xa>id</xa>=$n(<xs>1</xs>), - <xa>name</xa>=<xs>John+Smith</xs>, - <xa>uri</xa>=<xs>http://sample/addressBook/person/1</xs>, - <xa>addressBookUri</xa>=<xs>http://sample/addressBook</xs>, - <xa>birthDate</xa>=<xs>1946-08-12T00:00:00Z</xs>, - <xa>addresses</xa>=$a( - $o( - <xa>uri</xa>=<xs>http://sample/addressBook/address/1</xs>, - <xa>personUri</xa>=<xs>http://sample/addressBook/person/1</xs>, - <xa>id</xa>=$n(<xs>1</xs>), - <xa>street</xa>=<xs>100+Main+Street</xs>, - <xa>city</xa>=<xs>Anywhereville</xs>, - <xa>state</xa>=<xs>NY</xs>, - <xa>zip</xa>=$n(<xs>12345</xs>), - <xa>isCurrent</xa>=$b(<xs>true</xs>) + ( + <ua>id</ua>=<un>1</un>, + <ua>name</ua>=<us>'John+Smith'</us>, + <ua>uri</ua>=<us>http://sample/addressBook/person/1</us>, + <ua>addressBookUri</ua>=<us>http://sample/addressBook</us>, + <ua>birthDate</ua>=<us>1946-08-12T00:00:00Z</us>, + <ua>addresses</ua>=@( + ( + <ua>uri</ua>=<us>http://sample/addressBook/address/1</us>, + <ua>personUri</ua>=<us>http://sample/addressBook/person/1</us>, + <ua>id</ua>=<un>1</un>, + <ua>street</ua>=<us>'100+Main+Street'</us>, + <ua>city</ua>=<us>Anywhereville</us>, + <ua>state</ua>=<us>NY</us>, + <ua>zip</ua>=<un>12345</un>, + <ua>isCurrent</ua>=<uk>true</uk> ) ) ) @@ -935,14 +947,14 @@ Person p = UonParser.<jsf>DEFAULT</jsf>.parse(urlencoded, Person.<jk>class</jk>); <jc>// Render it back as JSON.</jc> - json = JsonSerializer.<jsf>DEFAULT_SIMPLE_READABLE</jsf>.serialize(p); + json = JsonSerializer.<jsf>DEFAULT_LAX_READABLE</jsf>.serialize(p); </p> <p> We print it back out to JSON to show that all the data has been preserved: </p> <p class='bcode'> { - id: <jk>1</jk>, + id: <un>1</un>, name: <js>'John Smith'</js>, uri: <js>'http://sample/addressBook/person/1'</js>, addressBookUri: <js>'http://sample/addressBook'</js>, @@ -951,11 +963,11 @@ { uri: <js>'http://sample/addressBook/address/1'</js>, personUri: <js>'http://sample/addressBook/person/1'</js>, - id: <jk>1</jk>, + id: <un>1</un>, street: <js>'100 Main Street'</js>, city: <js>'Anywhereville'</js>, state: <js>'NY'</js>, - zip: <jk>12345</jk>, + zip: <un>12345</un>, isCurrent: <jk>true</jk> } ] @@ -989,22 +1001,22 @@ Starting back with our original URL-encoded string: </p> <p class='bcode'> - $o( - <xa>id</xa>=$n(<xs>1</xs>), - <xa>name</xa>=<xs>John+Smith</xs>, - <xa>uri</xa>=<xs>http://sample/addressBook/person/1</xs>, - <xa>addressBookUri</xa>=<xs>http://sample/addressBook</xs>, - <xa>birthDate</xa>=<xs>1946-08-12T00:00:00Z</xs>, - <xa>addresses</xa>=$a( - $o( - <xa>uri</xa>=<xs>http://sample/addressBook/address/1</xs>, - <xa>personUri</xa>=<xs>http://sample/addressBook/person/1</xs>, - <xa>id</xa>=$n(<xs>1</xs>), - <xa>street</xa>=<xs>100+Main+Street</xs>, - <xa>city</xa>=<xs>Anywhereville</xs>, - <xa>state</xa>=<xs>NY</xs>, - <xa>zip</xa>=$n(<xs>12345</xs>), - <xa>isCurrent</xa>=$b(<xs>true</xs>) + ( + <ua>id</ua>=<un>1</un>, + <ua>name</ua>=<us>'John+Smith'</us>, + <ua>uri</ua>=<us>http://sample/addressBook/person/1</us>, + <ua>addressBookUri</ua>=<us>http://sample/addressBook</us>, + <ua>birthDate</ua>=<us>1946-08-12T00:00:00Z</us>, + <ua>addresses</ua>=@( + ( + <ua>uri</ua>=<us>http://sample/addressBook/address/1</us>, + <ua>personUri</ua>=<us>http://sample/addressBook/person/1</us>, + <ua>id</ua>=<un>1</un>, + <ua>street</ua>=<us>'100+Main+Street'</us>, + <ua>city</ua>=<us>Anywhereville</us>, + <ua>state</ua>=<us>NY</us>, + <ua>zip</ua>=<un>12345</un>, + <ua>isCurrent</ua>=<uk>true</uk> ) ) ) @@ -1017,7 +1029,7 @@ ObjectMap m = UonParser.<jsf>DEFAULT</jsf>.parse(urlencoded, ObjectMap.<jk>class</jk>); <jc>// Convert it back to JSON.</jc> - String json = JsonSerializer.<jsf>DEFAULT_SIMPLE_READABLE</jsf>.serialize(m); + String json = JsonSerializer.<jsf>DEFAULT_LAX_READABLE</jsf>.serialize(m); </p> <p> What we end up with is the exact same output.<br> @@ -1026,7 +1038,7 @@ </p> <p class='bcode'> { - id: <jk>1</jk>, + id: <un>1</un>, name: <js>'John Smith'</js>, uri: <js>'http://sample/addressBook/person/1'</js>, addressBookUri: <js>'http://sample/addressBook'</js>, @@ -1035,11 +1047,11 @@ { uri: <js>'http://sample/addressBook/address/1'</js>, personUri: <js>'http://sample/addressBook/person/1'</js>, - id: <jk>1</jk>, + id: <un>1</un>, street: <js>'100 Main Street'</js>, city: <js>'Anywhereville'</js>, state: <js>'NY'</js>, - zip: <jk>12345</jk>, + zip: <un>12345</un>, isCurrent: <jk>true</jk> } ] @@ -1158,7 +1170,7 @@ <ja>@RestResource</ja>( messages=<js>"nls/AddressBookResource"</js>, properties={ - <ja>@Property</ja>(name=UonSerializerContext.<jsf>UON_simpleMode</jsf>, value=<js>"true"</js>), + <ja>@Property</ja>(name=SerializerContext.<jsf>SERIALIZER_useWhitespace</jsf>, value=<js>"true"</js>), <ja>@Property</ja>(name=HtmlDocSerializerContext.<jsf>HTMLDOC_title</jsf>, value=<js>"$L{title}"</js>), <ja>@Property</ja>(name=HtmlDocSerializerContext.<jsf>HTMLDOC_description</jsf>, value=<js>"$L{description}"</js>), <ja>@Property</ja>(name=HtmlDocSerializerContext.<jsf>HTMLDOC_links</jsf>, value=<js>"{options:'?method=OPTIONS',doc:'doc'}"</js>) @@ -1169,7 +1181,7 @@ </p> <p> Notice how serializer and parser properties can be specified using the <code>@RestResource.properties()</code> annotation.<br> - In this case, we're overriding the <jsf>UON_simpleMode</jsf> property to produce lax UON notation. + In this case, we're overriding the <jsf>SERIALIZER_useWhitespace</jsf> property to add whitespace to the output. The remaining properties are specific to the HTML serializer. </p> <p> @@ -1233,7 +1245,7 @@ serializers={UrlEncodingSerializer.<jk>class</jk>}, parsers={UrlEncodingParser.<jk>class</jk>}, properties={ - <ja>@Property</ja>(name=UonSerializerContext.<jsf>UON_simpleMode</jsf>, value=<js>"true"</js>) + <ja>@Property</ja>(name=SerializerContext.<jsf>SERIALIZER_useWhitespace</jsf>, value=<js>"true"</js>) } ) <jk>public class</jk> AddressBookResource <jk>extends</jk> RestServlet { @@ -1247,7 +1259,7 @@ serializers={UrlEncodingSerializer.<jk>class</jk>}, parsers={UrlEncodingParser.<jk>class</jk>}, properties={ - <ja>@Property</ja>(name=UonSerializerContext.<jsf>UON_simpleMode</jsf>, value=<js>"true"</js>) + <ja>@Property</ja>(name=SerializerContext.<jsf>SERIALIZER_useWhitespace</jsf>, value=<js>"true"</js>) } ) <jk>public</jk> Person getPerson(RestRequest req, <ja>@Path</ja> <jk>int</jk> id) throws Exception { @@ -1331,7 +1343,7 @@ In Wink, this is accomplished by adding an entry to a config file. </p> <p class='bcode'> - <xt><web-app</xt> <xa>version</xa>=<xs>"2.3"</xs><xt>></xt> + <xt><web-app</xt> <ua>version</ua>=<us>"2.3"</us><xt>></xt> <xt><servlet></xt> <xt><servlet-name></xt>WinkService<xt></servlet-name></xt> <xt><servlet-class></xt>org.apache.wink.server.internal.servlet.RestServlet<xt></servlet-class></xt> @@ -1355,7 +1367,7 @@ <ja>@Produces</ja>(<js>"*/*"</js>) <ja>@RestMethod</ja>( <jc>/* Override some properties */</jc> properties={ - <ja>@Property</ja>(name=UonSerializerContext.<jsf>UON_simpleMode</jsf>, value=<js>"true"</js>) + <ja>@Property</ja>(name=SerializerContext.<jsf>SERIALIZER_useWhitespace</jsf>, value=<js>"true"</js>) } ) <jk>public</jk> Message getMessage() { @@ -1404,7 +1416,7 @@ UrlEncodingParser.<jk>class</jk>, } properties={ - <ja>@Property</ja>(name=UonSerializerContext.<jsf>UON_simpleMode</jsf>, value=<js>"true"</js>) + <ja>@Property</ja>(name=SerializerContext.<jsf>SERIALIZER_useWhitespace</jsf>, value=<js>"true"</js>) } ) <jk>public final class</jk> MyUrlEncodingProvider <jk>extends</jk> BaseProvider {} @@ -1427,7 +1439,7 @@ </p> <p class='bcode'> <jc>// Create a client to handle URL-encoded requests and responses.</jc> - RestClient client = <jk>new</jk> RestClient(UrlEncodingSerializer.<jk>class</jk>, UrlEncodingParser.<jk>class</jk>); + RestClient client = <uk>new</uk> RestClient(UrlEncodingSerializer.<uk>class</uk>, UrlEncodingParser.<uk>class</uk>); </p> <p> The client handles all content negotiation based on the registered serializers and parsers. http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f635b869/content/site/apidocs/org/apache/juneau/urlencoding/package-tree.html ---------------------------------------------------------------------- diff --git a/content/site/apidocs/org/apache/juneau/urlencoding/package-tree.html b/content/site/apidocs/org/apache/juneau/urlencoding/package-tree.html index ce6b1da..a857800 100644 --- a/content/site/apidocs/org/apache/juneau/urlencoding/package-tree.html +++ b/content/site/apidocs/org/apache/juneau/urlencoding/package-tree.html @@ -137,16 +137,10 @@ <ul> <li type="circle">org.apache.juneau.urlencoding.<a href="../../../../org/apache/juneau/urlencoding/UonSerializer.Encoding.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">UonSerializer.Encoding</span></a></li> <li type="circle">org.apache.juneau.urlencoding.<a href="../../../../org/apache/juneau/urlencoding/UonSerializer.Readable.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">UonSerializer.Readable</span></a></li> -<li type="circle">org.apache.juneau.urlencoding.<a href="../../../../org/apache/juneau/urlencoding/UonSerializer.Simple.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">UonSerializer.Simple</span></a></li> -<li type="circle">org.apache.juneau.urlencoding.<a href="../../../../org/apache/juneau/urlencoding/UonSerializer.SimpleEncoding.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">UonSerializer.SimpleEncoding</span></a></li> <li type="circle">org.apache.juneau.urlencoding.<a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">UrlEncodingSerializer</span></a> <ul> +<li type="circle">org.apache.juneau.urlencoding.<a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.Expanded.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">UrlEncodingSerializer.Expanded</span></a></li> <li type="circle">org.apache.juneau.urlencoding.<a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.Readable.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">UrlEncodingSerializer.Readable</span></a></li> -<li type="circle">org.apache.juneau.urlencoding.<a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.Simple.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">UrlEncodingSerializer.Simple</span></a> -<ul> -<li type="circle">org.apache.juneau.urlencoding.<a href="../../../../org/apache/juneau/urlencoding/UrlEncodingSerializer.SimpleExpanded.html" title="class in org.apache.juneau.urlencoding"><span class="typeNameLink">UrlEncodingSerializer.SimpleExpanded</span></a></li> -</ul> -</li> </ul> </li> </ul>
