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/01 13:00:30 UTC

[10/51] [partial] incubator-juneau-website git commit: Update Javadocs.

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/ebea5c00/content/site/apidocs/org/apache/juneau/parser/ParserSession.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/parser/ParserSession.html b/content/site/apidocs/org/apache/juneau/parser/ParserSession.html
index 9d7d5ce..13f52fe 100644
--- a/content/site/apidocs/org/apache/juneau/parser/ParserSession.html
+++ b/content/site/apidocs/org/apache/juneau/parser/ParserSession.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ParserSession (Apache Juneau (incubating) 6.3.1-incubating-SNAPSHOT)</title>
+<title>ParserSession (Apache Juneau (incubating) 6.3.2-incubating-SNAPSHOT)</title>
 <link rel="stylesheet" type="text/css" href="../../../../javadoc.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,14 +12,14 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ParserSession (Apache Juneau (incubating) 6.3.1-incubating-SNAPSHOT)";
+            parent.document.title="ParserSession (Apache Juneau (incubating) 6.3.2-incubating-SNAPSHOT)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":6,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":6,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":9,"i23":9,"i24":10,"i25":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/juneau/parser/ParserReader.html" title="class in org.apache.juneau.parser"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/juneau/parser/PartParser.html" title="interface in org.apache.juneau.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/juneau/parser/ParserSessionArgs.html" title="class in org.apache.juneau.parser"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/juneau/parser/ParserSession.html" target="_top">Frames</a></li>
@@ -118,16 +118,17 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../org/apache/juneau/csv/CsvParserSession.html" title="class in org.apache.juneau.csv">CsvParserSession</a>, <a href="../../../../org/apache/juneau/json/JsonParserSession.html" title="class in org.apache.juneau.json">JsonParserSession</a>, <a href="../../../../org/apache/juneau/msgpack/MsgPackParserSession.html" title="class in org.apache.juneau.msgpack">MsgPackParserSession</a>, <a href="../../../../org/apache/juneau/jena/RdfParserSession.html" title="class in org.apache.juneau.jena">RdfParserSession</a>, <a href="../../../../org/apache/juneau/uon/UonParserSession.html" title="class in org.apache.juneau.uon">UonParserSession</a>, <a href="../../../../org/apache/juneau/xml/XmlParserSession.html" title="class in org.apache.juneau.xml">XmlParserSession</a></dd>
+<dd><a href="../../../../org/apache/juneau/parser/InputStreamParserSession.html" title="class in org.apache.juneau.parser">InputStreamParserSession</a>, <a href="../../../../org/apache/juneau/parser/ReaderParserSession.html" title="class in org.apache.juneau.parser">ReaderParserSession</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.34">ParserSession</a>
+<pre>public abstract class <a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.35">ParserSession</a>
 extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in org.apache.juneau">BeanSession</a></pre>
 <div class="block">Session object that lives for the duration of a single use of <a href="../../../../org/apache/juneau/parser/Parser.html" title="class in org.apache.juneau.parser"><code>Parser</code></a>.
 
  <p>
- This class is NOT thread safe.  It is meant to be discarded after one-time use.</div>
+ This class is NOT thread safe.
+ It is typically discarded after one-time use although it can be reused against multiple inputs.</div>
 </li>
 </ul>
 </div>
@@ -143,17 +144,13 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
 <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
-<th class="colOne" scope="col">Constructor and Description</th>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#ParserSession-org.apache.juneau.parser.ParserContext-org.apache.juneau.ObjectMap-java.lang.Object-java.lang.reflect.Method-java.lang.Object-java.util.Locale-java.util.TimeZone-org.apache.juneau.http.MediaType-">ParserSession</a></span>(<a href="../../../../org/apache/juneau/parser/ParserContext.html" title="class in org.apache.juneau.parser">ParserContext</a>&nbsp;ctx,
-             <a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;op,
-             <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;input,
-             <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>&nbsp;javaMethod,
-             <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;outer,
-             <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;locale,
-             <a href="http://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</a>&nbsp;timeZone,
-             <a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>&nbsp;mediaType)</code>
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#ParserSession-org.apache.juneau.parser.ParserContext-org.apache.juneau.parser.ParserSessionArgs-">ParserSession</a></span>(<a href="../../../../org/apache/juneau/parser/ParserContext.html" title="class in org.apache.juneau.parser">ParserContext</a>&nbsp;ctx,
+             <a href="../../../../org/apache/juneau/parser/ParserSessionArgs.html" title="class in org.apache.juneau.parser">ParserSessionArgs</a>&nbsp;args)</code>
 <div class="block">Create a new session using properties specified in the context.</div>
 </td>
 </tr>
@@ -167,13 +164,13 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#cast-org.apache.juneau.ObjectMap-org.apache.juneau.BeanPropertyMeta-org.apache.juneau.ClassMeta-">cast</a></span>(<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;m,
     <a href="../../../../org/apache/juneau/BeanPropertyMeta.html" title="class in org.apache.juneau">BeanPropertyMeta</a>&nbsp;pMeta,
     <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;eType)</code>
