<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ParserConfig (Apache Juneau 8.2.0)</title>
<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="ParserConfig (Apache Juneau 8.2.0)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/juneau/parser/annotation/ParserConfigApply.html" title="class in org.apache.juneau.parser.annotation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/juneau/parser/annotation/ParserConfig.html" target="_top">Frames</a></li>
<li><a href="ParserConfig.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.juneau.parser.annotation</div>
<h2 title="Annotation Type ParserConfig" class="title">Annotation Type ParserConfig</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Documented.html?is-external=true" title="class or interface in java.lang.annotation">@Documented</a>
 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Target.html?is-external=true" title="class or interface in java.lang.annotation">@Target</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Target.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>={<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/ElementType.html?is-external=true#TYPE" title="class or interface in java.lang.annotation">TYPE</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation">METHOD</a>})
 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Retention.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>)
 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Inherited.html?is-external=true" title="class or interface in java.lang.annotation">@Inherited</a>
 <a href="../../../../../org/apache/juneau/annotation/PropertyStoreApply.html" title="annotation in org.apache.juneau.annotation">@PropertyStoreApply</a>(<a href="../../../../../org/apache/juneau/annotation/PropertyStoreApply.html#value--">value</a>=<a href="../../../../../org/apache/juneau/parser/annotation/ParserConfigApply.html" title="class in org.apache.juneau.parser.annotation">ParserConfigApply.class</a>)
public @interface <a href="../../../../../src-html/org/apache/juneau/parser/annotation/ParserConfig.html#line.39">ParserConfig</a></pre>
<div class="block">Annotation for specifying config properties defined in <a href="../../../../../org/apache/juneau/parser/Parser.html" title="class in org.apache.juneau.parser"><code>Parser</code></a>, <a href="../../../../../org/apache/juneau/parser/InputStreamParser.html" title="class in org.apache.juneau.parser"><code>InputStreamParser</code></a>, and <a href="../../../../../org/apache/juneau/parser/ReaderParser.html" title="class in org.apache.juneau.parser"><code>ReaderParser</code></a>.

 <p>
 Used primarily for specifying bean configuration properties on REST classes and methods.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.optional.element.summary">
<!--   -->
</a>
<h3>Optional Element Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#autoCloseStreams--">autoCloseStreams</a></span></code>
<div class="block">Configuration property:  Auto-close streams.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#binaryFormat--">binaryFormat</a></span></code>
<div class="block">Configuration property:  Binary input format.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#debugOutputLines--">debugOutputLines</a></span></code>
<div class="block">Configuration property:  Debug output lines.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#fileCharset--">fileCharset</a></span></code>
<div class="block">Configuration property:  File charset.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/parser/ParserListener.html" title="class in org.apache.juneau.parser">ParserListener</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/parser/annotation/ParserConfig.html#listener--">listener</a></span></code>
<div class="block">Configuration property:  Parser listener.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/parser/annotation/ParserConfig.html#rank--">rank</a></span></code>
<div class="block">Optional rank for this config.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#streamCharset--">streamCharset</a></span></code>
<div class="block">Configuration property:  Input stream charset.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#strict--">strict</a></span></code>
<div class="block">Configuration property:  Strict mode.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#trimStrings--">trimStrings</a></span></code>
<div class="block">Configuration property:  Trim parsed strings.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#unbuffered--">unbuffered</a></span></code>
<div class="block">Configuration property:  Unbuffered.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.element.detail">
<!--   -->
</a>
<h3>Element Detail</h3>
<a name="rank--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rank</h4>
<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/juneau/parser/annotation/ParserConfig.html#line.47">rank</a></pre>
<div class="block">Optional rank for this config.

 <p>
 Can be used to override default ordering and application of config annotations.</div>
