You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/08/27 22:20:14 UTC
[41/51] [partial] incubator-juneau-website git commit: Update
javadocs.
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/2ead32d5/content/site/apidocs/org/apache/juneau/xml/XmlSerializer.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/xml/XmlSerializer.html b/content/site/apidocs/org/apache/juneau/xml/XmlSerializer.html
index 7207ae8..fc95579 100644
--- a/content/site/apidocs/org/apache/juneau/xml/XmlSerializer.html
+++ b/content/site/apidocs/org/apache/juneau/xml/XmlSerializer.html
@@ -127,8 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre><a href="../../../../org/apache/juneau/annotation/Produces.html" title="annotation in org.apache.juneau.annotation">@Produces</a>(<a href="../../../../org/apache/juneau/annotation/Produces.html#value--">value</a>="text/xml")
-public class <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.125">XmlSerializer</a>
+<pre>public class <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.123">XmlSerializer</a>
extends <a href="../../../../org/apache/juneau/serializer/WriterSerializer.html" title="class in org.apache.juneau.serializer">WriterSerializer</a></pre>
<div class="block">Serializes POJO models to XML.
@@ -354,6 +353,13 @@ extends <a href="../../../../org/apache/juneau/serializer/WriterSerializer.html"
<div class="block">Constructor.</div>
</td>
</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/xml/XmlSerializer.html#XmlSerializer-org.apache.juneau.PropertyStore-java.lang.String-java.lang.String...-">XmlSerializer</a></span>(<a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a> propertyStore,
+ <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> produces,
+ <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>... accept)</code>
+<div class="block">Constructor.</div>
+</td>
+</tr>
</table>
</li>
</ul>
@@ -401,7 +407,7 @@ extends <a href="../../../../org/apache/juneau/serializer/WriterSerializer.html"
<!-- -->
</a>
<h3>Methods inherited from class org.apache.juneau.serializer.<a href="../../../../org/apache/juneau/serializer/Serializer.html" title="class in org.apache.juneau.serializer">Serializer</a></h3>
-<code><a href="../../../../org/apache/juneau/serializer/Serializer.html#createSession--">createSession</a>, <a href="../../../../org/apache/juneau/serializer/Serializer.html#getMediaTypes--">getMediaTypes</a>, <a href="../../../../org/apache/juneau/serializer/Serializer.html#getPrimaryMediaType--">getPrimaryMediaType</a>, <a href="../../../../org/apache/juneau/serializer/Serializer.html#getResponseContentType--">getResponseContentType</a>, <a href="../../../../org/apache/juneau/serializer/Serializer.html#serialize-java.lang.Object-java.lang.Object-">serialize</a></code></li>
+<code><a href="../../../../org/apache/juneau/serializer/Serializer.html#createDefaultSessionArgs--">createDefaultSessionArgs</a>, <a href="../../../../org/apache/juneau/serializer/Serializer.html#createSession--">createSession</a>, <a href="../../../../org/apache/juneau/serializer/Serializer.html#getMediaTypes--">getMediaTypes</a>, <a href="../../../../org/apache/juneau/serializer/Serializer.html#getResponseContentType--">getResponseContentType</a>, <a href="../../../../org/apache/juneau/serializer/Serializer.html#serialize-java.lang.Object-java.lang.Object-">serialize</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.juneau.CoreObject">
@@ -437,7 +443,7 @@ extends <a href="../../../../org/apache/juneau/serializer/WriterSerializer.html"
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT</h4>
-<pre>public static final <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml">XmlSerializer</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.128">DEFAULT</a></pre>
+<pre>public static final <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml">XmlSerializer</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.126">DEFAULT</a></pre>
<div class="block">Default serializer without namespaces.</div>
</li>
</ul>
@@ -447,7 +453,7 @@ extends <a href="../../../../org/apache/juneau/serializer/WriterSerializer.html"
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_SQ</h4>
-<pre>public static final <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml">XmlSerializer</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.131">DEFAULT_SQ</a></pre>
+<pre>public static final <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml">XmlSerializer</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.129">DEFAULT_SQ</a></pre>
<div class="block">Default serializer without namespaces, with single quotes.</div>
</li>
</ul>
@@ -457,7 +463,7 @@ extends <a href="../../../../org/apache/juneau/serializer/WriterSerializer.html"
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_SQ_READABLE</h4>
-<pre>public static final <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml">XmlSerializer</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.134">DEFAULT_SQ_READABLE</a></pre>
+<pre>public static final <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml">XmlSerializer</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.132">DEFAULT_SQ_READABLE</a></pre>
<div class="block">Default serializer without namespaces, with single quotes, whitespace added.</div>
</li>
</ul>
@@ -467,7 +473,7 @@ extends <a href="../../../../org/apache/juneau/serializer/WriterSerializer.html"
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_NS</h4>
-<pre>public static final <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml">XmlSerializer</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.137">DEFAULT_NS</a></pre>
+<pre>public static final <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml">XmlSerializer</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.135">DEFAULT_NS</a></pre>
<div class="block">Default serializer, all default settings.</div>
</li>
</ul>
@@ -477,7 +483,7 @@ extends <a href="../../../../org/apache/juneau/serializer/WriterSerializer.html"
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_NS_SQ</h4>
-<pre>public static final <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml">XmlSerializer</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.140">DEFAULT_NS_SQ</a></pre>
+<pre>public static final <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml">XmlSerializer</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.138">DEFAULT_NS_SQ</a></pre>
<div class="block">Default serializer, single quotes.</div>
</li>
</ul>
@@ -487,7 +493,7 @@ extends <a href="../../../../org/apache/juneau/serializer/WriterSerializer.html"
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT_NS_SQ_READABLE</h4>
-<pre>public static final <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml">XmlSerializer</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.143">DEFAULT_NS_SQ_READABLE</a></pre>
+<pre>public static final <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml">XmlSerializer</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.141">DEFAULT_NS_SQ_READABLE</a></pre>
<div class="block">Default serializer, single quotes, whitespace added.</div>
</li>
</ul>
@@ -502,14 +508,43 @@ extends <a href="../../../../org/apache/juneau/serializer/WriterSerializer.html"
<a name="XmlSerializer-org.apache.juneau.PropertyStore-">
<!-- -->
</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>XmlSerializer</h4>
+<pre>public <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.220">XmlSerializer</a>(<a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a> propertyStore)</pre>
+<div class="block">Constructor.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>propertyStore</code> - The property store containing all the settings for this object.</dd>
+</dl>
+</li>
+</ul>
+<a name="XmlSerializer-org.apache.juneau.PropertyStore-java.lang.String-java.lang.String...-">
+<!-- -->
+</a>
<ul class="blockListLast">
<li class="blockList">
<h4>XmlSerializer</h4>
-<pre>public <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.222">XmlSerializer</a>(<a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a> propertyStore)</pre>
+<pre>public <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.245">XmlSerializer</a>(<a href="../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a> propertyStore,
+ <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> produces,
+ <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>... accept)</pre>
<div class="block">Constructor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>propertyStore</code> - The property store containing all the settings for this object.</dd>
+<dd><code>produces</code> - The media type that this serializer produces.</dd>
+<dd><code>accept</code> - The accept media types that the serializer can handle.
+ <p>
+ Can contain meta-characters per the <code>media-type</code> specification of
+ <a class="doclink" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1">RFC2616/14.1</a>
+ <p>
+ If empty, then assumes the only media type supported is <code>produces</code>.
+ <p>
+ For example, if this serializer produces <js>"application/json"</js> but should handle media types of
+ <js>"application/json"</js> and <js>"text/json"</js>, then the arguments should be:
+ <br><code><jk>super</jk>(propertyStore, <js>"application/json"</js>, <js>"application/json"</js>, <js>"text/json"</js>);</code>
+ <br>...or...
+ <br><code><jk>super</jk>(propertyStore, <js>"application/json"</js>, <js>"*​/json"</js>);</code></dd>
</dl>
</li>
</ul>
@@ -527,7 +562,7 @@ extends <a href="../../../../org/apache/juneau/serializer/WriterSerializer.html"
<ul class="blockList">
<li class="blockList">
<h4>builder</h4>
-<pre>public <a href="../../../../org/apache/juneau/xml/XmlSerializerBuilder.html" title="class in org.apache.juneau.xml">XmlSerializerBuilder</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.228">builder</a>()</pre>
+<pre>public <a href="../../../../org/apache/juneau/xml/XmlSerializerBuilder.html" title="class in org.apache.juneau.xml">XmlSerializerBuilder</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.251">builder</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../org/apache/juneau/CoreObject.html#builder--">CoreObject</a></code></span></div>
<div class="block">Creates a new builder class for this object so that a new object can be created that expands upon the current
object's settings.</div>
@@ -545,7 +580,7 @@ extends <a href="../../../../org/apache/juneau/serializer/WriterSerializer.html"
<ul class="blockList">
<li class="blockList">
<h4>getSchemaSerializer</h4>
-<pre>public <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml">XmlSerializer</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.237">getSchemaSerializer</a>()</pre>
+<pre>public <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml">XmlSerializer</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.260">getSchemaSerializer</a>()</pre>
<div class="block">Returns the schema serializer based on the settings of this serializer.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
@@ -559,7 +594,7 @@ extends <a href="../../../../org/apache/juneau/serializer/WriterSerializer.html"
<ul class="blockListLast">
<li class="blockList">
<h4>createSession</h4>
-<pre>public <a href="../../../../org/apache/juneau/serializer/WriterSerializerSession.html" title="class in org.apache.juneau.serializer">WriterSerializerSession</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.244">createSession</a>(<a href="../../../../org/apache/juneau/serializer/SerializerSessionArgs.html" title="class in org.apache.juneau.serializer">SerializerSessionArgs</a> args)</pre>
+<pre>public <a href="../../../../org/apache/juneau/serializer/WriterSerializerSession.html" title="class in org.apache.juneau.serializer">WriterSerializerSession</a> <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializer.html#line.267">createSession</a>(<a href="../../../../org/apache/juneau/serializer/SerializerSessionArgs.html" title="class in org.apache.juneau.serializer">SerializerSessionArgs</a> args)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../org/apache/juneau/serializer/Serializer.html#createSession-org.apache.juneau.serializer.SerializerSessionArgs-">Serializer</a></code></span></div>
<div class="block">Create the session object used for actual serialization of objects.</div>
<dl>
@@ -569,8 +604,7 @@ extends <a href="../../../../org/apache/juneau/serializer/WriterSerializer.html"
<dd><code>args</code> - Runtime arguments.
These specify session-level information such as locale and URI context.
It also include session-level properties that override the properties defined on the bean and serializer
- contexts.
- <br>If <jk>null</jk>, defaults to <a href="../../../../org/apache/juneau/serializer/SerializerSessionArgs.html#DEFAULT"><code>SerializerSessionArgs.DEFAULT</code></a>.</dd>
+ contexts.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The new session object.
<br>Note that you must call <a href="../../../../org/apache/juneau/BeanSession.html#close--"><code>BeanSession.close()</code></a> on this object to perform any necessary
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/2ead32d5/content/site/apidocs/org/apache/juneau/xml/XmlSerializerSession.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/xml/XmlSerializerSession.html b/content/site/apidocs/org/apache/juneau/xml/XmlSerializerSession.html
index dbd52d7..67594b3 100644
--- a/content/site/apidocs/org/apache/juneau/xml/XmlSerializerSession.html
+++ b/content/site/apidocs/org/apache/juneau/xml/XmlSerializerSession.html
@@ -132,7 +132,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>public class <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializerSession.html#line.40">XmlSerializerSession</a>
+<pre>public class <a href="../../../../src-html/org/apache/juneau/xml/XmlSerializerSession.html#line.41">XmlSerializerSession</a>
extends <a href="../../../../org/apache/juneau/serializer/WriterSerializerSession.html" title="class in org.apache.juneau.serializer">WriterSerializerSession</a></pre>
<div class="block">Session object that lives for the duration of a single use of <a href="../../../../org/apache/juneau/xml/XmlSerializer.html" title="class in org.apache.juneau.xml"><code>XmlSerializer</code></a>.
@@ -306,8 +306,7 @@ extends <a href="../../../../org/apache/juneau/serializer/WriterSerializerSessio
<dd><code>args</code> - Runtime arguments.
These specify session-level information such as locale and URI context.
It also include session-level properties that override the properties defined on the bean and
- serializer contexts.
- <br>If <jk>null</jk>, defaults to <a href="../../../../org/apache/juneau/serializer/SerializerSessionArgs.html#DEFAULT"><code>SerializerSessionArgs.DEFAULT</code></a>.</dd>
+ serializer contexts.</dd>
</dl>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/2ead32d5/content/site/apidocs/overview-summary.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/overview-summary.html b/content/site/apidocs/overview-summary.html
index dfaea93..4c62fee 100644
--- a/content/site/apidocs/overview-summary.html
+++ b/content/site/apidocs/overview-summary.html
@@ -442,8 +442,10 @@
<li><p><a class='doclink' href='#Core.Transforms'>Transforms</a></p>
<ol>
<li><p><a class='doclink' href='#Core.PojoSwaps'>PojoSwaps</a></p>
+ <li><p><a class='doclink' href='#Core.PojoAnnotation'>@Pojo annotation</a></p>
<li><p><a class='doclink' href='#Core.SwapMethods'>Swap methods</a></p>
<li><p><a class='doclink' href='#Core.BeanFilters'>BeanFilters and @Bean annotations</a></p>
+ <li><p><a class='doclink' href='#Core.SerializingReadersAndInputStreams'>Serializing Readers and InputStreams</a></p>
</ol>
<li><p><a class='doclink' href='#Core.BeanDictionaries'>Bean Name and Dictionaries</a></p>
<ol>
@@ -1273,8 +1275,35 @@
</div>
<!-- ======================================================================================================== -->
+ <a id="Core.PojoAnnotation"></a>
+ <h4 class='topic' onclick='toggle(this)'>2.6.2 - @Pojo annotation</h4>
+ <div class='topic'>
+ <p>
+ <a href="org/apache/juneau/annotation/Pojo.html" title="annotation in org.apache.juneau.annotation"><code>@Pojo</code></a> can be used to associate a swap class using an
+ annotation.
+ This is often cleaner than using the builder <code>pojoSwaps()</code> method since you can keep
+ your swap class near your POJO class.
+ </p>
+ <p class='bcode'>
+ <ja>@Pojo</ja>(swap=MyPojoSwap.<jk>class</jk>)
+ <jk>public class</jk> MyPojo {
+ ...
+ }
+
+ <jc>// Sample swap for converting MyPojo classes to a simple string.</jc>
+ <jk>public class</jk> MyPojoSwap <jk>extends</jk> PojoSwap<MyPojo,String> {
+
+ <ja>@Override</ja>
+ <jk>public</jk> String swap(BeanSession session, MyPojo o) {
+ <jk>return</jk> o.toSomeSerializableForm();
+ }
+ }
+ </p>
+ </div>
+
+ <!-- ======================================================================================================== -->
<a id="Core.SwapMethods"></a>
- <h4 class='topic' onclick='toggle(this)'>2.6.2 - Swap methods</h4>
+ <h4 class='topic' onclick='toggle(this)'>2.6.3 - Swap methods</h4>
<div class='topic'>
<p>
Various methods can be defined on a class directly to affect how it gets serialized.
@@ -1417,7 +1446,7 @@
<!-- ======================================================================================================== -->
<a id="Core.BeanFilters"></a>
- <h4 class='topic' onclick='toggle(this)'>2.6.3 - BeanFilters and @Bean annotations</h4>
+ <h4 class='topic' onclick='toggle(this)'>2.6.4 - BeanFilters and @Bean annotations</h4>
<div class='topic'>
<p>
<a href="org/apache/juneau/transform/BeanFilter.html" title="class in org.apache.juneau.transform"><code>BeanFilters</code></a> are used to control aspects of how beans are
@@ -1499,6 +1528,55 @@
</ul>
</div>
+ <!-- ======================================================================================================== -->
+ <a id="Core.SerializingReadersAndInputStreams"></a>
+ <h4 class='topic' onclick='toggle(this)'>2.6.5 - Serializing Readers and InputStreams</h4>
+ <div class='topic'>
+ <p>
+ Juneau serializers treat instances of Readers and InputStreams special by simply serializing their
+ contents directly to the output stream or writer.
+ This allows you to embed fully customized serializer output.
+ </p>
+ <p class='bcode'>
+ <jk>public class</jk> MyBean {
+ <jk>public</jk> Reader f1 = <jk>new</jk> StringReader(<js>"{'foo':'bar'}"</js>);
+ }
+
+ <jc>// Produces "{f1:{'foo':'bar'}}"</jc>
+ String json = JsonSerializer.<jsf>DEFAULT_LAX</jsf>.toString(<jk>new</jk> MyBean());
+ </p>
+ <p>
+ Note that if you're serializing Readers and InputStreams, it's up to you to make sure you're producing
+ valid output (in this case JSON).
+ </p>
+ <p>
+ A more typical scenario where this is useful is by using swaps to convert POJOs to Readers whose
+ contents are determined via the <a href="org/apache/juneau/BeanSession.html#getMediaType--"><code>BeanSession.getMediaType()</code></a> method.
+ <br>In the following example, we're customizing the JSON output for a particular bean type, but leaving
+ all other renditions as-is:
+ </p>
+ <p class='bcode'>
+ <ja>@Pojo</ja>(swap=MyBeanSwap.<jk>class</jk>)
+ <jk>public class</jk> MyBean {...}
+
+ <jk>public class</jk> MyBeanSwap <jk>extends</jk> PojoSwap<MyBean,Object> {
+ <jk>public</jk> Object swap(BeanSession session, MyPojo o) <jk>throws</jk> Exception {
+ MediaType mt = session.getMediaType();
+ <jk>if</jk> (mt.hasSubType(<js>"json"</js>))
+ <jk>return new</jk> StringReader(<js>"{myPojo:'foobar'}"</js>); <jc>// Custom JSON output</jc>
+ <jk>return</jk> o; <jc>// Otherwise serialize it as a normal bean</jc>
+ }
+ }
+ </p>
+ <ul class='doctree'>
+ <li class='info'>
+ Due to the nature of the RDF serializers, Readers and InputStreams are serialized as literals,
+ not as RDF text.
+ This is due to the fact that the RDF serializers use a DOM for serialization, so we don't have
+ access to the underlying stream.
+ </ul>
+ </div>
+
</div>
<!-- ======================================================================================================== -->
@@ -1746,8 +1824,8 @@
<td style='text-align:center'>2a</td>
<td>
<b>With standard keys/values</b>
- <br>Map keys are group [1, 4a, 5a] objects.
- <br>Map, Collection, and array values are group [1, 2, 3ac, 4a, 5a] objects.
+ <br>Map keys are group [1, 4a, 6a] objects.
+ <br>Map, Collection, and array values are group [1, 2, 3ac, 4a, 6a] objects.
</td>
<td>
<ul class='normal'>
@@ -1764,8 +1842,8 @@
<td style='text-align:center'>2b</td>
<td>
<b>With non-standard keys/values</b>
- <br>Map keys are group [2, 3, 4b, 5b, 6] objects.
- <br>Map, Collection, and array values are group [3b, 4b, 5b, 6] objects.
+ <br>Map keys are group [2, 3, 4b, 5, 6b, 7] objects.
+ <br>Map, Collection, and array values are group [3b, 4b, 5, 6b, 7] objects.
</td>
<td>
<ul class='normal'>
@@ -1789,7 +1867,7 @@
<b>With standard properties</b>
<br>These are beans that have no-arg constructors and one or more properties defined by public getter
and setter methods or public fields.
- <br>Property values are group [1, 2, 3ac, 4a, 5a] objects.
+ <br>Property values are group [1, 2, 3ac, 4a, 6a] objects.
</td>
<td> </td>
<td style='background-color:lightgreen;text-align:center'><b>yes</b></td>
@@ -1800,7 +1878,7 @@
<td>
<b>With non-standard properties or not true beans</b>
<br>These include true beans that have no-arg constructors and one or more properties defined by getter
- and setter methods or properties, but property types include group [3b, 4b, 5b, 6] objects.
+ and setter methods or properties, but property types include group [3b, 4b, 5, 6b, 7] objects.
<br>This also includes classes that look like beans but aren't true beans.
For example, classes that have getters but not setters, or classes without no-arg constructors.
</td>
@@ -1812,7 +1890,7 @@
<td style='text-align:center'>3c</td>
<td>
<b>Virtual beans</b>
- <br>These are unimplemented bean interfaces with properties of type [1, 2, 3ac, 4a, 5a] objects.
+ <br>These are unimplemented bean interfaces with properties of type [1, 2, 3ac, 4a, 6a] objects.
<br>Parsers will automatically create interface proxies on top of BeanMap instances.
</td>
<td> </td>
@@ -1868,6 +1946,22 @@
<tr class='dark bb' style='background-color:lightyellow'>
<td style='text-align:center'>5</td>
<td>
+ <b>Readers and InputStreams</b>
+ <br>Contents are serialized directly to the output stream or writer.
+ </td>
+ <td>
+ <ul class='normal'>
+ <li><code>FileInputStream</code>
+ <li><code>StringReader</code>
+ </ul>
+ </td>
+ <td style='background-color:lightgreen;text-align:center'><b>yes</b></td>
+ <td style='background-color:salmon;text-align:center'><b>no</b></td>
+ </tr>
+
+ <tr class='dark bb' style='background-color:lightyellow'>
+ <td style='text-align:center'>6</td>
+ <td>
<b>Non-serializable objects with standard methods for converting to a serializable form</b><br>
</td>
<td> </td>
@@ -1875,7 +1969,7 @@
<td> </td>
</tr>
<tr class='light bb' style='background-color:lightyellow'>
- <td style='text-align:center'>5a</td>
+ <td style='text-align:center'>6a</td>
<td>
Classes with a method that converts it to a serializable form:
<ul>
@@ -1913,7 +2007,7 @@
<td style='background-color:lightgreen;text-align:center'><b>yes</b></td>
</tr>
<tr class='light bb' style='background-color:lightyellow'>
- <td style='text-align:center'>5b</td>
+ <td style='text-align:center'>6b</td>
<td>
Classes that only have a method to convert to a serializable form:
<ul>
@@ -1927,7 +2021,7 @@
<td style='background-color:salmon;text-align:center'><b>no</b></td>
</tr>
<tr class='dark' style='background-color:lightyellow'>
- <td style='text-align:center'>6</td>
+ <td style='text-align:center'>7</td>
<td>
<b>All other objects</b>
<br>Anything that doesn't fall into one of the groups above are simply converted to <code>Strings</code>
@@ -7249,6 +7343,29 @@
<li>
Serializers can now serialize to <a href="http://docs.oracle.com/javase/7/docs/api/java/util/StringBuilder.html?is-external=true" title="class or interface in java.util"><code>StringBuilders</code></a>.
<li>
+ Serializers now serialize the contents of <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>Readers</code></a> and <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>InputStreams</code></a>
+ directly to the output stream or writer.
+ <br>When used with conjunction with <code>PojoSwaps</code>, this can be used to provide customized
+ output for specific content types.
+ <p class='bcode'>
+ <ja>@Pojo</ja>(swap=MyBeanSwap.<jk>class</jk>)
+ <jk>public class</jk> MyBean {...}
+
+ <jk>public class</jk> MyBeanSwap <jk>extends</jk> PojoSwap<MyBean,Object> {
+ <jk>public</jk> Object swap(BeanSession session, MyPojo o) <jk>throws</jk> Exception {
+ MediaType mt = session.getMediaType();
+ <jk>if</jk> (mt.hasSubType(<js>"json"</js>))
+ <jk>return new</jk> StringReader(<js>"{foo:'bar'}"</js>); <jc>// Custom JSON output</jc>
+ <jk>return</jk> o; <jc>// Otherwise treat as normal bean</jc>
+ }
+ }
+
+ <jc>// Produces "{foo:'bar'}"</jc>
+ String json = JsonSerializer.<jsf>DEFAULT_LAX</jsf>.toString(<jk>new</jk> MyBean());
+ </p>
+ <br>This feature helps with the implementation of language-agnostic template support such as for
+ using FreeMaker to serialize POJOs to HTML.
+ <li>
<a href="org/apache/juneau/serializer/SerializerSession.html" title="class in org.apache.juneau.serializer"><code>SerializerSession</code></a> and <a href="org/apache/juneau/parser/ParserSession.html" title="class in org.apache.juneau.parser"><code>ParserSession</code></a>
objects are now reusable if used within the same thread.
<p class='bcode'>
@@ -7308,6 +7425,18 @@
<li><a href="org/apache/juneau/utils/PojoRest.html#getWithDefault-java.lang.String-T-java.lang.Class-"><code>getWithDefault(String,Object,Class)</code></a>
<li><a href="org/apache/juneau/utils/PojoRest.html#getWithDefault-java.lang.String-T-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>getWithDefault(String,Object,Type,Type...)</code></a>
</ul>
+ <li>
+ Fixed bug where <a href="org/apache/juneau/BeanSession.html#getMediaType--"><code>BeanSession.getMediaType()</code></a> wasn't returning <jk>.
+ <li>
+ Eliminated the <ja>@Consumes</ja> and <ja>@Produces</ja> annotations.
+ <br>The supported media types are now passed in through the constructors.
+ <br>This was changed to eliminate a performance issue where a field could not be set as final because
+ the call to <code>getClass()</code> to retrieve the annotation value could not be called before calling
+ the <code><jk>super</jk>()</code> method.
+ <li>
+ New doc: <a class='doclink' href='#Core.PojoAnnotation'>2.6.2 - @Pojo annotation</a>
+ <li>
+ New doc: <a class='doclink' href='#Core.SerializingReadersAndInputStreams'>2.6.5 - Serializing Readers and InputStreams</a>
</ul>
<h6 class='topic'>org.apache.juneau.rest</h6>
@@ -10880,11 +11009,11 @@
Refer to <a class='doclink' href='org/apache/juneau/rest/jaxrs/package-summary.html#TOC'>org.apache.juneau.rest.jaxrs</a> for information.
</li>
<li>
- New <a href="org/apache/juneau/annotation/Produces.html" title="annotation in org.apache.juneau.annotation"><code>@Produces</code></a> annotation in place of <code>ISerializer.getMediaTypes()</code> for specifying what media types a serializer produces.<br>
+ New <code><del>@Produces</del></code> annotation in place of <code>ISerializer.getMediaTypes()</code> for specifying what media types a serializer produces.<br>
Available when subclassing from <a href="org/apache/juneau/serializer/Serializer.html" title="class in org.apache.juneau.serializer"><code>Serializer</code></a>.
</li>
<li>
- New <a href="org/apache/juneau/annotation/Consumes.html" title="annotation in org.apache.juneau.annotation"><code>@Consumes</code></a> annotation in place of <code>IParser.getMediaTypes()</code> for specifying what media types a parser consumes.<br>
+ New <code><del>@Consumes</del></code> annotation in place of <code>IParser.getMediaTypes()</code> for specifying what media types a parser consumes.<br>
Available when subclassing from <a href="org/apache/juneau/parser/Parser.html" title="class in org.apache.juneau.parser"><code>Parser</code></a>.
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/2ead32d5/content/site/apidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/overview-tree.html b/content/site/apidocs/overview-tree.html
index 2e8b9f8..28648ff 100644
--- a/content/site/apidocs/overview-tree.html
+++ b/content/site/apidocs/overview-tree.html
@@ -1422,12 +1422,10 @@
<ul>
<li type="circle">org.apache.juneau.annotation.<a href="org/apache/juneau/annotation/URI.html" title="annotation in org.apache.juneau.annotation"><span class="typeNameLink">URI</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
<li type="circle">org.apache.juneau.annotation.<a href="org/apache/juneau/annotation/ThreadSafe.html" title="annotation in org.apache.juneau.annotation"><span class="typeNameLink">ThreadSafe</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.juneau.annotation.<a href="org/apache/juneau/annotation/Produces.html" title="annotation in org.apache.juneau.annotation"><span class="typeNameLink">Produces</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
<li type="circle">org.apache.juneau.annotation.<a href="org/apache/juneau/annotation/Pojo.html" title="annotation in org.apache.juneau.annotation"><span class="typeNameLink">Pojo</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
<li type="circle">org.apache.juneau.annotation.<a href="org/apache/juneau/annotation/ParentProperty.html" title="annotation in org.apache.juneau.annotation"><span class="typeNameLink">ParentProperty</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
<li type="circle">org.apache.juneau.annotation.<a href="org/apache/juneau/annotation/Overrideable.html" title="annotation in org.apache.juneau.annotation"><span class="typeNameLink">Overrideable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
<li type="circle">org.apache.juneau.annotation.<a href="org/apache/juneau/annotation/NameProperty.html" title="annotation in org.apache.juneau.annotation"><span class="typeNameLink">NameProperty</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.juneau.annotation.<a href="org/apache/juneau/annotation/Consumes.html" title="annotation in org.apache.juneau.annotation"><span class="typeNameLink">Consumes</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
<li type="circle">org.apache.juneau.annotation.<a href="org/apache/juneau/annotation/BeanProperty.html" title="annotation in org.apache.juneau.annotation"><span class="typeNameLink">BeanProperty</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
<li type="circle">org.apache.juneau.annotation.<a href="org/apache/juneau/annotation/BeanParam.html" title="annotation in org.apache.juneau.annotation"><span class="typeNameLink">BeanParam</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
<li type="circle">org.apache.juneau.annotation.<a href="org/apache/juneau/annotation/BeanIgnore.html" title="annotation in org.apache.juneau.annotation"><span class="typeNameLink">BeanIgnore</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/2ead32d5/content/site/apidocs/src-html/org/apache/juneau/annotation/Consumes.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/annotation/Consumes.html b/content/site/apidocs/src-html/org/apache/juneau/annotation/Consumes.html
deleted file mode 100644
index 09b7e5b..0000000
--- a/content/site/apidocs/src-html/org/apache/juneau/annotation/Consumes.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>// ***************************************************************************************************************************<a name="line.1"></a>
-<span class="sourceLineNo">002</span>// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *<a name="line.2"></a>
-<span class="sourceLineNo">003</span>// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *<a name="line.3"></a>
-<span class="sourceLineNo">004</span>// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *<a name="line.4"></a>
-<span class="sourceLineNo">005</span>// * with the License. You may obtain a copy of the License at *<a name="line.5"></a>
-<span class="sourceLineNo">006</span>// * *<a name="line.6"></a>
-<span class="sourceLineNo">007</span>// * http://www.apache.org/licenses/LICENSE-2.0 *<a name="line.7"></a>
-<span class="sourceLineNo">008</span>// * *<a name="line.8"></a>
-<span class="sourceLineNo">009</span>// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *<a name="line.9"></a>
-<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *<a name="line.10"></a>
-<span class="sourceLineNo">011</span>// * specific language governing permissions and limitations under the License. *<a name="line.11"></a>
-<span class="sourceLineNo">012</span>// ***************************************************************************************************************************<a name="line.12"></a>
-<span class="sourceLineNo">013</span>package org.apache.juneau.annotation;<a name="line.13"></a>
-<span class="sourceLineNo">014</span><a name="line.14"></a>
-<span class="sourceLineNo">015</span>import static java.lang.annotation.ElementType.*;<a name="line.15"></a>
-<span class="sourceLineNo">016</span>import static java.lang.annotation.RetentionPolicy.*;<a name="line.16"></a>
-<span class="sourceLineNo">017</span><a name="line.17"></a>
-<span class="sourceLineNo">018</span>import java.lang.annotation.*;<a name="line.18"></a>
-<span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import org.apache.juneau.parser.*;<a name="line.20"></a>
-<span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>/**<a name="line.22"></a>
-<span class="sourceLineNo">023</span> * Annotation used on subclasses of {@link Parser} to identify the media types that it consumes.<a name="line.23"></a>
-<span class="sourceLineNo">024</span> *<a name="line.24"></a>
-<span class="sourceLineNo">025</span> * <h5 class='section'>Description:</h5><a name="line.25"></a>
-<span class="sourceLineNo">026</span> *<a name="line.26"></a>
-<span class="sourceLineNo">027</span> * Provides a way to define the contents of {@link Parser#getMediaTypes()} through an annotation.<a name="line.27"></a>
-<span class="sourceLineNo">028</span> *<a name="line.28"></a>
-<span class="sourceLineNo">029</span> * <p><a name="line.29"></a>
-<span class="sourceLineNo">030</span> * The {@link Parser#getMediaTypes()} default implementation gathers the media types by looking for this annotation.<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * It should be noted that this annotation is optional and that the {@link Parser#getMediaTypes()} method can be<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * overridden by subclasses to return the media types programmatically.<a name="line.32"></a>
-<span class="sourceLineNo">033</span> *<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * <h5 class='section'>Example:</h5><a name="line.34"></a>
-<span class="sourceLineNo">035</span> *<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * Standard example:<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * <p class='bcode'><a name="line.37"></a>
-<span class="sourceLineNo">038</span> * <ja>@Consumes</ja>(<js>"application/json,text/json"</js>)<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * <jk>public class</jk> JsonParser <jk>extends</jk> ReaderParser {...}<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * </p><a name="line.40"></a>
-<span class="sourceLineNo">041</span> *<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * <p><a name="line.42"></a>
-<span class="sourceLineNo">043</span> * The media types can also be <code>media-range</code> values per<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * <a class="doclink" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1">RFC2616/14.1</a>.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> *<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * <p class='bcode'><a name="line.46"></a>
-<span class="sourceLineNo">047</span> * <jc>// Consumes any text</jc><a name="line.47"></a>
-<span class="sourceLineNo">048</span> * <ja>@Consumes</ja>(<js>"text\/*"</js>)<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * <jk>public class</jk> AnythingParser <jk>extends</jk> ReaderParser {...}<a name="line.49"></a>
-<span class="sourceLineNo">050</span> *<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * <jc>// Consumes anything</jc><a name="line.51"></a>
-<span class="sourceLineNo">052</span> * <ja>@Consumes</ja>(<js>"*\/*"</js>)<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * <jk>public class</jk> AnythingParser <jk>extends</jk> ReaderParser {...}<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * </p><a name="line.54"></a>
-<span class="sourceLineNo">055</span> */<a name="line.55"></a>
-<span class="sourceLineNo">056</span>@Documented<a name="line.56"></a>
-<span class="sourceLineNo">057</span>@Target(TYPE)<a name="line.57"></a>
-<span class="sourceLineNo">058</span>@Retention(RUNTIME)<a name="line.58"></a>
-<span class="sourceLineNo">059</span>@Inherited<a name="line.59"></a>
-<span class="sourceLineNo">060</span>public @interface Consumes {<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span> /**<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * A comma-delimited list of media types that the parser can handle.<a name="line.63"></a>
-<span class="sourceLineNo">064</span> *<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * <p><a name="line.65"></a>
-<span class="sourceLineNo">066</span> * Can contain meta-characters per the <code>media-type</code> specification of<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * <a class="doclink" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1">RFC2616/14.1</a><a name="line.67"></a>
-<span class="sourceLineNo">068</span> *<a name="line.68"></a>
-<span class="sourceLineNo">069</span> * @return The media types that the parser can handle.<a name="line.69"></a>
-<span class="sourceLineNo">070</span> */<a name="line.70"></a>
-<span class="sourceLineNo">071</span> String value() default "";<a name="line.71"></a>
-<span class="sourceLineNo">072</span>}<a name="line.72"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/2ead32d5/content/site/apidocs/src-html/org/apache/juneau/annotation/Produces.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/annotation/Produces.html b/content/site/apidocs/src-html/org/apache/juneau/annotation/Produces.html
deleted file mode 100644
index 85dc4be..0000000
--- a/content/site/apidocs/src-html/org/apache/juneau/annotation/Produces.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
-<title>Source code</title>
-<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">
-</head>
-<body>
-<div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>// ***************************************************************************************************************************<a name="line.1"></a>
-<span class="sourceLineNo">002</span>// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *<a name="line.2"></a>
-<span class="sourceLineNo">003</span>// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *<a name="line.3"></a>
-<span class="sourceLineNo">004</span>// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *<a name="line.4"></a>
-<span class="sourceLineNo">005</span>// * with the License. You may obtain a copy of the License at *<a name="line.5"></a>
-<span class="sourceLineNo">006</span>// * *<a name="line.6"></a>
-<span class="sourceLineNo">007</span>// * http://www.apache.org/licenses/LICENSE-2.0 *<a name="line.7"></a>
-<span class="sourceLineNo">008</span>// * *<a name="line.8"></a>
-<span class="sourceLineNo">009</span>// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *<a name="line.9"></a>
-<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *<a name="line.10"></a>
-<span class="sourceLineNo">011</span>// * specific language governing permissions and limitations under the License. *<a name="line.11"></a>
-<span class="sourceLineNo">012</span>// ***************************************************************************************************************************<a name="line.12"></a>
-<span class="sourceLineNo">013</span>package org.apache.juneau.annotation;<a name="line.13"></a>
-<span class="sourceLineNo">014</span><a name="line.14"></a>
-<span class="sourceLineNo">015</span>import static java.lang.annotation.ElementType.*;<a name="line.15"></a>
-<span class="sourceLineNo">016</span>import static java.lang.annotation.RetentionPolicy.*;<a name="line.16"></a>
-<span class="sourceLineNo">017</span><a name="line.17"></a>
-<span class="sourceLineNo">018</span>import java.lang.annotation.*;<a name="line.18"></a>
-<span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import org.apache.juneau.serializer.*;<a name="line.20"></a>
-<span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>/**<a name="line.22"></a>
-<span class="sourceLineNo">023</span> * Annotation used on subclasses of {@link Serializer} to identify the media types that it produces.<a name="line.23"></a>
-<span class="sourceLineNo">024</span> *<a name="line.24"></a>
-<span class="sourceLineNo">025</span> * <h5 class='section'>Description:</h5><a name="line.25"></a>
-<span class="sourceLineNo">026</span> *<a name="line.26"></a>
-<span class="sourceLineNo">027</span> * Provides a way to define the contents of {@link Serializer#getMediaTypes()} through an annotation.<a name="line.27"></a>
-<span class="sourceLineNo">028</span> *<a name="line.28"></a>
-<span class="sourceLineNo">029</span> * <p><a name="line.29"></a>
-<span class="sourceLineNo">030</span> * The {@link Serializer#getMediaTypes()} default implementation gathers the media types by looking for this annotation.<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * <br>It should be noted that this annotation is optional and that the {@link Serializer#getMediaTypes()} method can<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * be overridden by subclasses to return the media types programmatically.<a name="line.32"></a>
-<span class="sourceLineNo">033</span> *<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * <h5 class='section'>Example:</h5><a name="line.34"></a>
-<span class="sourceLineNo">035</span> *<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * Standard example:<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * <p class='bcode'><a name="line.37"></a>
-<span class="sourceLineNo">038</span> * <ja>@Produces</ja>(<js>"application/json,text/json"</js>)<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * <jk>public class</jk> JsonSerializer <jk>extends</jk> WriterSerializer {...}<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * </p><a name="line.40"></a>
-<span class="sourceLineNo">041</span> *<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * <p><a name="line.42"></a>
-<span class="sourceLineNo">043</span> * The media types can also be <code>media-range</code> values per<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * <a class="doclink" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1">RFC2616/14.1</a>.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * <br>When meta-characters are used, you should specify the {@link #contentType()} value to indicate the real media type<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * value that can be set on the <code>Content-Type</code> response header.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> *<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * <p class='bcode'><a name="line.48"></a>
-<span class="sourceLineNo">049</span> * <jc>// Produces any text</jc><a name="line.49"></a>
-<span class="sourceLineNo">050</span> * <ja>@Produces</ja>(value=<js>"text\/*"</js>, contentType=<js>"text/plain"</js>)<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * <jk>public class</jk> AnythingSerializer <jk>extends</jk> WriterSerializer {...}<a name="line.51"></a>
-<span class="sourceLineNo">052</span> *<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * <jc>// Produces anything</jc><a name="line.53"></a>
-<span class="sourceLineNo">054</span> * <ja>@Produces</ja>(value=<js>"*\/*"</js>, contentType=<js>"text/plain"</js>)<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * <jk>public class</jk> AnythingSerializer <jk>extends</jk> WriterSerializer {...}<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * </p><a name="line.56"></a>
-<span class="sourceLineNo">057</span> */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>@Documented<a name="line.58"></a>
-<span class="sourceLineNo">059</span>@Target(TYPE)<a name="line.59"></a>
-<span class="sourceLineNo">060</span>@Retention(RUNTIME)<a name="line.60"></a>
-<span class="sourceLineNo">061</span>@Inherited<a name="line.61"></a>
-<span class="sourceLineNo">062</span>public @interface Produces {<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span> /**<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * A comma-delimited list of the media types that the serializer can handle.<a name="line.65"></a>
-<span class="sourceLineNo">066</span> *<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * <p><a name="line.67"></a>
-<span class="sourceLineNo">068</span> * Can contain meta-characters per the <code>media-type</code> specification of<a name="line.68"></a>
-<span class="sourceLineNo">069</span> * <a class="doclink" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1">RFC2616/14.1</a><a name="line.69"></a>
-<span class="sourceLineNo">070</span> *<a name="line.70"></a>
-<span class="sourceLineNo">071</span> * @return The media types that the parser can handle.<a name="line.71"></a>
-<span class="sourceLineNo">072</span> */<a name="line.72"></a>
-<span class="sourceLineNo">073</span> String value() default "";<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span> /**<a name="line.75"></a>
-<span class="sourceLineNo">076</span> * The content type that this serializer produces.<a name="line.76"></a>
-<span class="sourceLineNo">077</span> *<a name="line.77"></a>
-<span class="sourceLineNo">078</span> * <p><a name="line.78"></a>
-<span class="sourceLineNo">079</span> * Can be used to override the <code>Content-Type</code> response type if the media types are<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * <code>media-ranges</code> with meta-characters, or the <code>Content-Type</code> differs from the media type for some reason.<a name="line.80"></a>
-<span class="sourceLineNo">081</span> *<a name="line.81"></a>
-<span class="sourceLineNo">082</span> * @return The content type that this serializer produces, or blank if no overriding value exists.<a name="line.82"></a>
-<span class="sourceLineNo">083</span> */<a name="line.83"></a>
-<span class="sourceLineNo">084</span> String contentType() default "";<a name="line.84"></a>
-<span class="sourceLineNo">085</span>}<a name="line.85"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/2ead32d5/content/site/apidocs/src-html/org/apache/juneau/csv/CsvParser.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/csv/CsvParser.html b/content/site/apidocs/src-html/org/apache/juneau/csv/CsvParser.html
index 2e45f13..830909c 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/csv/CsvParser.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/csv/CsvParser.html
@@ -21,40 +21,38 @@
<span class="sourceLineNo">013</span>package org.apache.juneau.csv;<a name="line.13"></a>
<span class="sourceLineNo">014</span><a name="line.14"></a>
<span class="sourceLineNo">015</span>import org.apache.juneau.*;<a name="line.15"></a>
-<span class="sourceLineNo">016</span>import org.apache.juneau.annotation.*;<a name="line.16"></a>
-<span class="sourceLineNo">017</span>import org.apache.juneau.parser.*;<a name="line.17"></a>
-<span class="sourceLineNo">018</span><a name="line.18"></a>
-<span class="sourceLineNo">019</span>/**<a name="line.19"></a>
-<span class="sourceLineNo">020</span> * TODO - Work in progress. CSV parser.<a name="line.20"></a>
-<span class="sourceLineNo">021</span> */<a name="line.21"></a>
-<span class="sourceLineNo">022</span>@Consumes("text/csv")<a name="line.22"></a>
-<span class="sourceLineNo">023</span>public class CsvParser extends ReaderParser {<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span> /** Default parser, all default settings.*/<a name="line.25"></a>
-<span class="sourceLineNo">026</span> public static final CsvParser DEFAULT = new CsvParser(PropertyStore.create());<a name="line.26"></a>
+<span class="sourceLineNo">016</span>import org.apache.juneau.parser.*;<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>/**<a name="line.18"></a>
+<span class="sourceLineNo">019</span> * TODO - Work in progress. CSV parser.<a name="line.19"></a>
+<span class="sourceLineNo">020</span> */<a name="line.20"></a>
+<span class="sourceLineNo">021</span>public class CsvParser extends ReaderParser {<a name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span> /** Default parser, all default settings.*/<a name="line.23"></a>
+<span class="sourceLineNo">024</span> public static final CsvParser DEFAULT = new CsvParser(PropertyStore.create());<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span> private final CsvParserContext ctx;<a name="line.26"></a>
<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span> private final CsvParserContext ctx;<a name="line.28"></a>
-<span class="sourceLineNo">029</span><a name="line.29"></a>
-<span class="sourceLineNo">030</span> /**<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * Constructor.<a name="line.31"></a>
-<span class="sourceLineNo">032</span> *<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * @param propertyStore The property store containing all the settings for this object.<a name="line.33"></a>
-<span class="sourceLineNo">034</span> */<a name="line.34"></a>
-<span class="sourceLineNo">035</span> public CsvParser(PropertyStore propertyStore) {<a name="line.35"></a>
-<span class="sourceLineNo">036</span> super(propertyStore);<a name="line.36"></a>
-<span class="sourceLineNo">037</span> this.ctx = createContext(CsvParserContext.class);<a name="line.37"></a>
-<span class="sourceLineNo">038</span> }<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span> @Override /* CoreObject */<a name="line.40"></a>
-<span class="sourceLineNo">041</span> public CsvParserBuilder builder() {<a name="line.41"></a>
-<span class="sourceLineNo">042</span> return new CsvParserBuilder(propertyStore);<a name="line.42"></a>
-<span class="sourceLineNo">043</span> }<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span> @Override /* Parser */<a name="line.45"></a>
-<span class="sourceLineNo">046</span> public ReaderParserSession createSession(ParserSessionArgs args) {<a name="line.46"></a>
-<span class="sourceLineNo">047</span> return new CsvParserSession(ctx, args);<a name="line.47"></a>
-<span class="sourceLineNo">048</span> }<a name="line.48"></a>
-<span class="sourceLineNo">049</span>}<a name="line.49"></a>
+<span class="sourceLineNo">028</span> /**<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * Constructor.<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * @param propertyStore The property store containing all the settings for this object.<a name="line.31"></a>
+<span class="sourceLineNo">032</span> */<a name="line.32"></a>
+<span class="sourceLineNo">033</span> public CsvParser(PropertyStore propertyStore) {<a name="line.33"></a>
+<span class="sourceLineNo">034</span> super(propertyStore, "text/csv");<a name="line.34"></a>
+<span class="sourceLineNo">035</span> this.ctx = createContext(CsvParserContext.class);<a name="line.35"></a>
+<span class="sourceLineNo">036</span> }<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span> @Override /* CoreObject */<a name="line.38"></a>
+<span class="sourceLineNo">039</span> public CsvParserBuilder builder() {<a name="line.39"></a>
+<span class="sourceLineNo">040</span> return new CsvParserBuilder(propertyStore);<a name="line.40"></a>
+<span class="sourceLineNo">041</span> }<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span> @Override /* Parser */<a name="line.43"></a>
+<span class="sourceLineNo">044</span> public ReaderParserSession createSession(ParserSessionArgs args) {<a name="line.44"></a>
+<span class="sourceLineNo">045</span> return new CsvParserSession(ctx, args);<a name="line.45"></a>
+<span class="sourceLineNo">046</span> }<a name="line.46"></a>
+<span class="sourceLineNo">047</span>}<a name="line.47"></a>
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/2ead32d5/content/site/apidocs/src-html/org/apache/juneau/csv/CsvSerializer.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/csv/CsvSerializer.html b/content/site/apidocs/src-html/org/apache/juneau/csv/CsvSerializer.html
index d4b5b3a..45d2531 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/csv/CsvSerializer.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/csv/CsvSerializer.html
@@ -21,40 +21,38 @@
<span class="sourceLineNo">013</span>package org.apache.juneau.csv;<a name="line.13"></a>
<span class="sourceLineNo">014</span><a name="line.14"></a>
<span class="sourceLineNo">015</span>import org.apache.juneau.*;<a name="line.15"></a>
-<span class="sourceLineNo">016</span>import org.apache.juneau.annotation.*;<a name="line.16"></a>
-<span class="sourceLineNo">017</span>import org.apache.juneau.serializer.*;<a name="line.17"></a>
-<span class="sourceLineNo">018</span><a name="line.18"></a>
-<span class="sourceLineNo">019</span>/**<a name="line.19"></a>
-<span class="sourceLineNo">020</span> * TODO - Work in progress. CSV serializer.<a name="line.20"></a>
-<span class="sourceLineNo">021</span> */<a name="line.21"></a>
-<span class="sourceLineNo">022</span>@Produces("text/csv")<a name="line.22"></a>
-<span class="sourceLineNo">023</span>public final class CsvSerializer extends WriterSerializer {<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span> /** Default serializer, all default settings.*/<a name="line.25"></a>
-<span class="sourceLineNo">026</span> public static final CsvSerializer DEFAULT = new CsvSerializer(PropertyStore.create());<a name="line.26"></a>
+<span class="sourceLineNo">016</span>import org.apache.juneau.serializer.*;<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>/**<a name="line.18"></a>
+<span class="sourceLineNo">019</span> * TODO - Work in progress. CSV serializer.<a name="line.19"></a>
+<span class="sourceLineNo">020</span> */<a name="line.20"></a>
+<span class="sourceLineNo">021</span>public final class CsvSerializer extends WriterSerializer {<a name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span> /** Default serializer, all default settings.*/<a name="line.23"></a>
+<span class="sourceLineNo">024</span> public static final CsvSerializer DEFAULT = new CsvSerializer(PropertyStore.create());<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span> private final CsvSerializerContext ctx;<a name="line.26"></a>
<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span> private final CsvSerializerContext ctx;<a name="line.28"></a>
-<span class="sourceLineNo">029</span><a name="line.29"></a>
-<span class="sourceLineNo">030</span> /**<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * Constructor.<a name="line.31"></a>
-<span class="sourceLineNo">032</span> *<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * @param propertyStore The property store containing all the settings for this object.<a name="line.33"></a>
-<span class="sourceLineNo">034</span> */<a name="line.34"></a>
-<span class="sourceLineNo">035</span> public CsvSerializer(PropertyStore propertyStore) {<a name="line.35"></a>
-<span class="sourceLineNo">036</span> super(propertyStore);<a name="line.36"></a>
-<span class="sourceLineNo">037</span> this.ctx = createContext(CsvSerializerContext.class);<a name="line.37"></a>
-<span class="sourceLineNo">038</span> }<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span> @Override /* CoreObject */<a name="line.40"></a>
-<span class="sourceLineNo">041</span> public CsvSerializerBuilder builder() {<a name="line.41"></a>
-<span class="sourceLineNo">042</span> return new CsvSerializerBuilder(propertyStore);<a name="line.42"></a>
-<span class="sourceLineNo">043</span> }<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span> @Override /* Serializer */<a name="line.45"></a>
-<span class="sourceLineNo">046</span> public WriterSerializerSession createSession(SerializerSessionArgs args) {<a name="line.46"></a>
-<span class="sourceLineNo">047</span> return new CsvSerializerSession(ctx, args);<a name="line.47"></a>
-<span class="sourceLineNo">048</span> }<a name="line.48"></a>
-<span class="sourceLineNo">049</span>}<a name="line.49"></a>
+<span class="sourceLineNo">028</span> /**<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * Constructor.<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * @param propertyStore The property store containing all the settings for this object.<a name="line.31"></a>
+<span class="sourceLineNo">032</span> */<a name="line.32"></a>
+<span class="sourceLineNo">033</span> public CsvSerializer(PropertyStore propertyStore) {<a name="line.33"></a>
+<span class="sourceLineNo">034</span> super(propertyStore, "text/csv");<a name="line.34"></a>
+<span class="sourceLineNo">035</span> this.ctx = createContext(CsvSerializerContext.class);<a name="line.35"></a>
+<span class="sourceLineNo">036</span> }<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span> @Override /* CoreObject */<a name="line.38"></a>
+<span class="sourceLineNo">039</span> public CsvSerializerBuilder builder() {<a name="line.39"></a>
+<span class="sourceLineNo">040</span> return new CsvSerializerBuilder(propertyStore);<a name="line.40"></a>
+<span class="sourceLineNo">041</span> }<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span> @Override /* Serializer */<a name="line.43"></a>
+<span class="sourceLineNo">044</span> public WriterSerializerSession createSession(SerializerSessionArgs args) {<a name="line.44"></a>
+<span class="sourceLineNo">045</span> return new CsvSerializerSession(ctx, args);<a name="line.45"></a>
+<span class="sourceLineNo">046</span> }<a name="line.46"></a>
+<span class="sourceLineNo">047</span>}<a name="line.47"></a>
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/2ead32d5/content/site/apidocs/src-html/org/apache/juneau/csv/CsvSerializerSession.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/csv/CsvSerializerSession.html b/content/site/apidocs/src-html/org/apache/juneau/csv/CsvSerializerSession.html
index 69e91b6..951d459 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/csv/CsvSerializerSession.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/csv/CsvSerializerSession.html
@@ -46,66 +46,65 @@
<span class="sourceLineNo">038</span> * These specify session-level information such as locale and URI context.<a name="line.38"></a>
<span class="sourceLineNo">039</span> * It also include session-level properties that override the properties defined on the bean and<a name="line.39"></a>
<span class="sourceLineNo">040</span> * serializer contexts.<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * <br>If <jk>null</jk>, defaults to {@link SerializerSessionArgs#DEFAULT}.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> */<a name="line.42"></a>
-<span class="sourceLineNo">043</span> protected CsvSerializerSession(CsvSerializerContext ctx, SerializerSessionArgs args) {<a name="line.43"></a>
-<span class="sourceLineNo">044</span> super(ctx, args);<a name="line.44"></a>
-<span class="sourceLineNo">045</span> }<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span> @Override /* SerializerSession */<a name="line.47"></a>
-<span class="sourceLineNo">048</span> protected final void doSerialize(SerializerPipe out, Object o) throws Exception {<a name="line.48"></a>
-<span class="sourceLineNo">049</span> Writer w = out.getWriter();<a name="line.49"></a>
-<span class="sourceLineNo">050</span> ClassMeta<?> cm = getClassMetaForObject(o);<a name="line.50"></a>
-<span class="sourceLineNo">051</span> Collection<?> l = null;<a name="line.51"></a>
-<span class="sourceLineNo">052</span> if (cm.isArray()) {<a name="line.52"></a>
-<span class="sourceLineNo">053</span> l = Arrays.asList((Object[])o);<a name="line.53"></a>
-<span class="sourceLineNo">054</span> } else {<a name="line.54"></a>
-<span class="sourceLineNo">055</span> l = (Collection<?>)o;<a name="line.55"></a>
-<span class="sourceLineNo">056</span> }<a name="line.56"></a>
-<span class="sourceLineNo">057</span> // TODO - Doesn't support DynaBeans.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> if (l.size() > 0) {<a name="line.58"></a>
-<span class="sourceLineNo">059</span> ClassMeta<?> entryType = getClassMetaForObject(l.iterator().next());<a name="line.59"></a>
-<span class="sourceLineNo">060</span> if (entryType.isBean()) {<a name="line.60"></a>
-<span class="sourceLineNo">061</span> BeanMeta<?> bm = entryType.getBeanMeta();<a name="line.61"></a>
-<span class="sourceLineNo">062</span> int i = 0;<a name="line.62"></a>
-<span class="sourceLineNo">063</span> for (BeanPropertyMeta pm : bm.getPropertyMetas()) {<a name="line.63"></a>
-<span class="sourceLineNo">064</span> if (i++ > 0)<a name="line.64"></a>
-<span class="sourceLineNo">065</span> w.append(',');<a name="line.65"></a>
-<span class="sourceLineNo">066</span> append(w, pm.getName());<a name="line.66"></a>
-<span class="sourceLineNo">067</span> }<a name="line.67"></a>
-<span class="sourceLineNo">068</span> w.append('\n');<a name="line.68"></a>
-<span class="sourceLineNo">069</span> for (Object o2 : l) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span> i = 0;<a name="line.70"></a>
-<span class="sourceLineNo">071</span> BeanMap<?> bean = toBeanMap(o2);<a name="line.71"></a>
-<span class="sourceLineNo">072</span> for (BeanPropertyMeta pm : bm.getPropertyMetas()) {<a name="line.72"></a>
-<span class="sourceLineNo">073</span> if (i++ > 0)<a name="line.73"></a>
-<span class="sourceLineNo">074</span> w.append(',');<a name="line.74"></a>
-<span class="sourceLineNo">075</span> append(w, pm.get(bean, pm.getName()));<a name="line.75"></a>
-<span class="sourceLineNo">076</span> }<a name="line.76"></a>
-<span class="sourceLineNo">077</span> w.append('\n');<a name="line.77"></a>
-<span class="sourceLineNo">078</span> }<a name="line.78"></a>
-<span class="sourceLineNo">079</span> }<a name="line.79"></a>
-<span class="sourceLineNo">080</span> }<a name="line.80"></a>
-<span class="sourceLineNo">081</span> }<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span> private static void append(Writer w, Object o) throws IOException {<a name="line.83"></a>
-<span class="sourceLineNo">084</span> if (o == null)<a name="line.84"></a>
-<span class="sourceLineNo">085</span> w.append("null");<a name="line.85"></a>
-<span class="sourceLineNo">086</span> else {<a name="line.86"></a>
-<span class="sourceLineNo">087</span> String s = o.toString();<a name="line.87"></a>
-<span class="sourceLineNo">088</span> boolean mustQuote = false;<a name="line.88"></a>
-<span class="sourceLineNo">089</span> for (int i = 0; i < s.length() && ! mustQuote; i++) {<a name="line.89"></a>
-<span class="sourceLineNo">090</span> char c = s.charAt(i);<a name="line.90"></a>
-<span class="sourceLineNo">091</span> if (Character.isWhitespace(c) || c == ',')<a name="line.91"></a>
-<span class="sourceLineNo">092</span> mustQuote = true;<a name="line.92"></a>
-<span class="sourceLineNo">093</span> }<a name="line.93"></a>
-<span class="sourceLineNo">094</span> if (mustQuote)<a name="line.94"></a>
-<span class="sourceLineNo">095</span> w.append('"').append(s).append('"');<a name="line.95"></a>
-<span class="sourceLineNo">096</span> else<a name="line.96"></a>
-<span class="sourceLineNo">097</span> w.append(s);<a name="line.97"></a>
-<span class="sourceLineNo">098</span> }<a name="line.98"></a>
-<span class="sourceLineNo">099</span> }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>}<a name="line.100"></a>
+<span class="sourceLineNo">041</span> */<a name="line.41"></a>
+<span class="sourceLineNo">042</span> protected CsvSerializerSession(CsvSerializerContext ctx, SerializerSessionArgs args) {<a name="line.42"></a>
+<span class="sourceLineNo">043</span> super(ctx, args);<a name="line.43"></a>
+<span class="sourceLineNo">044</span> }<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span> @Override /* SerializerSession */<a name="line.46"></a>
+<span class="sourceLineNo">047</span> protected final void doSerialize(SerializerPipe out, Object o) throws Exception {<a name="line.47"></a>
+<span class="sourceLineNo">048</span> Writer w = out.getWriter();<a name="line.48"></a>
+<span class="sourceLineNo">049</span> ClassMeta<?> cm = getClassMetaForObject(o);<a name="line.49"></a>
+<span class="sourceLineNo">050</span> Collection<?> l = null;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> if (cm.isArray()) {<a name="line.51"></a>
+<span class="sourceLineNo">052</span> l = Arrays.asList((Object[])o);<a name="line.52"></a>
+<span class="sourceLineNo">053</span> } else {<a name="line.53"></a>
+<span class="sourceLineNo">054</span> l = (Collection<?>)o;<a name="line.54"></a>
+<span class="sourceLineNo">055</span> }<a name="line.55"></a>
+<span class="sourceLineNo">056</span> // TODO - Doesn't support DynaBeans.<a name="line.56"></a>
+<span class="sourceLineNo">057</span> if (l.size() > 0) {<a name="line.57"></a>
+<span class="sourceLineNo">058</span> ClassMeta<?> entryType = getClassMetaForObject(l.iterator().next());<a name="line.58"></a>
+<span class="sourceLineNo">059</span> if (entryType.isBean()) {<a name="line.59"></a>
+<span class="sourceLineNo">060</span> BeanMeta<?> bm = entryType.getBeanMeta();<a name="line.60"></a>
+<span class="sourceLineNo">061</span> int i = 0;<a name="line.61"></a>
+<span class="sourceLineNo">062</span> for (BeanPropertyMeta pm : bm.getPropertyMetas()) {<a name="line.62"></a>
+<span class="sourceLineNo">063</span> if (i++ > 0)<a name="line.63"></a>
+<span class="sourceLineNo">064</span> w.append(',');<a name="line.64"></a>
+<span class="sourceLineNo">065</span> append(w, pm.getName());<a name="line.65"></a>
+<span class="sourceLineNo">066</span> }<a name="line.66"></a>
+<span class="sourceLineNo">067</span> w.append('\n');<a name="line.67"></a>
+<span class="sourceLineNo">068</span> for (Object o2 : l) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span> i = 0;<a name="line.69"></a>
+<span class="sourceLineNo">070</span> BeanMap<?> bean = toBeanMap(o2);<a name="line.70"></a>
+<span class="sourceLineNo">071</span> for (BeanPropertyMeta pm : bm.getPropertyMetas()) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span> if (i++ > 0)<a name="line.72"></a>
+<span class="sourceLineNo">073</span> w.append(',');<a name="line.73"></a>
+<span class="sourceLineNo">074</span> append(w, pm.get(bean, pm.getName()));<a name="line.74"></a>
+<span class="sourceLineNo">075</span> }<a name="line.75"></a>
+<span class="sourceLineNo">076</span> w.append('\n');<a name="line.76"></a>
+<span class="sourceLineNo">077</span> }<a name="line.77"></a>
+<span class="sourceLineNo">078</span> }<a name="line.78"></a>
+<span class="sourceLineNo">079</span> }<a name="line.79"></a>
+<span class="sourceLineNo">080</span> }<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span> private static void append(Writer w, Object o) throws IOException {<a name="line.82"></a>
+<span class="sourceLineNo">083</span> if (o == null)<a name="line.83"></a>
+<span class="sourceLineNo">084</span> w.append("null");<a name="line.84"></a>
+<span class="sourceLineNo">085</span> else {<a name="line.85"></a>
+<span class="sourceLineNo">086</span> String s = o.toString();<a name="line.86"></a>
+<span class="sourceLineNo">087</span> boolean mustQuote = false;<a name="line.87"></a>
+<span class="sourceLineNo">088</span> for (int i = 0; i < s.length() && ! mustQuote; i++) {<a name="line.88"></a>
+<span class="sourceLineNo">089</span> char c = s.charAt(i);<a name="line.89"></a>
+<span class="sourceLineNo">090</span> if (Character.isWhitespace(c) || c == ',')<a name="line.90"></a>
+<span class="sourceLineNo">091</span> mustQuote = true;<a name="line.91"></a>
+<span class="sourceLineNo">092</span> }<a name="line.92"></a>
+<span class="sourceLineNo">093</span> if (mustQuote)<a name="line.93"></a>
+<span class="sourceLineNo">094</span> w.append('"').append(s).append('"');<a name="line.94"></a>
+<span class="sourceLineNo">095</span> else<a name="line.95"></a>
+<span class="sourceLineNo">096</span> w.append(s);<a name="line.96"></a>
+<span class="sourceLineNo">097</span> }<a name="line.97"></a>
+<span class="sourceLineNo">098</span> }<a name="line.98"></a>
+<span class="sourceLineNo">099</span>}<a name="line.99"></a>