@@ -181,102 +178,183 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#close--">close</a></span>()</code>
-<div class="block">Perform cleanup on this context object if necessary.</div>
+<td class="colFirst"><code>protected &lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#convertAttrToType-java.lang.Object-java.lang.String-org.apache.juneau.ClassMeta-">convertAttrToType</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;outer,
+                 <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>&nbsp;s,
+                 <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;T&gt;&nbsp;type)</code>
+<div class="block">Converts the specified string to the specified type.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#getClassMeta-java.lang.String-org.apache.juneau.BeanPropertyMeta-org.apache.juneau.ClassMeta-">getClassMeta</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;typeName,
-            <a href="../../../../org/apache/juneau/BeanPropertyMeta.html" title="class in org.apache.juneau">BeanPropertyMeta</a>&nbsp;pMeta,
-            <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;eType)</code>
-<div class="block">Give the specified dictionary name, resolve it to a class.</div>
+<td class="colFirst"><code><a href="../../../../org/apache/juneau/parser/ParserPipe.html" title="class in org.apache.juneau.parser">ParserPipe</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#createPipe-java.lang.Object-">createPipe</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;input)</code>
+<div class="block">Wraps the specified input object into a <a href="../../../../org/apache/juneau/parser/ParserPipe.html" title="class in org.apache.juneau.parser"><code>ParserPipe</code></a> object so that it can be easily converted into
+ a stream or reader.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#getInput--">getInput</a></span>()</code>
-<div class="block">Returns the raw input object passed into this session.</div>
+<td class="colFirst"><code>protected abstract &lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#doParse-org.apache.juneau.parser.ParserPipe-org.apache.juneau.ClassMeta-">doParse</a></span>(<a href="../../../../org/apache/juneau/parser/ParserPipe.html" title="class in org.apache.juneau.parser">ParserPipe</a>&nbsp;pipe,
+       <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;T&gt;&nbsp;type)</code>
+<div class="block">Workhorse method.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#getInputAsString--">getInputAsString</a></span>()</code>
-<div class="block">Returns the input to this parser as a plain string.</div>
+<td class="colFirst"><code>protected &lt;E&gt;&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;E&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#doParseIntoCollection-org.apache.juneau.parser.ParserPipe-java.util.Collection-java.lang.reflect.Type-">doParseIntoCollection</a></span>(<a href="../../../../org/apache/juneau/parser/ParserPipe.html" title="class in org.apache.juneau.parser">ParserPipe</a>&nbsp;pipe,
+                     <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;E&gt;&nbsp;c,
+                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;elementType)</code>
+<div class="block">Implementation method.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#getInputStream--">getInputStream</a></span>()</code>
-<div class="block">Wraps the specified input object inside an input stream.</div>
+<td class="colFirst"><code>protected &lt;K,V&gt;&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#doParseIntoMap-org.apache.juneau.parser.ParserPipe-java.util.Map-java.lang.reflect.Type-java.lang.reflect.Type-">doParseIntoMap</a></span>(<a href="../../../../org/apache/juneau/parser/ParserPipe.html" title="class in org.apache.juneau.parser">ParserPipe</a>&nbsp;pipe,
+              <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;&nbsp;m,
+              <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;keyType,
+              <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;valueType)</code>
+<div class="block">Implementation method.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a></code></td>
+<td class="colFirst"><code>protected <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#getClassMeta-java.lang.String-org.apache.juneau.BeanPropertyMeta-org.apache.juneau.ClassMeta-">getClassMeta</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;typeName,
+            <a href="../../../../org/apache/juneau/BeanPropertyMeta.html" title="class in org.apache.juneau">BeanPropertyMeta</a>&nbsp;pMeta,
+            <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;eType)</code>
+<div class="block">Give the specified dictionary name, resolve it to a class.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#getJavaMethod--">getJavaMethod</a></span>()</code>
 <div class="block">Returns the Java method that invoked this parser.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#getLastLocation--">getLastLocation</a></span>()</code>
 <div class="block">Returns information used to determine at what location in the parse a failure occurred.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#getOuter--">getOuter</a></span>()</code>
 <div class="block">Returns the outer object used for instantiating top-level non-static member classes.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#getReader--">getReader</a></span>()</code>
-<div class="block">Wraps the specified input object inside a reader.</div>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#isReaderParser--">isReaderParser</a></span>()</code>
+<div class="block">Returns <jk>true</jk> if this parser subclasses from <a href="../../../../org/apache/juneau/parser/ReaderParser.html" title="class in org.apache.juneau.parser"><code>ReaderParser</code></a>.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#isStrict--">isStrict</a></span>()</code>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/parser/ParserContext.html#PARSER_strict"><code>ParserContext.PARSER_strict</code></a> setting value for this session.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#isTrimStrings--">isTrimStrings</a></span>()</code>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/parser/ParserContext.html#PARSER_trimStrings"><code>ParserContext.PARSER_trimStrings</code></a> setting value for this session.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#onUnknownProperty-java.lang.String-org.apache.juneau.BeanMap-int-int-">onUnknownProperty</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propertyName,
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>protected &lt;T&gt;&nbsp;void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#onUnknownProperty-org.apache.juneau.parser.ParserPipe-java.lang.String-org.apache.juneau.BeanMap-int-int-">onUnknownProperty</a></span>(<a href="../../../../org/apache/juneau/parser/ParserPipe.html" title="class in org.apache.juneau.parser">ParserPipe</a>&nbsp;pipe,
+                 <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>&nbsp;propertyName,
                  <a href="../../../../org/apache/juneau/BeanMap.html" title="class in org.apache.juneau">BeanMap</a>&lt;T&gt;&nbsp;beanMap,
                  int&nbsp;line,
                  int&nbsp;col)</code>
 <div class="block">Method that gets called when an unknown bean property name is encountered.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
-<td class="colFirst"><code>void</code></td>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#parse-java.lang.Object-java.lang.Class-">parse</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;input,
+     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)</code>
+<div class="block">Same as <a href="../../../../org/apache/juneau/parser/ParserSession.html#parse-java.lang.Object-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>parse(Object, Type, Type...)</code></a> except optimized for a non-parameterized class.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#parse-java.lang.Object-org.apache.juneau.ClassMeta-">parse</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;input,
+     <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;T&gt;&nbsp;type)</code>
+<div class="block">Same as <a href="../../../../org/apache/juneau/parser/ParserSession.html#parse-java.lang.Object-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>parse(Object, Type, Type...)</code></a> except the type has already been converted into a <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau"><code>ClassMeta</code></a>
+ object.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#parse-java.lang.Object-java.lang.reflect.Type-java.lang.reflect.Type...-">parse</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;input,
+     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;type,
+     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>...&nbsp;args)</code>
+<div class="block">Parses input into the specified object type.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#parseArgs-java.lang.Object-java.lang.reflect.Type:A-">parseArgs</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;input,
+         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>[]&nbsp;argTypes)</code>
+<div class="block">Parses the specified array input with each entry in the object defined by the <code>argTypes</code>
+ argument.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>&lt;E&gt;&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;E&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#parseIntoCollection-java.lang.Object-java.util.Collection-java.lang.reflect.Type-">parseIntoCollection</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;input,
+                   <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;E&gt;&nbsp;c,
+                   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;elementType)</code>
+<div class="block">Parses the contents of the specified reader and loads the results into the specified collection.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>&lt;K,V&gt;&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#parseIntoMap-java.lang.Object-java.util.Map-java.lang.reflect.Type-java.lang.reflect.Type-">parseIntoMap</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;input,
+            <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;&nbsp;m,
+            <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;keyType,
+            <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;valueType)</code>
+<div class="block">Parses the contents of the specified reader and loads the results into the specified map.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#setCurrentClass-org.apache.juneau.ClassMeta-">setCurrentClass</a></span>(<a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;currentClass)</code>
 <div class="block">Sets the current class being parsed for proper error messages.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