<dl>
<dt>Default:</dt>
<dd>0</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="binaryFormat--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>binaryFormat</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#line.76">binaryFormat</a></pre>
<div class="block">Configuration property:  Binary input format.

 <p>
 When using the <a href="../../../../../org/apache/juneau/parser/Parser.html#parse-java.lang.Object-java.lang.Class-"><code>Parser.parse(Object,Class)</code></a> method on stream-based parsers and the input is a string, this defines the format to use
 when converting the string into a byte array.

 <ul class='notes'>
   <li>
      Possible values:
      <ul>
         <li><js>"SPACED_HEX"</js>
         <li><js>"HEX"</js> (default)
         <li><js>"BASE64"</js>
      </ul>
   <li>
      Supports <a class='doclink' href='../../../../../overview-summary.html#juneau-marshall.SimpleVariableLanguage.DefaultVarResolver'>Overview &gt; juneau-marshall &gt; Simple Variable Language &gt; VarResolver.DEFAULT</a> (e.g. <js>"$C{myConfigVar}"</js>).
 </ul>

 <ul class='seealso'>
   <li class='jf'><a href="../../../../../org/apache/juneau/parser/InputStreamParser.html#ISPARSER_binaryFormat"><code>InputStreamParser.ISPARSER_binaryFormat</code></a>
 </ul></div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="autoCloseStreams--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>autoCloseStreams</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#line.104">autoCloseStreams</a></pre>
<div class="block">Configuration property:  Auto-close streams.

 <p>
 If <js>"true"</js>, <l>InputStreams</l> and <l>Readers</l> passed into parsers will be closed
 after parsing is complete.

 <ul class='notes'>
   <li>
      Possible values:
      <ul>
         <li><js>"true"</js>
         <li><js>"false"</js> (default)
      </ul>
   <li>
      Supports <a class='doclink' href='../../../../../overview-summary.html#juneau-marshall.SimpleVariableLanguage.DefaultVarResolver'>Overview &gt; juneau-marshall &gt; Simple Variable Language &gt; VarResolver.DEFAULT</a> (e.g. <js>"$C{myConfigVar}"</js>).
 </ul>

 <ul class='seealso'>
   <li class='jf'><a href="../../../../../org/apache/juneau/parser/Parser.html#PARSER_autoCloseStreams"><code>Parser.PARSER_autoCloseStreams</code></a>
 </ul></div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="debugOutputLines--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>debugOutputLines</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#line.126">debugOutputLines</a></pre>
<div class="block">Configuration property:  Debug output lines.

 <p>
 When parse errors occur, this specifies the number of lines of input before and after the
 error location to be printed as part of the exception message.

 <ul class='notes'>
   <li>
      Format: integer
   <li>
      Default: 5
   <li>
      Supports <a class='doclink' href='../../../../../overview-summary.html#juneau-marshall.SimpleVariableLanguage.DefaultVarResolver'>Overview &gt; juneau-marshall &gt; Simple Variable Language &gt; VarResolver.DEFAULT</a> (e.g. <js>"$C{myConfigVar}"</js>).
 </ul>

 <ul class='seealso'>
   <li class='jf'><a href="../../../../../org/apache/juneau/parser/Parser.html#PARSER_debugOutputLines"><code>Parser.PARSER_debugOutputLines</code></a>
 </ul></div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="listener--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listener</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/parser/ParserListener.html" title="class in org.apache.juneau.parser">ParserListener</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/juneau/parser/annotation/ParserConfig.html#line.138">listener</a></pre>
<div class="block">Configuration property:  Parser listener.

 <p>
 Class used to listen for errors and warnings that occur during parsing.

 <ul class='seealso'>
   <li class='jf'><a href="../../../../../org/apache/juneau/parser/Parser.html#PARSER_listener"><code>Parser.PARSER_listener</code></a>
 </ul></div>
<dl>
<dt>Default:</dt>
<dd>org.apache.juneau.parser.ParserListener.Null.class</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="strict--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>strict</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#line.189">strict</a></pre>
<div class="block">Configuration property:  Strict mode.

 <p>
 If <js>"true"</js>, strict mode for the parser is enabled.

 <p>
 Strict mode can mean different things for different parsers.

 <table class='styled'>
   <tr><th>Parser class</th><th>Strict behavior</th></tr>
   <tr>
      <td>All reader-based parsers</td>
      <td>
         When enabled, throws <a href="../../../../../org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser"><code>ParseExceptions</code></a> on malformed charset input.
         Otherwise, malformed input is ignored.
      </td>
   </tr>
   <tr>
      <td><a href="../../../../../org/apache/juneau/json/JsonParser.html" title="class in org.apache.juneau.json"><code>JsonParser</code></a></td>
      <td>
         When enabled, throws exceptions on the following invalid JSON syntax:
         <ul>
            <li>Unquoted attributes.
            <li>Missing attribute values.
            <li>Concatenated strings.
            <li>Javascript comments.
            <li>Numbers and booleans when Strings are expected.
            <li>Numbers valid in Java but not JSON (e.g. octal notation, etc...)
         </ul>
      </td>
   </tr>
 </table>

 <ul class='notes'>
   <li>
      Possible values:
      <ul>
         <li><js>"true"</js>
         <li><js>"false"</js> (default)
      </ul>
   <li>
      Supports <a class='doclink' href='../../../../../overview-summary.html#juneau-marshall.SimpleVariableLanguage.DefaultVarResolver'>Overview &gt; juneau-marshall &gt; Simple Variable Language &gt; VarResolver.DEFAULT</a> (e.g. <js>"$C{myConfigVar}"</js>).
 </ul>

 <ul class='seealso'>
   <li class='jf'><a href="../../../../../org/apache/juneau/parser/Parser.html#PARSER_strict"><code>Parser.PARSER_strict</code></a>
 </ul></div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="trimStrings--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimStrings</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#line.213">trimStrings</a></pre>
<div class="block">Configuration property:  Trim parsed strings.

 <p>
 If <js>"true"</js>, string values will be trimmed of whitespace using <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true#trim--" title="class or interface in java.lang"><code>String.trim()</code></a> before being added to
 the POJO.

 <ul class='notes'>
   <li>
      Possible values:
      <ul>
         <li><js>"true"</js>
         <li><js>"false"</js> (default)
      </ul>
   <li>
      Supports <a class='doclink' href='../../../../../overview-summary.html#juneau-marshall.SimpleVariableLanguage.DefaultVarResolver'>Overview &gt; juneau-marshall &gt; Simple Variable Language &gt; VarResolver.DEFAULT</a> (e.g. <js>"$C{myConfigVar}"</js>).
 </ul>

 <ul class='seealso'>
   <li class='jf'><a href="../../../../../org/apache/juneau/parser/Parser.html#PARSER_trimStrings"><code>Parser.PARSER_trimStrings</code></a>
 </ul></div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="unbuffered--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unbuffered</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#line.253">unbuffered</a></pre>