-<td class="colFirst"><code>void</code></td>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#setCurrentProperty-org.apache.juneau.BeanPropertyMeta-">setCurrentProperty</a></span>(<a href="../../../../org/apache/juneau/BeanPropertyMeta.html" title="class in org.apache.juneau">BeanPropertyMeta</a>&nbsp;currentProperty)</code>
 <div class="block">Sets the current bean property being parsed for proper error messages.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><code>&lt;K&gt;&nbsp;K</code></td>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>protected static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#setName-org.apache.juneau.ClassMeta-java.lang.Object-java.lang.Object-">setName</a></span>(<a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;cm,
+       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o,
+       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;name)</code>
+<div class="block">Convenience method for calling the <a href="../../../../org/apache/juneau/annotation/NameProperty.html" title="annotation in org.apache.juneau.annotation"><code>@NameProperty</code></a> method on the specified object if it exists.</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>protected static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#setParent-org.apache.juneau.ClassMeta-java.lang.Object-java.lang.Object-">setParent</a></span>(<a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;cm,
+         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o,
+         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;parent)</code>
+<div class="block">Convenience method for calling the <a href="../../../../org/apache/juneau/annotation/ParentProperty.html" title="annotation in org.apache.juneau.annotation"><code>@ParentProperty</code></a> method on the specified object if it
+ exists.</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>protected &lt;K&gt;&nbsp;K</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#trim-K-">trim</a></span>(K&nbsp;o)</code>
 <div class="block">Trims the specified object if it's a <code>String</code> and <a href="../../../../org/apache/juneau/parser/ParserSession.html#isTrimStrings--"><code>isTrimStrings()</code></a> returns <jk>true</jk>.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/juneau/parser/ParserSession.html#trim-java.lang.String-">trim</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</code>
 <div class="block">Trims the specified string if <a href="../../../../org/apache/juneau/parser/ParserSession.html#isTrimStrings--"><code>isTrimStrings()</code></a> returns <jk>true</jk>.</div>
 </td>
@@ -287,14 +365,14 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.juneau.<a href="../../../../org/apache/juneau/BeanSession.html" title="class in org.apache.juneau">BeanSession</a></h3>
-<code><a href="../../../../org/apache/juneau/BeanSession.html#Z:Z_class--">_class</a>, <a href="../../../../org/apache/juneau/BeanSession.html#asMap--">asMap</a>, <a href="../../../../org/apache/juneau/BeanSession.html#convertToType-java.lang.Object-java.lang.Class-">convertToType</a>, <a href="../../../../org/apache/juneau/BeanSession.html#convertToType-java.lang.Object-org.apache.juneau.ClassMeta-">convertToType</a>, <a href="../../../../org/apache/juneau/BeanSession.html#convertToType-java.lang.Object-java.lang.Object-java.lang.Class-">convertToType</a>, <a href="../../../../org/apache/juneau/BeanSession.html#convertToType-java.lang.Object-java.lang.Object-org.apache.juneau.ClassMeta-">convertToType</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getArgsClassMeta-java.lang.reflect.Type:A-">getArgsClassMeta</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getBeanMeta-java.lang.Class-">getBeanMeta</a>, <a href="../../../../org/apache/juneau/BeanSession.html
 #getBeanRegistry--">getBeanRegistry</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getBeanTypePropertyName-org.apache.juneau.ClassMeta-">getBeanTypePropertyName</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getClassLoader--">getClassLoader</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getClassMeta-java.lang.Class-">getClassMeta</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getClassMeta-java.lang.reflect.Type-java.lang.reflect.Type...-">getClassMeta</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getClassMetaForObject-T-">getClassMetaForObject</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getLocale--">getLocale</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getMediaType--">getMediaType</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getStringBuilder--">getStringBuilder</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getTimeZone--">getTimeZone</a>, <a href="..
 /../../../org/apache/juneau/BeanSession.html#isBean-java.lang.Class-">isBean</a>, <a href="../../../../org/apache/juneau/BeanSession.html#isBean-java.lang.Object-">isBean</a>, <a href="../../../../org/apache/juneau/BeanSession.html#isDebug--">isDebug</a>, <a href="../../../../org/apache/juneau/BeanSession.html#isIgnoreUnknownBeanProperties--">isIgnoreUnknownBeanProperties</a>, <a href="../../../../org/apache/juneau/BeanSession.html#newBean-java.lang.Class-">newBean</a>, <a href="../../../../org/apache/juneau/BeanSession.html#newBean-java.lang.Object-java.lang.Class-">newBean</a>, <a href="../../../../org/apache/juneau/BeanSession.html#newBeanMap-java.lang.Class-">newBeanMap</a>, <a href="../../../../org/apache/juneau/BeanSession.html#newBeanMap-java.lang.Object-java.lang.Class-">newBeanMap</a>, <a href="../../../../org/apache/juneau/BeanSession.html#object--">object</a>, <a href="../../../../org/apache/juneau/BeanSession.html#returnStringBuilder-java.lang.StringBuilder-">returnStrin
 gBuilder</a>, <a href="../../../../org/apache/juneau/BeanSession.html#string--">string</a>, <a href="../../../../org/apache/juneau/BeanSession.html#toArray-org.apache.juneau.ClassMeta-java.util.Collection-">toArray</a>, <a href="../../../../org/apache/juneau/BeanSession.html#toBeanMap-T-">toBeanMap</a>, <a href="../../../../org/apache/juneau/BeanSession.html#toBeanMap-T-java.lang.Class-">toBeanMap</a></code></li>
+<code><a href="../../../../org/apache/juneau/BeanSession.html#Z:Z_class--">_class</a>, <a href="../../../../org/apache/juneau/BeanSession.html#asMap--">asMap</a>, <a href="../../../../org/apache/juneau/BeanSession.html#close--">close</a>, <a href="../../../../org/apache/juneau/BeanSession.html#convertToType-java.lang.Object-java.lang.Class-">convertToType</a>, <a href="../../../../org/apache/juneau/BeanSession.html#convertToType-java.lang.Object-org.apache.juneau.ClassMeta-">convertToType</a>, <a href="../../../../org/apache/juneau/BeanSession.html#convertToType-java.lang.Object-java.lang.Object-java.lang.Class-">convertToType</a>, <a href="../../../../org/apache/juneau/BeanSession.html#convertToType-java.lang.Object-java.lang.Object-org.apache.juneau.ClassMeta-">convertToType</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getArgsClassMeta-java.lang.reflect.Type:A-">getArgsClassMeta</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getBeanMeta-java.lang.Clas
 s-">getBeanMeta</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getBeanRegistry--">getBeanRegistry</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getBeanTypePropertyName-org.apache.juneau.ClassMeta-">getBeanTypePropertyName</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getClassLoader--">getClassLoader</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getClassMeta-java.lang.Class-">getClassMeta</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getClassMeta-java.lang.reflect.Type-java.lang.reflect.Type...-">getClassMeta</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getClassMetaForObject-T-">getClassMetaForObject</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getLocale--">getLocale</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getMediaType--">getMediaType</a>, <a href="../../../../org/apache/juneau/BeanSession.html#getStringBuilder--">getStringBuilder</a>, <a href="../../../../or
 g/apache/juneau/BeanSession.html#getTimeZone--">getTimeZone</a>, <a href="../../../../org/apache/juneau/BeanSession.html#isBean-java.lang.Class-">isBean</a>, <a href="../../../../org/apache/juneau/BeanSession.html#isBean-java.lang.Object-">isBean</a>, <a href="../../../../org/apache/juneau/BeanSession.html#isDebug--">isDebug</a>, <a href="../../../../org/apache/juneau/BeanSession.html#isIgnoreUnknownBeanProperties--">isIgnoreUnknownBeanProperties</a>, <a href="../../../../org/apache/juneau/BeanSession.html#newBean-java.lang.Class-">newBean</a>, <a href="../../../../org/apache/juneau/BeanSession.html#newBean-java.lang.Object-java.lang.Class-">newBean</a>, <a href="../../../../org/apache/juneau/BeanSession.html#newBeanMap-java.lang.Class-">newBeanMap</a>, <a href="../../../../org/apache/juneau/BeanSession.html#newBeanMap-java.lang.Object-java.lang.Class-">newBeanMap</a>, <a href="../../../../org/apache/juneau/BeanSession.html#object--">object</a>, <a href="../../../../org/apache/junea
 u/BeanSession.html#returnStringBuilder-java.lang.StringBuilder-">returnStringBuilder</a>, <a href="../../../../org/apache/juneau/BeanSession.html#string--">string</a>, <a href="../../../../org/apache/juneau/BeanSession.html#toArray-org.apache.juneau.ClassMeta-java.util.Collection-">toArray</a>, <a href="../../../../org/apache/juneau/BeanSession.html#toBeanMap-T-">toBeanMap</a>, <a href="../../../../org/apache/juneau/BeanSession.html#toBeanMap-T-java.lang.Class-">toBeanMap</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.juneau.Session">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.juneau.<a href="../../../../org/apache/juneau/Session.html" title="class in org.apache.juneau">Session</a></h3>
-<code><a href="../../../../org/apache/juneau/Session.html#addToCache-java.util.Map-">addToCache</a>, <a href="../../../../org/apache/juneau/Session.html#addToCache-java.lang.String-java.lang.Object-">addToCache</a>, <a href="../../../../org/apache/juneau/Session.html#addWarning-java.lang.String-java.lang.Object...-">addWarning</a>, <a href="../../../../org/apache/juneau/Session.html#finalize--">finalize</a>, <a href="../../../../org/apache/juneau/Session.html#getFromCache-java.lang.Class-java.lang.String-">getFromCache</a>, <a href="../../../../org/apache/juneau/Session.html#getLogger--">getLogger</a>, <a href="../../../../org/apache/juneau/Session.html#getProperty-java.lang.Class-java.lang.String-">getProperty</a>, <a href="../../../../org/apache/juneau/Session.html#getProperty-java.lang.Class-java.lang.String-T-">getProperty</a>, <a href="../../../../org/apache/juneau/Session.html#getProperty-java.lang.String-">getProperty</a>, <a href="../../../../org/apache/juneau/Session.html#g
 etProperty-java.lang.String-java.lang.String-">getProperty</a>, <a href="../../../../org/apache/juneau/Session.html#getWarnings--">getWarnings</a>, <a href="../../../../org/apache/juneau/Session.html#hasWarnings--">hasWarnings</a>, <a href="../../../../org/apache/juneau/Session.html#toString--">toString</a></code></li>
+<code><a href="../../../../org/apache/juneau/Session.html#addToCache-java.util.Map-">addToCache</a>, <a href="../../../../org/apache/juneau/Session.html#addToCache-java.lang.String-java.lang.Object-">addToCache</a>, <a href="../../../../org/apache/juneau/Session.html#addWarning-java.lang.String-java.lang.Object...-">addWarning</a>, <a href="../../../../org/apache/juneau/Session.html#finalize--">finalize</a>, <a href="../../../../org/apache/juneau/Session.html#getFromCache-java.lang.Class-java.lang.String-">getFromCache</a>, <a href="../../../../org/apache/juneau/Session.html#getLogger--">getLogger</a>, <a href="../../../../org/apache/juneau/Session.html#getProperties--">getProperties</a>, <a href="../../../../org/apache/juneau/Session.html#getProperty-java.lang.Class-java.lang.String-">getProperty</a>, <a href="../../../../org/apache/juneau/Session.html#getProperty-java.lang.Class-java.lang.String-T-">getProperty</a>, <a href="../../../../org/apache/juneau/Session.html#getProperty-j
 ava.lang.String-">getProperty</a>, <a href="../../../../org/apache/juneau/Session.html#getProperty-java.lang.String-java.lang.String-">getProperty</a>, <a href="../../../../org/apache/juneau/Session.html#getWarnings--">getWarnings</a>, <a href="../../../../org/apache/juneau/Session.html#hasWarnings--">hasWarnings</a>, <a href="../../../../org/apache/juneau/Session.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -317,54 +395,20 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="ParserSession-org.apache.juneau.parser.ParserContext-org.apache.juneau.ObjectMap-java.lang.Object-java.lang.reflect.Method-java.lang.Object-java.util.Locale-java.util.TimeZone-org.apache.juneau.http.MediaType-">