<div class="block">Configuration property:  Unbuffered.

 <p>
 If <js>"true"</js>, don't use internal buffering during parsing.

 <p>
 This is useful in cases when you want to parse the same input stream or reader multiple times
 because it may contain multiple independent POJOs to parse.
 <br>Buffering would cause the parser to read past the current POJO in the stream.

 <ul class='notes'>
   <li>
      This only allows for multi-input streams for the following parsers:
      <ul>
         <li class='jc'><a href="../../../../../org/apache/juneau/json/JsonParser.html" title="class in org.apache.juneau.json"><code>JsonParser</code></a>
         <li class='jc'><a href="../../../../../org/apache/juneau/uon/UonParser.html" title="class in org.apache.juneau.uon"><code>UonParser</code></a>
      </ul>
      It has no effect on the following parsers:
      <ul>
         <li class='jc'><a href="../../../../../org/apache/juneau/msgpack/MsgPackParser.html" title="class in org.apache.juneau.msgpack"><code>MsgPackParser</code></a> - It already doesn't use buffering.
         <li class='jc'><a href="../../../../../org/apache/juneau/xml/XmlParser.html" title="class in org.apache.juneau.xml"><code>XmlParser</code></a>, <a href="../../../../../org/apache/juneau/html/HtmlParser.html" title="class in org.apache.juneau.html"><code>HtmlParser</code></a> - These use StAX which doesn't allow for more than one root element anyway.
         <li>RDF parsers - These read everything into an internal model before any parsing begins.
      </ul>
   <li>
      Possible values:
      <ul>
         <li><js>"true"</js>
         <li><js>"false"</js> (default)
      </ul>
   <li>
      Supports <a class='doclink' href='../../../../../overview-summary.html#juneau-marshall.SimpleVariableLanguage.DefaultVarResolver'>Overview &gt; juneau-marshall &gt; Simple Variable Language &gt; VarResolver.DEFAULT</a> (e.g. <js>"$C{myConfigVar}"</js>).
 </ul>

 <ul class='seealso'>
   <li class='jf'><a href="../../../../../org/apache/juneau/parser/Parser.html#PARSER_unbuffered"><code>Parser.PARSER_unbuffered</code></a>
 </ul></div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fileCharset--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fileCharset</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#line.279">fileCharset</a></pre>
<div class="block">Configuration property:  File charset.

 <p>
 The character set to use for reading <c>Files</c> from the file system.

 <p>
 Used when passing in files to <a href="../../../../../org/apache/juneau/parser/Parser.html#parse-java.lang.Object-java.lang.Class-"><code>Parser.parse(Object, Class)</code></a>.

 <ul class='notes'>
   <li>
      <js>"DEFAULT"</js> can be used to indicate the JVM default file system charset.
   <li>
      Supports <a class='doclink' href='../../../../../overview-summary.html#juneau-marshall.SimpleVariableLanguage.DefaultVarResolver'>Overview &gt; juneau-marshall &gt; Simple Variable Language &gt; VarResolver.DEFAULT</a> (e.g. <js>"$C{myConfigVar}"</js>).
 </ul>

 <ul class='seealso'>
   <li class='jf'><a href="../../../../../org/apache/juneau/parser/ReaderParser.html#RPARSER_fileCharset"><code>ReaderParser.RPARSER_fileCharset</code></a>
 </ul></div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="streamCharset--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>streamCharset</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/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/annotation/ParserConfig.html#line.301">streamCharset</a></pre>
<div class="block">Configuration property:  Input stream charset.

 <p>
 The character set to use for converting <c>InputStreams</c> and byte arrays to readers.

 <p>
 Used when passing in input streams and byte arrays to <a href="../../../../../org/apache/juneau/parser/Parser.html#parse-java.lang.Object-java.lang.Class-"><code>Parser.parse(Object, Class)</code></a>.

 <ul class='notes'>
   <li>
      <js>"DEFAULT"</js> can be used to indicate the JVM default file system charset.
   <li>
      Supports <a class='doclink' href='../../../../../overview-summary.html#juneau-marshall.SimpleVariableLanguage.DefaultVarResolver'>Overview &gt; juneau-marshall &gt; Simple Variable Language &gt; VarResolver.DEFAULT</a> (e.g. <js>"$C{myConfigVar}"</js>).
 </ul>

 <ul class='seealso'>
   <li class='jf'><a href="../../../../../org/apache/juneau/parser/ReaderParser.html#RPARSER_streamCharset"><code>ReaderParser.RPARSER_streamCharset</code></a>
 </ul></div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/juneau/parser/annotation/ParserConfigApply.html" title="class in org.apache.juneau.parser.annotation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/juneau/parser/annotation/ParserConfig.html" target="_top">Frames</a></li>
<li><a href="ParserConfig.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