+<a name="ParserSession-org.apache.juneau.parser.ParserContext-org.apache.juneau.parser.ParserSessionArgs-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ParserSession</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.89">ParserSession</a>(<a href="../../../../org/apache/juneau/parser/ParserContext.html" title="class in org.apache.juneau.parser">ParserContext</a>&nbsp;ctx,
-                     <a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;op,
-                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;input,
-                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>&nbsp;javaMethod,
-                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;outer,
-                     <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;locale,
-                     <a href="http://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</a>&nbsp;timeZone,
-                     <a href="../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>&nbsp;mediaType)</pre>
+<pre>protected&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.56">ParserSession</a>(<a href="../../../../org/apache/juneau/parser/ParserContext.html" title="class in org.apache.juneau.parser">ParserContext</a>&nbsp;ctx,
+                        <a href="../../../../org/apache/juneau/parser/ParserSessionArgs.html" title="class in org.apache.juneau.parser">ParserSessionArgs</a>&nbsp;args)</pre>
 <div class="block">Create a new session using properties specified in the context.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - The context creating this session object.
    The context contains all the configuration settings for this object.</dd>
-<dd><code>input</code> - The input.
-   <br>For character-based parsers, this can be any of the following types:
-   <ul>
-      <li><jk>null</jk>
-      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a>
-      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang"><code>CharSequence</code></a>
-      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> containing UTF-8 encoded text (or whatever the encoding specified by
-         <a href="../../../../org/apache/juneau/parser/ParserContext.html#PARSER_inputStreamCharset"><code>ParserContext.PARSER_inputStreamCharset</code></a>).
-      <li><code><jk>byte</jk>[]</code> containing UTF-8 encoded text (or whatever the encoding specified by
-         <a href="../../../../org/apache/juneau/parser/ParserContext.html#PARSER_inputStreamCharset"><code>ParserContext.PARSER_inputStreamCharset</code></a>).
-      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a> containing system encoded text (or whatever the encoding specified by
-         <a href="../../../../org/apache/juneau/parser/ParserContext.html#PARSER_fileCharset"><code>ParserContext.PARSER_fileCharset</code></a>).
-   </ul>
-   <br>For byte-based parsers, this can be any of the following types:
-   <ul>
-      <li><jk>null</jk>
-      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a>
-      <li><code><jk>byte</jk>[]</code>
-      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>
-   </ul></dd>
-<dd><code>op</code> - The override properties.
-   These override any context properties defined in the context.</dd>
-<dd><code>javaMethod</code> - The java method that called this parser, usually the method in a REST servlet.</dd>
-<dd><code>outer</code> - The outer object for instantiating top-level non-static inner classes.</dd>
-<dd><code>locale</code> - The session locale.
-   If <jk>null</jk>, then the locale defined on the context is used.</dd>
-<dd><code>timeZone</code> - The session timezone.
-   If <jk>null</jk>, then the timezone defined on the context is used.</dd>
-<dd><code>mediaType</code> - The session media type (e.g. <js>"application/json"</js>).</dd>
+<dd><code>args</code> - Runtime session arguments.</dd>
 </dl>
 </li>
 </ul>
@@ -376,71 +420,93 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="getInputStream--">
+<a name="doParse-org.apache.juneau.parser.ParserPipe-org.apache.juneau.ClassMeta-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getInputStream</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.121">getInputStream</a>()
-                           throws <a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></pre>
-<div class="block">Wraps the specified input object inside an input stream.
-
- <p>
- Subclasses can override this method to implement their own input streams.</div>
+<h4>doParse</h4>
+<pre>protected abstract&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.100">doParse</a>(<a href="../../../../org/apache/juneau/parser/ParserPipe.html" title="class in org.apache.juneau.parser">ParserPipe</a>&nbsp;pipe,
+                                 <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;T&gt;&nbsp;type)
+                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Workhorse method.  Subclasses are expected to implement this method.</div>
 <dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - The class type of the object to create.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>pipe</code> - Where to get the input from.</dd>
+<dd><code>type</code> - The class type of the object to create.
+   If <jk>null</jk> or <code>Object.<jk>class</jk></code>, object type is based on what's being parsed.
+   For example, when parsing JSON text, it may return a <code>String</code>, <code>Number</code>,
+   <code>ObjectMap</code>, etc...</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>The input object wrapped in an input stream, or <jk>null</jk> if the object is null.</dd>
+<dd>The parsed object.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></code> - If object could not be converted to an input stream.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - If thrown from underlying stream, or if the input contains a syntax error or is malformed.</dd>
 </dl>
 </li>
 </ul>
-<a name="getReader--">
+<a name="isReaderParser--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getReader</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.167">getReader</a>()
-                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<div class="block">Wraps the specified input object inside a reader.
-
- <p>
- Subclasses can override this method to implement their own readers.</div>
+<h4>isReaderParser</h4>
+<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.107">isReaderParser</a>()</pre>
+<div class="block">Returns <jk>true</jk> if this parser subclasses from <a href="../../../../org/apache/juneau/parser/ReaderParser.html" title="class in org.apache.juneau.parser"><code>ReaderParser</code></a>.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>The input object wrapped in a Reader, or <jk>null</jk> if the object is null.</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - If object could not be converted to a reader.</dd>
+<dd><jk>true</jk> if this parser subclasses from <a href="../../../../org/apache/juneau/parser/ReaderParser.html" title="class in org.apache.juneau.parser"><code>ReaderParser</code></a>.</dd>
 </dl>
 </li>
 </ul>
-<a name="getLastLocation--">
+<a name="createPipe-java.lang.Object-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getLastLocation</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.240">getLastLocation</a>()</pre>
-<div class="block">Returns information used to determine at what location in the parse a failure occurred.</div>
+<h4>createPipe</h4>
+<pre>public final&nbsp;<a href="../../../../org/apache/juneau/parser/ParserPipe.html" title="class in org.apache.juneau.parser">ParserPipe</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.142">createPipe</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;input)</pre>
+<div class="block">Wraps the specified input object into a <a href="../../../../org/apache/juneau/parser/ParserPipe.html" title="class in org.apache.juneau.parser"><code>ParserPipe</code></a> object so that it can be easily converted into
+ a stream or reader.</div>
 <dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>input</code> - The input.
+   <br>For character-based parsers, this can be any of the following types:
+   <ul>
+      <li><jk>null</jk>
+      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a>
+      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang"><code>CharSequence</code></a>
+      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> containing UTF-8 encoded text (or whatever the encoding specified by
+         <a href="../../../../org/apache/juneau/parser/ParserContext.html#PARSER_inputStreamCharset"><code>ParserContext.PARSER_inputStreamCharset</code></a>).
+      <li><code><jk>byte</jk>[]</code> containing UTF-8 encoded text (or whatever the encoding specified by
+         <a href="../../../../org/apache/juneau/parser/ParserContext.html#PARSER_inputStreamCharset"><code>ParserContext.PARSER_inputStreamCharset</code></a>).
+      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a> containing system encoded text (or whatever the encoding specified by
+         <a href="../../../../org/apache/juneau/parser/ParserContext.html#PARSER_fileCharset"><code>ParserContext.PARSER_fileCharset</code></a>).
+   </ul>
+   <br>For byte-based parsers, this can be any of the following types:
+   <ul>
+      <li><jk>null</jk>
+      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a>
+      <li><code><jk>byte</jk>[]</code>
+      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>
+   </ul></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>A map, typically containing something like <code>{line:123,column:456,currentProperty:"foobar"}</code></dd>
+<dd>A new <a href="../../../../org/apache/juneau/parser/ParserPipe.html" title="class in org.apache.juneau.parser"><code>ParserPipe</code></a> wrapper around the specified input object.</dd>
 </dl>
 </li>
 </ul>
-<a name="getInput--">
+<a name="getLastLocation--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getInput</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.254">getInput</a>()</pre>
-<div class="block">Returns the raw input object passed into this session.</div>
+<h4>getLastLocation</h4>
+<pre>public final&nbsp;<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.151">getLastLocation</a>()</pre>
+<div class="block">Returns information used to determine at what location in the parse a failure occurred.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>The raw input object passed into this session.</dd>
+<dd>A map, typically containing something like <code>{line:123,column:456,currentProperty:"foobar"}</code></dd>
 </dl>
 </li>
 </ul>
@@ -450,7 +516,7 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 <ul class="blockList">
 <li class="blockList">
 <h4>getJavaMethod</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.267">getJavaMethod</a>()</pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.169">getJavaMethod</a>()</pre>
 <div class="block">Returns the Java method that invoked this parser.
 
  <p>
@@ -468,7 +534,7 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 <ul class="blockList">
 <li class="blockList">
 <h4>getOuter</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.279">getOuter</a>()</pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.181">getOuter</a>()</pre>
 <div class="block">Returns the outer object used for instantiating top-level non-static member classes.
 
  <p>
@@ -485,7 +551,7 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 <ul class="blockList">
 <li class="blockList">
 <h4>setCurrentProperty</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.288">setCurrentProperty</a>(<a href="../../../../org/apache/juneau/BeanPropertyMeta.html" title="class in org.apache.juneau">BeanPropertyMeta</a>&nbsp;currentProperty)</pre>
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.190">setCurrentProperty</a>(<a href="../../../../org/apache/juneau/BeanPropertyMeta.html" title="class in org.apache.juneau">BeanPropertyMeta</a>&nbsp;currentProperty)</pre>
 <div class="block">Sets the current bean property being parsed for proper error messages.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -499,7 +565,7 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 <ul class="blockList">
 <li class="blockList">
 <h4>setCurrentClass</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.297">setCurrentClass</a>(<a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;currentClass)</pre>
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.199">setCurrentClass</a>(<a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;currentClass)</pre>
 <div class="block">Sets the current class being parsed for proper error messages.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -513,7 +579,7 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 <ul class="blockList">
 <li class="blockList">
 <h4>isTrimStrings</h4>
-<pre>public final&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.306">isTrimStrings</a>()</pre>
+<pre>protected final&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.208">isTrimStrings</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/parser/ParserContext.html#PARSER_trimStrings"><code>ParserContext.PARSER_trimStrings</code></a> setting value for this session.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -527,7 +593,7 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 <ul class="blockList">
 <li class="blockList">
 <h4>isStrict</h4>
-<pre>public final&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.315">isStrict</a>()</pre>
+<pre>protected final&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.217">isStrict</a>()</pre>
 <div class="block">Returns the <a href="../../../../org/apache/juneau/parser/ParserContext.html#PARSER_strict"><code>ParserContext.PARSER_strict</code></a> setting value for this session.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -543,7 +609,7 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 <ul class="blockList">
 <li class="blockList">
 <h4>trim</h4>
-<pre>public final&nbsp;&lt;K&gt;&nbsp;K&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.326">trim</a>(K&nbsp;o)</pre>
+<pre>protected final&nbsp;&lt;K&gt;&nbsp;K&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.228">trim</a>(K&nbsp;o)</pre>
 <div class="block">Trims the specified object if it's a <code>String</code> and <a href="../../../../org/apache/juneau/parser/ParserSession.html#isTrimStrings--"><code>isTrimStrings()</code></a> returns <jk>true</jk>.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -559,7 +625,7 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 <ul class="blockList">
 <li class="blockList">
 <h4>trim</h4>
-<pre>public final&nbsp;<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>&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.339">trim</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</pre>
+<pre>protected final&nbsp;<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>&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.241">trim</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</pre>
 <div class="block">Trims the specified string if <a href="../../../../org/apache/juneau/parser/ParserSession.html#isTrimStrings--"><code>isTrimStrings()</code></a> returns <jk>true</jk>.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -575,9 +641,9 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 <ul class="blockList">
 <li class="blockList">
 <h4>cast</h4>
-<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.354">cast</a>(<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;m,
-                         <a href="../../../../org/apache/juneau/BeanPropertyMeta.html" title="class in org.apache.juneau">BeanPropertyMeta</a>&nbsp;pMeta,
-                         <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;eType)</pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.256">cast</a>(<a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau">ObjectMap</a>&nbsp;m,
+                            <a href="../../../../org/apache/juneau/BeanPropertyMeta.html" title="class in org.apache.juneau">BeanPropertyMeta</a>&nbsp;pMeta,
+                            <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;eType)</pre>
 <div class="block">Converts the specified <code>ObjectMap</code> into a bean identified by the <js>"_type"</js> property in the map.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -595,9 +661,9 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 <ul class="blockList">
 <li class="blockList">
 <h4>getClassMeta</h4>
-<pre>public final&nbsp;<a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.393">getClassMeta</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;typeName,
-                                       <a href="../../../../org/apache/juneau/BeanPropertyMeta.html" title="class in org.apache.juneau">BeanPropertyMeta</a>&nbsp;pMeta,
-                                       <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;eType)</pre>
+<pre>protected final&nbsp;<a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.295">getClassMeta</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;typeName,
+                                          <a href="../../../../org/apache/juneau/BeanPropertyMeta.html" title="class in org.apache.juneau">BeanPropertyMeta</a>&nbsp;pMeta,
+                                          <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;?&gt;&nbsp;eType)</pre>
 <div class="block">Give the specified dictionary name, resolve it to a class.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -609,22 +675,24 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 </dl>
 </li>
 </ul>
-<a name="onUnknownProperty-java.lang.String-org.apache.juneau.BeanMap-int-int-">
+<a name="onUnknownProperty-org.apache.juneau.parser.ParserPipe-java.lang.String-org.apache.juneau.BeanMap-int-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>onUnknownProperty</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.427">onUnknownProperty</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propertyName,
-                                  <a href="../../../../org/apache/juneau/BeanMap.html" title="class in org.apache.juneau">BeanMap</a>&lt;T&gt;&nbsp;beanMap,
-                                  int&nbsp;line,
-                                  int&nbsp;col)
-                           throws <a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></pre>
+<pre>protected final&nbsp;&lt;T&gt;&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.330">onUnknownProperty</a>(<a href="../../../../org/apache/juneau/parser/ParserPipe.html" title="class in org.apache.juneau.parser">ParserPipe</a>&nbsp;pipe,
+                                           <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>&nbsp;propertyName,
+                                           <a href="../../../../org/apache/juneau/BeanMap.html" title="class in org.apache.juneau">BeanMap</a>&lt;T&gt;&nbsp;beanMap,
+                                           int&nbsp;line,
+                                           int&nbsp;col)
+                                    throws <a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></pre>
 <div class="block">Method that gets called when an unknown bean property name is encountered.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
 <dd><code>T</code> - The class type of the bean map that doesn't have the expected property.</dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>pipe</code> - The parser input.</dd>
 <dd><code>propertyName</code> - The unknown bean property name.</dd>
 <dd><code>beanMap</code> - The bean that doesn't have the expected property.</dd>
 <dd><code>line</code> - The line number where the property was found.  <code>-1</code> if line numbers are not available.</dd>
@@ -635,36 +703,396 @@ extends <a href="../../../../org/apache/juneau/BeanSession.html" title="class in
 </dl>
 </li>
 </ul>
-<a name="getInputAsString--">
+<a name="parse-java.lang.Object-java.lang.reflect.Type-java.lang.reflect.Type...-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getInputAsString</h4>
-<pre>public&nbsp;<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>&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.447">getInputAsString</a>()</pre>
-<div class="block">Returns the input to this parser as a plain string.
+<h4>parse</h4>
+<pre>public final&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.419">parse</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;input,
+                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;type,
+                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>...&nbsp;args)
+                  throws <a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></pre>
+<div class="block">Parses input into the specified object type.
+
+ <p>
+ The type can be a simple type (e.g. beans, strings, numbers) or parameterized type (collections/maps).
+
+ <h5 class='section'>Examples:</h5>
+ <p class='bcode'>
+   ReaderParser p = JsonParser.<jsf>DEFAULT</jsf>;
+
+   <jc>// Parse into a linked-list of strings.</jc>
+   List l = p.parse(json, LinkedList.<jk>class</jk>, String.<jk>class</jk>);
+
+   <jc>// Parse into a linked-list of beans.</jc>
+   List l = p.parse(json, LinkedList.<jk>class</jk>, MyBean.<jk>class</jk>);
+
+   <jc>// Parse into a linked-list of linked-lists of strings.</jc>
+   List l = p.parse(json, LinkedList.<jk>class</jk>, LinkedList.<jk>class</jk>, String.<jk>class</jk>);
+
+   <jc>// Parse into a map of string keys/values.</jc>
+   Map m = p.parse(json, TreeMap.<jk>class</jk>, String.<jk>class</jk>, String.<jk>class</jk>);
+
+   <jc>// Parse into a map containing string keys and values of lists containing beans.</jc>
+   Map m = p.parse(json, TreeMap.<jk>class</jk>, String.<jk>class</jk>, List.<jk>class</jk>, MyBean.<jk>class</jk>);
+ </p>
+
+ <p>
+ <code>Collection</code> classes are assumed to be followed by zero or one objects indicating the element type.
+
+ <p>
+ <code>Map</code> classes are assumed to be followed by zero or two meta objects indicating the key and value types.
 
  <p>
- This method only returns a value if <a href="../../../../org/apache/juneau/BeanContext.html#BEAN_debug"><code>BeanContext.BEAN_debug</code></a> is enabled.</div>
+ The array can be arbitrarily long to indicate arbitrarily complex data structures.
+
+ <h5 class='section'>Notes:</h5>
+ <ul>
+   <li>Use the <a href="../../../../org/apache/juneau/parser/ParserSession.html#parse-java.lang.Object-java.lang.Class-"><code>parse(Object, Class)</code></a> method instead if you don't need a parameterized map/collection.
+ </ul></div>
 <dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - The class type of the object to create.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>input</code> - The input.
+   <br>Character-based parsers can handle the following input class types:
+   <ul>
+      <li><jk>null</jk>
+      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a>
+      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang"><code>CharSequence</code></a>
+      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> containing UTF-8 encoded text (or charset defined by
+         <a href="../../../../org/apache/juneau/parser/ParserContext.html#PARSER_inputStreamCharset"><code>ParserContext.PARSER_inputStreamCharset</code></a> property value).
+      <li><code><jk>byte</jk>[]</code> containing UTF-8 encoded text (or charset defined by
+         <a href="../../../../org/apache/juneau/parser/ParserContext.html#PARSER_inputStreamCharset"><code>ParserContext.PARSER_inputStreamCharset</code></a> property value).
+      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a> containing system encoded text (or charset defined by
+         <a href="../../../../org/apache/juneau/parser/ParserContext.html#PARSER_fileCharset"><code>ParserContext.PARSER_fileCharset</code></a> property value).
+   </ul>
+   <br>Stream-based parsers can handle the following input class types:
+   <ul>
+      <li><jk>null</jk>
+      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a>
+      <li><code><jk>byte</jk>[]</code>
+      <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>
+   </ul></dd>
+<dd><code>type</code> - The object type to create.
+   <br>Can be any of the following: <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau"><code>ClassMeta</code></a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang"><code>Class</code></a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/ParameterizedType.html?is-external=true" title="class or interface in java.lang.reflect"><code>ParameterizedType</code></a>,
+   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/GenericArrayType.html?is-external=true" title="class or interface in java.lang.reflect"><code>GenericArrayType</code></a></dd>
+<dd><code>args</code> - The type arguments of the class if it's a collection or map.
+   <br>Can be any of the following: <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau"><code>ClassMeta</code></a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang"><code>Class</code></a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/ParameterizedType.html?is-external=true" title="class or interface in java.lang.reflect"><code>ParameterizedType</code></a>,
+   <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/GenericArrayType.html?is-external=true" title="class or interface in java.lang.reflect"><code>GenericArrayType</code></a>
+   <br>Ignored if the main type is not a map or collection.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>The input as a string, or <jk>null</jk> if debug mode not enabled.</dd>
+<dd>The parsed object.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></code> - If the input contains a syntax error or is malformed, or is not valid for the specified type.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/juneau/BeanSession.html#getClassMeta-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>for argument syntax for maps and collections.</code></a></dd>
 </dl>
 </li>
 </ul>
-<a name="close--">
+<a name="parse-java.lang.Object-java.lang.Class-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
+<li class="blockList">
+<h4>parse</h4>
+<pre>public final&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.463">parse</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;input,
+                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;type)
+                  throws <a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></pre>
+<div class="block">Same as <a href="../../../../org/apache/juneau/parser/ParserSession.html#parse-java.lang.Object-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>parse(Object, Type, Type...)</code></a> except optimized for a non-parameterized class.
+
+ <p>
+ This is the preferred parse method for simple types since you don't need to cast the results.
+
+ <h5 class='section'>Examples:</h5>
+ <p class='bcode'>
+   ReaderParser p = JsonParser.<jsf>DEFAULT</jsf>;
+
+   <jc>// Parse into a string.</jc>
+   String s = p.parse(json, String.<jk>class</jk>);
+
+   <jc>// Parse into a bean.</jc>
+   MyBean b = p.parse(json, MyBean.<jk>class</jk>);
+
+   <jc>// Parse into a bean array.</jc>
+   MyBean[] ba = p.parse(json, MyBean[].<jk>class</jk>);
+
+   <jc>// Parse into a linked-list of objects.</jc>
+   List l = p.parse(json, LinkedList.<jk>class</jk>);
+
+   <jc>// Parse into a map of object keys/values.</jc>
+   Map m = p.parse(json, TreeMap.<jk>class</jk>);
+ </p></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - The class type of the object being created.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>input</code> - The input.
+   See <a href="../../../../org/apache/juneau/parser/ParserSession.html#parse-java.lang.Object-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>parse(Object, Type, Type...)</code></a> for details.</dd>
+<dd><code>type</code> - The object type to create.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The parsed object.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></code> - If the input contains a syntax error or is malformed, or is not valid for the specified type.</dd>
+</dl>
+</li>
+</ul>
+<a name="parse-java.lang.Object-org.apache.juneau.ClassMeta-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parse</h4>
+<pre>public final&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.488">parse</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;input,
+                         <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau">ClassMeta</a>&lt;T&gt;&nbsp;type)
+                  throws <a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></pre>
+<div class="block">Same as <a href="../../../../org/apache/juneau/parser/ParserSession.html#parse-java.lang.Object-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>parse(Object, Type, Type...)</code></a> except the type has already been converted into a <a href="../../../../org/apache/juneau/ClassMeta.html" title="class in org.apache.juneau"><code>ClassMeta</code></a>
+ object.
+
+ <p>
+ This is mostly an internal method used by the framework.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - The class type of the object being created.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>input</code> - The input.
+   See <a href="../../../../org/apache/juneau/parser/ParserSession.html#parse-java.lang.Object-java.lang.reflect.Type-java.lang.reflect.Type...-"><code>parse(Object, Type, Type...)</code></a> for details.</dd>
+<dd><code>type</code> - The object type to create.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The parsed object.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></code> - If the input contains a syntax error or is malformed, or is not valid for the specified type.</dd>
+</dl>
+</li>
+</ul>
+<a name="parseIntoMap-java.lang.Object-java.util.Map-java.lang.reflect.Type-java.lang.reflect.Type-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseIntoMap</h4>
+<pre>public final&nbsp;&lt;K,V&gt;&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;&nbsp;<a href="../../../../src-html/org/apache/juneau/parser/ParserSession.html#line.553">parseIntoMap</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;input,
+                                         <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;&nbsp;m,
+                                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;keyType,
+                                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;valueType)
+                                  throws <a href="../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser">ParseException</a></pre>
+<div class="block">Parses the contents of the specified reader and loads the results into the specified map.
+
+ <p>
+ Reader must contain something that serializes to a map (such as text containing a JSON object).
+
+ <p>
+ Used in the following locations:
+ <ul class='spaced-list'>
+   <li>
+      The various character-based constructors in <a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau"><code>ObjectMap</code></a> (e.g.
+      <a href="../../../../org/apache/juneau/ObjectMap.html#ObjectMap-java.lang.CharSequence-org.apache.juneau.parser.Parser-"><code>ObjectMap.ObjectMap(CharSequence,Parser)</code></a>).
+ </ul></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - The key class type.</dd>
+<dd><code>V</code> - The value class type.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>i

<TRUNCATED>