<!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 -->
<title>Index (Apache Daffodil 3.1.0 Java API)</title>
<link rel="stylesheet" type="text/css" href="stylesheet.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="Index (Apache Daffodil 3.1.0 Java API)";
        }
    }
    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>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.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>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a name="I:B">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataLocation.html#bitPos1b--">bitPos1b()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataLocation.html" title="class in org.apache.daffodil.japi">DataLocation</a></dt>
<dd>
<div class="block">Get the position of the data, in bits, using 1-based indexing</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataLocation.html#bytePos1b--">bytePos1b()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataLocation.html" title="class in org.apache.daffodil.japi">DataLocation</a></dt>
<dd>
<div class="block">Get the position of the data, in bytes, using 1-based indexing</div>
</dd>
</dl>
<a name="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/WithDiagnostics.html#canProceed--">canProceed()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/WithDiagnostics.html" title="class in org.apache.daffodil.japi">WithDiagnostics</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use !isError() to determine if it is safe to proceed. Since 2.0.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html#characters-char:A-int-int-">characters(char[], int, int)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi">DaffodilUnparseContentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#compileFile-java.io.File-">compileFile(File)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block">Compile DFDL schema file into a <a href="org/apache/daffodil/japi/ProcessorFactory.html" title="class in org.apache.daffodil.japi"><code>ProcessorFactory</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#compileFile-java.io.File-java.lang.String-java.lang.String-">compileFile(File, String, String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block">Compile DFDL schema file into a <a href="org/apache/daffodil/japi/ProcessorFactory.html" title="class in org.apache.daffodil.japi"><code>ProcessorFactory</code></a></div>
</dd>
<dt><a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">Compiler</span></a> - Class in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">Compile DFDL schemas into <a href="org/apache/daffodil/japi/ProcessorFactory.html" title="class in org.apache.daffodil.japi"><code>ProcessorFactory</code></a>'s or reload saved parsers into <a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a>'s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#Compiler-org.apache.daffodil.compiler.Compiler-">Compiler(Compiler)</a></span> - Constructor for class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Daffodil.html#compiler--">compiler()</a></span> - Static method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Daffodil.html" title="class in org.apache.daffodil.japi">Daffodil</a></dt>
<dd>
<div class="block">Create a new object used to compiled DFDL schemas</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#compileSource-java.net.URI-">compileSource(URI)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block">Compile DFDL schema source into a <a href="org/apache/daffodil/japi/ProcessorFactory.html" title="class in org.apache.daffodil.japi"><code>ProcessorFactory</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#compileSource-java.net.URI-java.lang.String-java.lang.String-">compileSource(URI, String, String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block">Compile DFDL schema source into a <a href="org/apache/daffodil/japi/ProcessorFactory.html" title="class in org.apache.daffodil.japi"><code>ProcessorFactory</code></a></div>
</dd>
<dt><a href="org/apache/daffodil/japi/logger/ConsoleLogWriter.html" title="class in org.apache.daffodil.japi.logger"><span class="typeNameLink">ConsoleLogWriter</span></a> - Class in <a href="org/apache/daffodil/japi/logger/package-summary.html">org.apache.daffodil.japi.logger</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger"><code>LogWriter</code></a> that writes log messages to stdout</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/ConsoleLogWriter.html#ConsoleLogWriter--">ConsoleLogWriter()</a></span> - Constructor for class org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/ConsoleLogWriter.html" title="class in org.apache.daffodil.japi.logger">ConsoleLogWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/udf/UserDefinedFunctionProvider.html#createUserDefinedFunction-java.lang.String-java.lang.String-">createUserDefinedFunction(String, String)</a></span> - Method in class org.apache.daffodil.udf.<a href="org/apache/daffodil/udf/UserDefinedFunctionProvider.html" title="class in org.apache.daffodil.udf">UserDefinedFunctionProvider</a></dt>
<dd>
<div class="block">Finds and initializes User Defined Function class based on namespace and name
 provided.</div>
</dd>
</dl>
<a name="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><a href="org/apache/daffodil/japi/Daffodil.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">Daffodil</span></a> - Class in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">API Suitable for Java programmers to use.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Daffodil.html#Daffodil--">Daffodil()</a></span> - Constructor for class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Daffodil.html" title="class in org.apache.daffodil.japi">Daffodil</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#DAFFODIL_SAX_URN_BLOBDIRECTORY--">DAFFODIL_SAX_URN_BLOBDIRECTORY()</a></span> - Static method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Property name to get/set blob directory as String from the <a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi"><code>DaffodilParseXMLReader</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#DAFFODIL_SAX_URN_BLOBPREFIX--">DAFFODIL_SAX_URN_BLOBPREFIX()</a></span> - Static method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Property name to get/set blob prefix as String from the <a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi"><code>DaffodilParseXMLReader</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#DAFFODIL_SAX_URN_BLOBSUFFIX--">DAFFODIL_SAX_URN_BLOBSUFFIX()</a></span> - Static method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Property name to get/set blob suffix as String from the <a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi"><code>DaffodilParseXMLReader</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#DAFFODIL_SAX_URN_PARSERESULT--">DAFFODIL_SAX_URN_PARSERESULT()</a></span> - Static method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Property name to get the <a href="org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi"><code>ParseResult</code></a> from the <a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi"><code>DaffodilParseXMLReader</code></a>.</div>
</dd>
<dt><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">DaffodilParseXMLReader</span></a> - Class in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">SAX method of parsing schema and getting the DFDL Infoset via some
 org.xml.sax.ContentHandler, based on the org.xml.sax.XMLReader interface</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#DaffodilParseXMLReader-org.apache.daffodil.processors.DaffodilParseXMLReader-">DaffodilParseXMLReader(DaffodilParseXMLReader)</a></span> - Constructor for class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/DaffodilUnhandledSAXException.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">DaffodilUnhandledSAXException</span></a> - Exception in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">This exception will be thrown when an unexpected error occurs during the SAX unparse</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnhandledSAXException.html#DaffodilUnhandledSAXException-org.apache.daffodil.api.DFDL.DaffodilUnhandledSAXException-">DaffodilUnhandledSAXException(DFDL.DaffodilUnhandledSAXException)</a></span> - Constructor for exception org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnhandledSAXException.html" title="class in org.apache.daffodil.japi">DaffodilUnhandledSAXException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">DaffodilUnparseContentHandler</span></a> - Class in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">Accepts SAX callback events from any SAX XMLReader for unparsing</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html#DaffodilUnparseContentHandler-org.apache.daffodil.processors.DaffodilUnparseContentHandler-">DaffodilUnparseContentHandler(DaffodilUnparseContentHandler)</a></span> - Constructor for class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi">DaffodilUnparseContentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/DaffodilUnparseErrorSAXException.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">DaffodilUnparseErrorSAXException</span></a> - Exception in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">This exception will be thrown when unparseResult.isError returns true during a SAX Unparse</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnparseErrorSAXException.html#DaffodilUnparseErrorSAXException-org.apache.daffodil.api.DFDL.DaffodilUnparseErrorSAXException-">DaffodilUnparseErrorSAXException(DFDL.DaffodilUnparseErrorSAXException)</a></span> - Constructor for exception org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnparseErrorSAXException.html" title="class in org.apache.daffodil.japi">DaffodilUnparseErrorSAXException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/DataLocation.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">DataLocation</span></a> - Class in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">Information related to a location in data</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataLocation.html#DataLocation-org.apache.daffodil.api.DataLocation-">DataLocation(DataLocation)</a></span> - Constructor for class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataLocation.html" title="class in org.apache.daffodil.japi">DataLocation</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">DataProcessor</span></a> - Class in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">Compiled version of a DFDL Schema, used to parse data and get the DFDL infoset</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#DataProcessor-org.apache.daffodil.processors.DataProcessor-">DataProcessor(DataProcessor)</a></span> - Constructor for class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger"><span class="typeNameLink">DebuggerRunner</span></a> - Class in <a href="org/apache/daffodil/japi/debugger/package-summary.html">org.apache.daffodil.japi.debugger</a></dt>
<dd>
<div class="block">Abstract debugger runner, which can be implemented to create a custom debugger runner</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/debugger/DebuggerRunner.html#DebuggerRunner--">DebuggerRunner()</a></span> - Constructor for class org.apache.daffodil.japi.debugger.<a href="org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">DebuggerRunner</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/Diagnostic.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">Diagnostic</span></a> - Class in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">Class containing diagnostic information</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Diagnostic.html#Diagnostic-org.apache.daffodil.api.Diagnostic-">Diagnostic(Diagnostic)</a></span> - Constructor for class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Diagnostic.html" title="class in org.apache.daffodil.japi">Diagnostic</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html#dis--">dis()</a></span> - Method in class org.apache.daffodil.japi.io.<a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:E">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html#endArray-org.apache.daffodil.infoset.DIArray-">endArray(DIArray)</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></dt>
<dd>
<div class="block">Called by Daffodil internals to signify the end of an array of elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#endArray-org.apache.daffodil.infoset.DIArray-">endArray(DIArray)</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html#endComplex-org.apache.daffodil.infoset.DIComplex-">endComplex(DIComplex)</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></dt>
<dd>
<div class="block">Called by Daffodil internals to signify the end of a complex element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#endComplex-org.apache.daffodil.infoset.DIComplex-">endComplex(DIComplex)</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html#endDocument--">endDocument()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi">DaffodilUnparseContentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html#endDocument--">endDocument()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></dt>
<dd>
<div class="block">Called by Daffodil internals to signify the end of the infoset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#endDocument--">endDocument()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html#endElement-java.lang.String-java.lang.String-java.lang.String-">endElement(String, String, String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi">DaffodilUnparseContentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html#endPrefixMapping-java.lang.String-">endPrefixMapping(String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi">DaffodilUnparseContentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html#endSimple-org.apache.daffodil.infoset.DISimple-">endSimple(DISimple)</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></dt>
<dd>
<div class="block">Called by Daffodil internals to signify the end of a simple element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#endSimple-org.apache.daffodil.infoset.DISimple-">endSimple(DISimple)</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ProcessorFactory.html#experimental--">experimental()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ProcessorFactory.html" title="class in org.apache.daffodil.japi">ProcessorFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ProcessorFactory.ExperimentalWrapper.html#ExperimentalWrapper-org.apache.daffodil.dsom.walker.RootView-">ExperimentalWrapper(RootView)</a></span> - Constructor for class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ProcessorFactory.ExperimentalWrapper.html" title="class in org.apache.daffodil.japi">ProcessorFactory.ExperimentalWrapper</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:F">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><a href="org/apache/daffodil/japi/logger/FileLogWriter.html" title="class in org.apache.daffodil.japi.logger"><span class="typeNameLink">FileLogWriter</span></a> - Class in <a href="org/apache/daffodil/japi/logger/package-summary.html">org.apache.daffodil.japi.logger</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger"><code>LogWriter</code></a> that writes all log messages to a file.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/FileLogWriter.html#FileLogWriter-java.io.File-">FileLogWriter(File)</a></span> - Constructor for class org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/FileLogWriter.html" title="class in org.apache.daffodil.japi.logger">FileLogWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/debugger/DebuggerRunner.html#fini--">fini()</a></span> - Method in class org.apache.daffodil.japi.debugger.<a href="org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">DebuggerRunner</a></dt>
<dd>
<div class="block">Called once upon completion of a parse, allowing one to perform any
 steps necessary to clean up the debugger runner.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html#fini--">fini()</a></span> - Method in class org.apache.daffodil.japi.debugger.<a href="org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">TraceDebuggerRunner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html#fini--">fini()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputterProxy</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/debugger/DebuggerRunner.html#getCommand--">getCommand()</a></span> - Method in class org.apache.daffodil.japi.debugger.<a href="org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">DebuggerRunner</a></dt>
<dd>
<div class="block">Called by Daffodil when there is a pause in parsing to determine what
 debugger actions should be taken.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html#getCommand--">getCommand()</a></span> - Method in class org.apache.daffodil.japi.debugger.<a href="org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">TraceDebuggerRunner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#getContentHandler--">getContentHandler()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Retrieve registered content handler</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Diagnostic.html#getDataLocations--">getDataLocations()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Diagnostic.html" title="class in org.apache.daffodil.japi">Diagnostic</a></dt>
<dd>
<div class="block">Get data location information relevant to this diagnostic object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/WithDiagnostics.html#getDiagnostics--">getDiagnostics()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/WithDiagnostics.html" title="class in org.apache.daffodil.japi">WithDiagnostics</a></dt>
<dd>
<div class="block">Get the list of <a href="org/apache/daffodil/japi/Diagnostic.html" title="class in org.apache.daffodil.japi"><code>Diagnostic</code></a>'s created during the construction of the parent object</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#getDTDHandler--">getDTDHandler()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Retrieve registered DTD Handler</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#getEntityResolver--">getEntityResolver()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Return the registered entity resolver</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#getErrorHandler--">getErrorHandler()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Retrieve registered error handler</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputter.html#getEventType--">getEventType()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputter</a></dt>
<dd>
<div class="block">Return the current infoset inputter event type</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html#getEventType--">getEventType()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#getFeature-java.lang.String-">getFeature(String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Get the value of the feature flag</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/FileLogWriter.html#getFile--">getFile()</a></span> - Method in class org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/FileLogWriter.html" title="class in org.apache.daffodil.japi.logger">FileLogWriter</a></dt>
<dd>
<div class="block">Retrieve the file the log writer writes to</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputter.html#getLocalName--">getLocalName()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputter</a></dt>
<dd>
<div class="block">Get the local name of the current event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html#getLocalName--">getLocalName()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Diagnostic.html#getLocationsInSchemaFiles--">getLocationsInSchemaFiles()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Diagnostic.html" title="class in org.apache.daffodil.japi">Diagnostic</a></dt>
<dd>
<div class="block">Get schema location information relevant to this diagnostic object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Diagnostic.html#getMessage--">getMessage()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Diagnostic.html" title="class in org.apache.daffodil.japi">Diagnostic</a></dt>
<dd>
<div class="block">Get the diagnostic message</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputter.html#getNamespaceURI--">getNamespaceURI()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputter</a></dt>
<dd>
<div class="block">Get the namespace of the current event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html#getNamespaceURI--">getNamespaceURI()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#getProperty-java.lang.String-">getProperty(String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Get the value of the property</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/JDOMInfosetOutputter.html#getResult--">getResult()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/JDOMInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">JDOMInfosetOutputter</a></dt>
<dd>
<div class="block">Get the jdom Document representing the infoset created during a parse</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/ScalaXMLInfosetOutputter.html#getResult--">getResult()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/ScalaXMLInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">ScalaXMLInfosetOutputter</a></dt>
<dd>
<div class="block">Get the scala.xml.Node representing the infoset created during a parse</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/W3CDOMInfosetOutputter.html#getResult--">getResult()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/W3CDOMInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">W3CDOMInfosetOutputter</a></dt>
<dd>
<div class="block">Get the w3c Document representing the infoset created during a parse</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputter.html#getSimpleText-org.apache.daffodil.dpath.NodeInfo.Kind-">getSimpleText(NodeInfo.Kind)</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputter</a></dt>
<dd>
<div class="block">Get the content of a simple type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html#getSimpleText-org.apache.daffodil.dpath.NodeInfo.Kind-">getSimpleText(NodeInfo.Kind)</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Diagnostic.html#getSomeCause--">getSomeCause()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Diagnostic.html" title="class in org.apache.daffodil.japi">Diagnostic</a></dt>
<dd>
<div class="block">Get the cause of that cause this diagnostic</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Diagnostic.html#getSomeMessage--">getSomeMessage()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Diagnostic.html" title="class in org.apache.daffodil.japi">Diagnostic</a></dt>
<dd>
<div class="block">Get the message that caused this diagnostic</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html#getUnparseResult--">getUnparseResult()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi">DaffodilUnparseContentHandler</a></dt>
<dd>
<div class="block">Returns the result of the SAX unparse containing diagnostic information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/udf/UserDefinedFunctionProvider.html#getUserDefinedFunctionClasses--">getUserDefinedFunctionClasses()</a></span> - Method in class org.apache.daffodil.udf.<a href="org/apache/daffodil/udf/UserDefinedFunctionProvider.html" title="class in org.apache.daffodil.udf">UserDefinedFunctionProvider</a></dt>
<dd>
<div class="block">Must be implemented to return the classes of the User Defined Function this
 provider is aware of/providing</div>
</dd>
</dl>
<a name="I:H">
<!--   -->
</a>
<h2 class="title">H</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html#hasData--">hasData()</a></span> - Method in class org.apache.daffodil.japi.io.<a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a></dt>
<dd>
<div class="block">Returns true if the input stream has at least 1 bit of data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputter.html#hasNext--">hasNext()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputter</a></dt>
<dd>
<div class="block">Return true if there are remaining events.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html#hasNext--">hasNext()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputterProxy</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/LogLevel.html#id">id</a></span> - Variable in enum org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/LogLevel.html" title="enum in org.apache.daffodil.japi.logger">LogLevel</a></dt>
<dd>
<div class="block">Numeric ID of the log level</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ValidationMode.html#id">id</a></span> - Variable in enum org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ValidationMode.html" title="enum in org.apache.daffodil.japi">ValidationMode</a></dt>
<dd>
<div class="block">Numeric ID of the validation mode</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html#ignorableWhitespace-char:A-int-int-">ignorableWhitespace(char[], int, int)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi">DaffodilUnparseContentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">InfosetInputter</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block">Abstract class used to determine how the infoset representation should be
 input from a call to DataProcessor#unparse.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputter.html#InfosetInputter--">InfosetInputter()</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html#infosetInputter--">infosetInputter()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputterProxy</a></dt>
<dd>
<div class="block">The InfosetInputter to proxy infoset events to</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/JDOMInfosetInputter.html#infosetInputter--">infosetInputter()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/JDOMInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">JDOMInfosetInputter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/JsonInfosetInputter.html#infosetInputter--">infosetInputter()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/JsonInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">JsonInfosetInputter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/ScalaXMLInfosetInputter.html#infosetInputter--">infosetInputter()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/ScalaXMLInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">ScalaXMLInfosetInputter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/W3CDOMInfosetInputter.html#infosetInputter--">infosetInputter()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/W3CDOMInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">W3CDOMInfosetInputter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/XMLTextInfosetInputter.html#infosetInputter--">infosetInputter()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/XMLTextInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">XMLTextInfosetInputter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">InfosetInputterProxy</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block">A proxy for InfosetInputters that are internal to Daffodil</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html#InfosetInputterProxy--">InfosetInputterProxy()</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">InfosetOutputter</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block">Abstract class used to determine how the infoset representation should be
 output from a call to DataProcessor#parse.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html#InfosetOutputter--">InfosetOutputter()</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#infosetOutputter--">infosetOutputter()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></dt>
<dd>
<div class="block">The InfosetOutputter to proxy infoset events to</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/JDOMInfosetOutputter.html#infosetOutputter--">infosetOutputter()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/JDOMInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">JDOMInfosetOutputter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/JsonInfosetOutputter.html#infosetOutputter--">infosetOutputter()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/JsonInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">JsonInfosetOutputter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/NullInfosetOutputter.html#infosetOutputter--">infosetOutputter()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/NullInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">NullInfosetOutputter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/ScalaXMLInfosetOutputter.html#infosetOutputter--">infosetOutputter()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/ScalaXMLInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">ScalaXMLInfosetOutputter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/W3CDOMInfosetOutputter.html#infosetOutputter--">infosetOutputter()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/W3CDOMInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">W3CDOMInfosetOutputter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/XMLTextInfosetOutputter.html#infosetOutputter--">infosetOutputter()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/XMLTextInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">XMLTextInfosetOutputter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">InfosetOutputterProxy</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block">A proxy for InfosetOutputters that are internal to Daffodil</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#InfosetOutputterProxy--">InfosetOutputterProxy()</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/debugger/DebuggerRunner.html#init--">init()</a></span> - Method in class org.apache.daffodil.japi.debugger.<a href="org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">DebuggerRunner</a></dt>
<dd>
<div class="block">Called once at the beginning of a parse, allowing one to perform any
 initialization steps that may be necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html#init--">init()</a></span> - Method in class org.apache.daffodil.japi.debugger.<a href="org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">TraceDebuggerRunner</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io"><span class="typeNameLink">InputSourceDataInputStream</span></a> - Class in <a href="org/apache/daffodil/japi/io/package-summary.html">org.apache.daffodil.japi.io</a></dt>
<dd>
<div class="block">Provides Daffodil with byte data from an InputStream, ByteBuffer, or byte
 Array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html#InputSourceDataInputStream-org.apache.daffodil.io.InputSourceDataInputStream-">InputSourceDataInputStream(InputSourceDataInputStream)</a></span> - Constructor for class org.apache.daffodil.japi.io.<a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html#InputSourceDataInputStream-java.io.InputStream-">InputSourceDataInputStream(InputStream)</a></span> - Constructor for class org.apache.daffodil.japi.io.<a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a></dt>
<dd>
<div class="block">Create an InputSourceDataInputStream from a java.io.InputStream</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html#InputSourceDataInputStream-java.nio.ByteBuffer-">InputSourceDataInputStream(ByteBuffer)</a></span> - Constructor for class org.apache.daffodil.japi.io.<a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a></dt>
<dd>
<div class="block">Create an InputSourceDataInputStream from a java.nio.ByteBuffer</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html#InputSourceDataInputStream-byte:A-">InputSourceDataInputStream(byte[])</a></span> - Constructor for class org.apache.daffodil.japi.io.<a href="org/apache/daffodil/japi/io/InputSourceDataInputStream.html" title="class in org.apache.daffodil.japi.io">InputSourceDataInputStream</a></dt>
<dd>
<div class="block">Create an InputSourceDataInputStream from a byte array</div>
</dd>
<dt><a href="org/apache/daffodil/japi/InvalidParserException.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">InvalidParserException</span></a> - Exception in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">This exception will be thrown as a result of attempting to reload a saved parser
 that is invalid (not a parser file, corrupt, etc.) or
 is not in the GZIP format.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/InvalidParserException.html#InvalidParserException-org.apache.daffodil.compiler.InvalidParserException-">InvalidParserException(InvalidParserException)</a></span> - Constructor for exception org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/InvalidParserException.html" title="class in org.apache.daffodil.japi">InvalidParserException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/InvalidUsageException.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">InvalidUsageException</span></a> - Exception in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">This exception will be thrown as a result of an invalid usage of the Daffodil API</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/InvalidUsageException.html#InvalidUsageException-org.apache.daffodil.processors.InvalidUsageException-">InvalidUsageException(InvalidUsageException)</a></span> - Constructor for exception org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/InvalidUsageException.html" title="class in org.apache.daffodil.japi">InvalidUsageException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataLocation.html#isAtEnd--">isAtEnd()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataLocation.html" title="class in org.apache.daffodil.japi">DataLocation</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use comparison of bitPos1b() with expected position instead. Since 3.1.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Diagnostic.html#isError--">isError()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Diagnostic.html" title="class in org.apache.daffodil.japi">Diagnostic</a></dt>
<dd>
<div class="block">Determine if a diagnostic object represents an error or something less serious.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/WithDiagnostics.html#isError--">isError()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/WithDiagnostics.html" title="class in org.apache.daffodil.japi">WithDiagnostics</a></dt>
<dd>
<div class="block">Determine if any errors occurred in the creation of the parent object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputter.html#isNilled--">isNilled()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputter</a></dt>
<dd>
<div class="block">Determine if the current event is nilled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html#isNilled--">isNilled()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ParseResult.html#isProcessingError--">isProcessingError()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a></dt>
<dd>
<div class="block">Determine if any processing errors occurred.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ParseResult.html#isValidationError--">isValidationError()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a></dt>
<dd>
<div class="block">Determine if all validation checks passed based on the validation mode of
 the DataProcessor.</div>
</dd>
</dl>
<a name="I:J">
<!--   -->
</a>
<h2 class="title">J</h2>
<dl>
<dt><a href="org/apache/daffodil/japi/infoset/JDOMInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">JDOMInfosetInputter</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetInputter</code></a> to read an infoset represented as an org.jdom2.Document</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/JDOMInfosetInputter.html#JDOMInfosetInputter-org.jdom2.Document-">JDOMInfosetInputter(Document)</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/JDOMInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">JDOMInfosetInputter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/infoset/JDOMInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">JDOMInfosetOutputter</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetOutputter</code></a> to build an infoset represented as an org.jdom2.Document</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/JDOMInfosetOutputter.html#JDOMInfosetOutputter--">JDOMInfosetOutputter()</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/JDOMInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">JDOMInfosetOutputter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/infoset/JsonInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">JsonInfosetInputter</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetInputter</code></a> to read an infoset represented as JSON from a java.io.InputStream</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/JsonInfosetInputter.html#JsonInfosetInputter-java.io.Reader-">JsonInfosetInputter(Reader)</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/JsonInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">JsonInfosetInputter</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This constructor is deprecated. Use JsonInfosetInputter(java.io.InputStream) instead. Since 2.4.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/JsonInfosetInputter.html#JsonInfosetInputter-java.io.InputStream-">JsonInfosetInputter(InputStream)</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/JsonInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">JsonInfosetInputter</a></dt>
<dd>
<div class="block">Read in an infoset in the form of json text from a java.io.InputStream</div>
</dd>
<dt><a href="org/apache/daffodil/japi/infoset/JsonInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">JsonInfosetOutputter</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetOutputter</code></a> to build an infoset represented as JSON written to a java.io.OutputStream</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/JsonInfosetOutputter.html#JsonInfosetOutputter-java.io.Writer-boolean-">JsonInfosetOutputter(Writer, boolean)</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/JsonInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">JsonInfosetOutputter</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This constructor is deprecated. Use JsonInfosetOutputter(java.io.OutputStream, Boolean) instead. Since 2.4.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/JsonInfosetOutputter.html#JsonInfosetOutputter-java.io.Writer-">JsonInfosetOutputter(Writer)</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/JsonInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">JsonInfosetOutputter</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This constructor is deprecated. Use JsonInfosetOutputter(java.io.OutputStream, Boolean) instead. Since 2.4.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/JsonInfosetOutputter.html#JsonInfosetOutputter-java.io.OutputStream-boolean-">JsonInfosetOutputter(OutputStream, boolean)</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/JsonInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">JsonInfosetOutputter</a></dt>
<dd>
<div class="block">Output the infoset as json text, written to a java.io.OutputStream</div>
</dd>
</dl>
<a name="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/debugger/DebuggerRunner.html#lineOutput-java.lang.String-">lineOutput(String)</a></span> - Method in class org.apache.daffodil.japi.debugger.<a href="org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">DebuggerRunner</a></dt>
<dd>
<div class="block">Called by Daffodil when a debugger command has produce output.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html#lineOutput-java.lang.String-">lineOutput(String)</a></span> - Method in class org.apache.daffodil.japi.debugger.<a href="org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">TraceDebuggerRunner</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ParseResult.html#location--">location()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a></dt>
<dd>
<div class="block">Get the <a href="org/apache/daffodil/japi/DataLocation.html" title="class in org.apache.daffodil.japi"><code>DataLocation</code></a> where the parse completed</div>
</dd>
<dt><a href="org/apache/daffodil/japi/LocationInSchemaFile.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">LocationInSchemaFile</span></a> - Class in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">Information related to locations in DFDL schema files</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/LocationInSchemaFile.html#LocationInSchemaFile-org.apache.daffodil.api.LocationInSchemaFile-">LocationInSchemaFile(LocationInSchemaFile)</a></span> - Constructor for class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/LocationInSchemaFile.html" title="class in org.apache.daffodil.japi">LocationInSchemaFile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/LogWriter.html#log-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-java.util.List-">log(LogLevel, String, String, List&lt;Object&gt;)</a></span> - Method in class org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger">LogWriter</a></dt>
<dd>
<div class="block">Generates a log message as a string and calls the write method.</div>
</dd>
<dt><a href="org/apache/daffodil/japi/logger/LogLevel.html" title="enum in org.apache.daffodil.japi.logger"><span class="typeNameLink">LogLevel</span></a> - Enum in <a href="org/apache/daffodil/japi/logger/package-summary.html">org.apache.daffodil.japi.logger</a></dt>
<dd>
<div class="block">Logging levels.</div>
</dd>
<dt><a href="org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger"><span class="typeNameLink">LogWriter</span></a> - Class in <a href="org/apache/daffodil/japi/logger/package-summary.html">org.apache.daffodil.japi.logger</a></dt>
<dd>
<div class="block">Abstract log writer, which can be overridden to create a custom log writer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/LogWriter.html#LogWriter--">LogWriter()</a></span> - Constructor for class org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger">LogWriter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:N">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#newContentHandlerInstance-java.nio.channels.WritableByteChannel-">newContentHandlerInstance(WritableByteChannel)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block">Obtain a new <a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi"><code>DaffodilUnparseContentHandler</code></a> from the current <a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#newXMLReaderInstance--">newXMLReaderInstance()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block">Obtain a new <a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi"><code>DaffodilParseXMLReader</code></a> from the current <a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputter.html#next--">next()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputter</a></dt>
<dd>
<div class="block">Move the internal state to the next event.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html#next--">next()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/infoset/NullInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">NullInfosetOutputter</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetOutputter</code></a> that does not build an infoset represention, ignoring
 all <a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetOutputter</code></a> events</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/NullInfosetOutputter.html#NullInfosetOutputter--">NullInfosetOutputter()</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/NullInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">NullInfosetOutputter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/logger/NullLogWriter.html" title="class in org.apache.daffodil.japi.logger"><span class="typeNameLink">NullLogWriter</span></a> - Class in <a href="org/apache/daffodil/japi/logger/package-summary.html">org.apache.daffodil.japi.logger</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger"><code>LogWriter</code></a> that drops all log messages</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/NullLogWriter.html#NullLogWriter--">NullLogWriter()</a></span> - Constructor for class org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/NullLogWriter.html" title="class in org.apache.daffodil.japi.logger">NullLogWriter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ProcessorFactory.html#onPath-java.lang.String-">onPath(String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ProcessorFactory.html" title="class in org.apache.daffodil.japi">ProcessorFactory</a></dt>
<dd>
<div class="block">Create a <a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a></div>
</dd>
<dt><a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a> - package org.apache.daffodil.japi</dt>
<dd>
<div class="block">Provides the classes necessary to compile DFDL schemas, parse and
 unparse files using the compiled objects, and retrieve results and
 parsing diagnostics</div>
</dd>
<dt><a href="org/apache/daffodil/japi/debugger/package-summary.html">org.apache.daffodil.japi.debugger</a> - package org.apache.daffodil.japi.debugger</dt>
<dd>
<div class="block">Provides the classes necessary to perform parse tracing or create a custom debugger</div>
</dd>
<dt><a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a> - package org.apache.daffodil.japi.infoset</dt>
<dd>
<div class="block">Defines various classes used control the representation of the infoset for
 parse and unparse.</div>
</dd>
<dt><a href="org/apache/daffodil/japi/io/package-summary.html">org.apache.daffodil.japi.io</a> - package org.apache.daffodil.japi.io</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/logger/package-summary.html">org.apache.daffodil.japi.logger</a> - package org.apache.daffodil.japi.logger</dt>
<dd>
<div class="block">Provides the classes necessary to receive logging messages from Daffodil.</div>
</dd>
<dt><a href="org/apache/daffodil/udf/package-summary.html">org.apache.daffodil.udf</a> - package org.apache.daffodil.udf</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/udf/exceptions/package-summary.html">org.apache.daffodil.udf.exceptions</a> - package org.apache.daffodil.udf.exceptions</dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:P">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#parse-org.xml.sax.InputSource-">parse(InputSource)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Parse input data from an InputSource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#parse-java.lang.String-">parse(String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Parse data from a system identifier/URI.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#parse-org.apache.daffodil.japi.io.InputSourceDataInputStream-">parse(InputSourceDataInputStream)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Parse input data from an InputSourceDataInputStream.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#parse-java.io.InputStream-">parse(InputStream)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Parse input data from an InputStream.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#parse-byte:A-">parse(byte[])</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Parse input data from an array of bytes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-long-">parse(ReadableByteChannel, long)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-">parse(ReadableByteChannel)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-long-">parse(ReadableByteChannel, InfosetOutputter, long)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-">parse(ReadableByteChannel, InfosetOutputter)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult#result(). Since 2.2.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#parse-org.apache.daffodil.japi.io.InputSourceDataInputStream-org.apache.daffodil.japi.infoset.InfosetOutputter-">parse(InputSourceDataInputStream, InfosetOutputter)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block">Parse input data from an InputSourceDataInputStream and output the infoset to an InfosetOutputter</div>
</dd>
<dt><a href="org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">ParseResult</span></a> - Class in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">Result of calling <a href="org/apache/daffodil/japi/DataProcessor.html#parse-java.nio.channels.ReadableByteChannel-org.apache.daffodil.japi.infoset.InfosetOutputter-long-"><code>DataProcessor.parse(java.nio.channels.ReadableByteChannel, InfosetOutputter, long)</code></a>, containing
 the diagnostic information, and the final data location</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ParseResult.html#ParseResult-org.apache.daffodil.processors.ParseResult-org.apache.daffodil.util.Maybe-">ParseResult(ParseResult, Maybe&lt;JDOMInfosetOutputter&gt;)</a></span> - Constructor for class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/LogWriter.html#prefix-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-">prefix(LogLevel, String)</a></span> - Method in class org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger">LogWriter</a></dt>
<dd>
<div class="block">Override to change the prefix string of the log message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html#processingInstruction-java.lang.String-java.lang.String-">processingInstruction(String, String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi">DaffodilUnparseContentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/ProcessorFactory.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">ProcessorFactory</span></a> - Class in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">Factory to create <a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a>'s, used for parsing data</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ProcessorFactory.html#ProcessorFactory-org.apache.daffodil.compiler.ProcessorFactory-">ProcessorFactory(ProcessorFactory)</a></span> - Constructor for class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ProcessorFactory.html" title="class in org.apache.daffodil.japi">ProcessorFactory</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/ProcessorFactory.ExperimentalWrapper.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">ProcessorFactory.ExperimentalWrapper</span></a> - Class in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">Wrapper class used to mimic a Scala object namespacing experimental APIs</div>
</dd>
</dl>
<a name="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#reload-java.io.File-">reload(File)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block">Reload a saved parser from a file</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#reload-java.nio.channels.ReadableByteChannel-">reload(ReadableByteChannel)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block">Reload a saved parser from a <code>ReadableByteChannel</code></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html#reset--">reset()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></dt>
<dd>
<div class="block">Reset the internal state of this InfosetOutputter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#reset--">reset()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ParseResult.html#result--">result()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ParseResult.html" title="class in org.apache.daffodil.japi">ParseResult</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use parse(ReadableByteChannel, InfosetInputter) to parse the data and get the infoset representation from the InfosetOutputter. Since 2.0.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ProcessorFactory.ExperimentalWrapper.html#rootView--">rootView()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ProcessorFactory.ExperimentalWrapper.html" title="class in org.apache.daffodil.japi">ProcessorFactory.ExperimentalWrapper</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#save-java.nio.channels.WritableByteChannel-">save(WritableByteChannel)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block">Save the DataProcessor</div>
</dd>
<dt><a href="org/apache/daffodil/japi/infoset/ScalaXMLInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">ScalaXMLInfosetInputter</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetInputter</code></a> to read an infoset represented as a scala.xml.Node</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/ScalaXMLInfosetInputter.html#ScalaXMLInfosetInputter-scala.xml.Node-">ScalaXMLInfosetInputter(Node)</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/ScalaXMLInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">ScalaXMLInfosetInputter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/infoset/ScalaXMLInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">ScalaXMLInfosetOutputter</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetOutputter</code></a> to build an infoset represented as a scala.xml.Node</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/ScalaXMLInfosetOutputter.html#ScalaXMLInfosetOutputter-boolean-">ScalaXMLInfosetOutputter(boolean)</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/ScalaXMLInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">ScalaXMLInfosetOutputter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#setContentHandler-org.xml.sax.ContentHandler-">setContentHandler(ContentHandler)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Register a content handler</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#setDebugger-org.apache.daffodil.japi.debugger.DebuggerRunner-">setDebugger(DebuggerRunner)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use withDebuggerRunner. Since 2.6.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#setDebugging-boolean-">setDebugging(boolean)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use withDebugging. Since 2.6.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#setDistinguishedRootNode-java.lang.String-java.lang.String-">setDistinguishedRootNode(String, String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Pass arguments to compileSource, or compileFile. Since 2.6.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ProcessorFactory.html#setDistinguishedRootNode-java.lang.String-java.lang.String-">setDistinguishedRootNode(String, String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ProcessorFactory.html" title="class in org.apache.daffodil.japi">ProcessorFactory</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use withDistinguishedRootNode. Since 2.6.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html#setDocumentLocator-org.xml.sax.Locator-">setDocumentLocator(Locator)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi">DaffodilUnparseContentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#setDTDHandler-org.xml.sax.DTDHandler-">setDTDHandler(DTDHandler)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Register a DTD Handler</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#setEntityResolver-org.xml.sax.EntityResolver-">setEntityResolver(EntityResolver)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Register an entity resolver</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#setErrorHandler-org.xml.sax.ErrorHandler-">setErrorHandler(ErrorHandler)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Register an error handler</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#setExternalDFDLVariable-java.lang.String-java.lang.String-java.lang.String-">setExternalDFDLVariable(String, String, String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use DataProcessor.withExternalVariable. Since 2.6.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#setExternalDFDLVariables-java.util.AbstractMap-">setExternalDFDLVariables(AbstractMap&lt;String, String&gt;)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use DataProcessor.withExternalVariables. Since 2.6.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#setExternalDFDLVariables-java.io.File-">setExternalDFDLVariables(File)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use DataProcessor.withExternalVariables. Since 2.6.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#setExternalVariables-java.io.File-">setExternalVariables(File)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use withExternalVariables. Since 2.6.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#setExternalVariables-scala.collection.immutable.Map-">setExternalVariables(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use withExternalVariables. Since 2.6.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#setFeature-java.lang.String-boolean-">setFeature(String, boolean)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Set the value of the feature flag</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Daffodil.html#setLoggingLevel-org.apache.daffodil.japi.logger.LogLevel-">setLoggingLevel(LogLevel)</a></span> - Static method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Daffodil.html" title="class in org.apache.daffodil.japi">Daffodil</a></dt>
<dd>
<div class="block">Set the maximum logging level</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Daffodil.html#setLogWriter-org.apache.daffodil.japi.logger.LogWriter-">setLogWriter(LogWriter)</a></span> - Static method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Daffodil.html" title="class in org.apache.daffodil.japi">Daffodil</a></dt>
<dd>
<div class="block">Set the LogWriter to use to capture logging messages from Daffodil</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html#setProperty-java.lang.String-java.lang.Object-">setProperty(String, Object)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilParseXMLReader.html" title="class in org.apache.daffodil.japi">DaffodilParseXMLReader</a></dt>
<dd>
<div class="block">Set the value of the property</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#setTunable-java.lang.String-java.lang.String-">setTunable(String, String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use withTunable. Since 2.6.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#setTunables-java.util.AbstractMap-">setTunables(AbstractMap&lt;String, String&gt;)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use withTunables. Since 2.6.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#setValidateDFDLSchemas-boolean-">setValidateDFDLSchemas(boolean)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Do not use this method. DFDL schema validation should be performed. Since 2.6.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#setValidationMode-org.apache.daffodil.japi.ValidationMode-">setValidationMode(ValidationMode)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use withValidationMode. Since 2.6.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html#skippedEntity-java.lang.String-">skippedEntity(String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi">DaffodilUnparseContentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html#startArray-org.apache.daffodil.infoset.DIArray-">startArray(DIArray)</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></dt>
<dd>
<div class="block">Called by Daffodil internals to signify the beginning of an array of elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#startArray-org.apache.daffodil.infoset.DIArray-">startArray(DIArray)</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html#startComplex-org.apache.daffodil.infoset.DIComplex-">startComplex(DIComplex)</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></dt>
<dd>
<div class="block">Called by Daffodil internals to signify the beginning of a complex element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#startComplex-org.apache.daffodil.infoset.DIComplex-">startComplex(DIComplex)</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html#startDocument--">startDocument()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi">DaffodilUnparseContentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html#startDocument--">startDocument()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></dt>
<dd>
<div class="block">Called by Daffodil internals to signify the beginning of the infoset.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#startDocument--">startDocument()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html#startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-">startElement(String, String, String, Attributes)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi">DaffodilUnparseContentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html#startPrefixMapping-java.lang.String-java.lang.String-">startPrefixMapping(String, String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DaffodilUnparseContentHandler.html" title="class in org.apache.daffodil.japi">DaffodilUnparseContentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html#startSimple-org.apache.daffodil.infoset.DISimple-">startSimple(DISimple)</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputter</a></dt>
<dd>
<div class="block">Called by Daffodil internals to signify the beginning of a simple element.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html#startSimple-org.apache.daffodil.infoset.DISimple-">startSimple(DISimple)</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetOutputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetOutputterProxy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/LogWriter.html#suffix-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-">suffix(LogLevel, String)</a></span> - Method in class org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger">LogWriter</a></dt>
<dd>
<div class="block">Override to change the suffix string of the log message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html#supportsNamespaces--">supportsNamespaces()</a></span> - Method in class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/InfosetInputterProxy.html" title="class in org.apache.daffodil.japi.infoset">InfosetInputterProxy</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataLocation.html#toString--">toString()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataLocation.html" title="class in org.apache.daffodil.japi">DataLocation</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Diagnostic.html#toString--">toString()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Diagnostic.html" title="class in org.apache.daffodil.japi">Diagnostic</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/LocationInSchemaFile.html#toString--">toString()</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/LocationInSchemaFile.html" title="class in org.apache.daffodil.japi">LocationInSchemaFile</a></dt>
<dd>
<div class="block">Get the description of the location file, for example, containing file and line number information</div>
</dd>
<dt><a href="org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger"><span class="typeNameLink">TraceDebuggerRunner</span></a> - Class in <a href="org/apache/daffodil/japi/debugger/package-summary.html">org.apache.daffodil.japi.debugger</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/debugger/DebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger"><code>DebuggerRunner</code></a> that writes verbose information about parsing to stdout</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html#TraceDebuggerRunner--">TraceDebuggerRunner()</a></span> - Constructor for class org.apache.daffodil.japi.debugger.<a href="org/apache/daffodil/japi/debugger/TraceDebuggerRunner.html" title="class in org.apache.daffodil.japi.debugger">TraceDebuggerRunner</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#unparse-org.apache.daffodil.japi.infoset.InfosetInputter-java.nio.channels.WritableByteChannel-">unparse(InfosetInputter, WritableByteChannel)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block">Unparse an InfosetInputter</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#unparse-java.nio.channels.WritableByteChannel-org.jdom2.Document-">unparse(WritableByteChannel, Document)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use unparse(InfosetInputter, WritableByteChannel). Since 2.0.0.</span></div>
</div>
</dd>
<dt><a href="org/apache/daffodil/japi/UnparseResult.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">UnparseResult</span></a> - Class in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">Result of calling <a href="org/apache/daffodil/japi/DataProcessor.html#unparse-org.apache.daffodil.japi.infoset.InfosetInputter-java.nio.channels.WritableByteChannel-"><code>DataProcessor.unparse(InfosetInputter, java.nio.channels.WritableByteChannel)</code></a>,
 containing diagnostic information</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/UnparseResult.html#UnparseResult-org.apache.daffodil.processors.UnparseResult-">UnparseResult(UnparseResult)</a></span> - Constructor for class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/UnparseResult.html" title="class in org.apache.daffodil.japi">UnparseResult</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/udf/UserDefinedFunction.html" title="interface in org.apache.daffodil.udf"><span class="typeNameLink">UserDefinedFunction</span></a> - Interface in <a href="org/apache/daffodil/udf/package-summary.html">org.apache.daffodil.udf</a></dt>
<dd>
<div class="block">Interface that all User Defined Functions classes must implement.</div>
</dd>
<dt><a href="org/apache/daffodil/udf/exceptions/UserDefinedFunctionFatalException.html" title="class in org.apache.daffodil.udf.exceptions"><span class="typeNameLink">UserDefinedFunctionFatalException</span></a> - Exception in <a href="org/apache/daffodil/udf/exceptions/package-summary.html">org.apache.daffodil.udf.exceptions</a></dt>
<dd>
<div class="block">Exception to throw to abort parsing/unparsing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/udf/exceptions/UserDefinedFunctionFatalException.html#UserDefinedFunctionFatalException-java.lang.String-">UserDefinedFunctionFatalException(String)</a></span> - Constructor for exception org.apache.daffodil.udf.exceptions.<a href="org/apache/daffodil/udf/exceptions/UserDefinedFunctionFatalException.html" title="class in org.apache.daffodil.udf.exceptions">UserDefinedFunctionFatalException</a></dt>
<dd>
<div class="block">Constructs a new exception with a specified detail message</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/udf/exceptions/UserDefinedFunctionFatalException.html#UserDefinedFunctionFatalException-java.lang.Throwable-">UserDefinedFunctionFatalException(Throwable)</a></span> - Constructor for exception org.apache.daffodil.udf.exceptions.<a href="org/apache/daffodil/udf/exceptions/UserDefinedFunctionFatalException.html" title="class in org.apache.daffodil.udf.exceptions">UserDefinedFunctionFatalException</a></dt>
<dd>
<div class="block">Constructs a new exception with a specified cause</div>
</dd>
<dt><a href="org/apache/daffodil/udf/UserDefinedFunctionIdentification.html" title="annotation in org.apache.daffodil.udf"><span class="typeNameLink">UserDefinedFunctionIdentification</span></a> - Annotation Type in <a href="org/apache/daffodil/udf/package-summary.html">org.apache.daffodil.udf</a></dt>
<dd>
<div class="block">Annotation that must be applied to every UDF in order for it to be considered
 valid.</div>
</dd>
<dt><a href="org/apache/daffodil/udf/exceptions/UserDefinedFunctionProcessingError.html" title="class in org.apache.daffodil.udf.exceptions"><span class="typeNameLink">UserDefinedFunctionProcessingError</span></a> - Exception in <a href="org/apache/daffodil/udf/exceptions/package-summary.html">org.apache.daffodil.udf.exceptions</a></dt>
<dd>
<div class="block">Exception to throw to cause backtracking during parsing/unparsing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/udf/exceptions/UserDefinedFunctionProcessingError.html#UserDefinedFunctionProcessingError-java.lang.String-">UserDefinedFunctionProcessingError(String)</a></span> - Constructor for exception org.apache.daffodil.udf.exceptions.<a href="org/apache/daffodil/udf/exceptions/UserDefinedFunctionProcessingError.html" title="class in org.apache.daffodil.udf.exceptions">UserDefinedFunctionProcessingError</a></dt>
<dd>
<div class="block">Constructs a new exception with a specified detail message</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/udf/exceptions/UserDefinedFunctionProcessingError.html#UserDefinedFunctionProcessingError-java.lang.Throwable-">UserDefinedFunctionProcessingError(Throwable)</a></span> - Constructor for exception org.apache.daffodil.udf.exceptions.<a href="org/apache/daffodil/udf/exceptions/UserDefinedFunctionProcessingError.html" title="class in org.apache.daffodil.udf.exceptions">UserDefinedFunctionProcessingError</a></dt>
<dd>
<div class="block">Constructs a new exception with a specified cause</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/udf/exceptions/UserDefinedFunctionProcessingError.html#UserDefinedFunctionProcessingError-java.lang.String-java.lang.Throwable-">UserDefinedFunctionProcessingError(String, Throwable)</a></span> - Constructor for exception org.apache.daffodil.udf.exceptions.<a href="org/apache/daffodil/udf/exceptions/UserDefinedFunctionProcessingError.html" title="class in org.apache.daffodil.udf.exceptions">UserDefinedFunctionProcessingError</a></dt>
<dd>
<div class="block">Constructs a new exception with a specified detail message and cause</div>
</dd>
<dt><a href="org/apache/daffodil/udf/UserDefinedFunctionProvider.html" title="class in org.apache.daffodil.udf"><span class="typeNameLink">UserDefinedFunctionProvider</span></a> - Class in <a href="org/apache/daffodil/udf/package-summary.html">org.apache.daffodil.udf</a></dt>
<dd>
<div class="block">Abstract class used by ServiceLoader to poll for UDF providers on classpath.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/udf/UserDefinedFunctionProvider.html#UserDefinedFunctionProvider--">UserDefinedFunctionProvider()</a></span> - Constructor for class org.apache.daffodil.udf.<a href="org/apache/daffodil/udf/UserDefinedFunctionProvider.html" title="class in org.apache.daffodil.udf">UserDefinedFunctionProvider</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:V">
<!--   -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><a href="org/apache/daffodil/japi/ValidationMode.html" title="enum in org.apache.daffodil.japi"><span class="typeNameLink">ValidationMode</span></a> - Enum in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">Validation modes for validating the resulting infoset against the DFDL schema</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/LogLevel.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/LogLevel.html" title="enum in org.apache.daffodil.japi.logger">LogLevel</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ValidationMode.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ValidationMode.html" title="enum in org.apache.daffodil.japi">ValidationMode</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/LogLevel.html#values--">values()</a></span> - Static method in enum org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/LogLevel.html" title="enum in org.apache.daffodil.japi.logger">LogLevel</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ValidationMode.html#values--">values()</a></span> - Static method in enum org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ValidationMode.html" title="enum in org.apache.daffodil.japi">ValidationMode</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
</dl>
<a name="I:W">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><a href="org/apache/daffodil/japi/infoset/W3CDOMInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">W3CDOMInfosetInputter</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetInputter</code></a> to read an infoset represented as an org.w3c.dom.Document</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/W3CDOMInfosetInputter.html#W3CDOMInfosetInputter-org.w3c.dom.Document-">W3CDOMInfosetInputter(Document)</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/W3CDOMInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">W3CDOMInfosetInputter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/daffodil/japi/infoset/W3CDOMInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">W3CDOMInfosetOutputter</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetOutputter</code></a> to build an infoset represented as an org.w3c.dom.Document</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/W3CDOMInfosetOutputter.html#W3CDOMInfosetOutputter--">W3CDOMInfosetOutputter()</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/W3CDOMInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">W3CDOMInfosetOutputter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#withDebugger-org.apache.daffodil.debugger.Debugger-">withDebugger(Debugger)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block">Obtain a new <a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a> with a specified debugger.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#withDebuggerRunner-org.apache.daffodil.japi.debugger.DebuggerRunner-">withDebuggerRunner(DebuggerRunner)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block">Obtain a new <a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a> with a specified debugger runner.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#withDebugging-boolean-">withDebugging(boolean)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block">Obtain a new <a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a> instance with debugging enabled or disabled.</div>
</dd>
<dt><a href="org/apache/daffodil/japi/WithDiagnostics.html" title="class in org.apache.daffodil.japi"><span class="typeNameLink">WithDiagnostics</span></a> - Class in <a href="org/apache/daffodil/japi/package-summary.html">org.apache.daffodil.japi</a></dt>
<dd>
<div class="block">Abstract class that adds diagnostic information to classes that extend it.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/WithDiagnostics.html#WithDiagnostics-org.apache.daffodil.api.WithDiagnostics-">WithDiagnostics(WithDiagnostics)</a></span> - Constructor for class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/WithDiagnostics.html" title="class in org.apache.daffodil.japi">WithDiagnostics</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/ProcessorFactory.html#withDistinguishedRootNode-java.lang.String-java.lang.String-">withDistinguishedRootNode(String, String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/ProcessorFactory.html" title="class in org.apache.daffodil.japi">ProcessorFactory</a></dt>
<dd>
<div class="block">Get a new <a href="org/apache/daffodil/japi/ProcessorFactory.html" title="class in org.apache.daffodil.japi"><code>ProcessorFactory</code></a> having a global element specified as the root of DFDL Schema to start parsing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#withExternalVariables-java.io.File-">withExternalVariables(File)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block">Obtain a new <a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a> with external variables read from a Daffodil configuration file</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#withExternalVariables-scala.collection.immutable.Map-">withExternalVariables(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use withExternalVariables that accepts a Java AbstractMap. Since 3.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#withExternalVariables-java.util.AbstractMap-">withExternalVariables(AbstractMap&lt;String, String&gt;)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block">Obtain a new <a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a> with multiple DFDL variables set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#withTunable-java.lang.String-java.lang.String-">withTunable(String, String)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block">Create a new Compiler instance having a specific Daffodil tunable parameter value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/Compiler.html#withTunables-java.util.AbstractMap-">withTunables(AbstractMap&lt;String, String&gt;)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/Compiler.html" title="class in org.apache.daffodil.japi">Compiler</a></dt>
<dd>
<div class="block">Create a new Compiler instance having specific Daffodil tunable parameter values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#withValidationMode-org.apache.daffodil.japi.ValidationMode-">withValidationMode(ValidationMode)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block">Obtain a new <a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a> having a specific validation mode</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/DataProcessor.html#withValidator-org.apache.daffodil.api.Validator-">withValidator(Validator)</a></span> - Method in class org.apache.daffodil.japi.<a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi">DataProcessor</a></dt>
<dd>
<div class="block">Obtain a new <a href="org/apache/daffodil/japi/DataProcessor.html" title="class in org.apache.daffodil.japi"><code>DataProcessor</code></a> having a specific validator</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/ConsoleLogWriter.html#write-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-">write(LogLevel, String, String)</a></span> - Method in class org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/ConsoleLogWriter.html" title="class in org.apache.daffodil.japi.logger">ConsoleLogWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/FileLogWriter.html#write-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-">write(LogLevel, String, String)</a></span> - Method in class org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/FileLogWriter.html" title="class in org.apache.daffodil.japi.logger">FileLogWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/LogWriter.html#write-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-">write(LogLevel, String, String)</a></span> - Method in class org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/LogWriter.html" title="class in org.apache.daffodil.japi.logger">LogWriter</a></dt>
<dd>
<div class="block">Implement this method to determine how the log message is written.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/logger/NullLogWriter.html#write-org.apache.daffodil.japi.logger.LogLevel-java.lang.String-java.lang.String-">write(LogLevel, String, String)</a></span> - Method in class org.apache.daffodil.japi.logger.<a href="org/apache/daffodil/japi/logger/NullLogWriter.html" title="class in org.apache.daffodil.japi.logger">NullLogWriter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:X">
<!--   -->
</a>
<h2 class="title">X</h2>
<dl>
<dt><a href="org/apache/daffodil/japi/infoset/XMLTextInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">XMLTextInfosetInputter</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/infoset/InfosetInputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetInputter</code></a> to read an infoset represented as XML from a java.io.InputStream</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/XMLTextInfosetInputter.html#XMLTextInfosetInputter-java.io.Reader-">XMLTextInfosetInputter(Reader)</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/XMLTextInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">XMLTextInfosetInputter</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This constructor is deprecated. Use XMLTextInfosetInputter(java.io.InputStream) instead. Since 2.4.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/XMLTextInfosetInputter.html#XMLTextInfosetInputter-java.io.InputStream-">XMLTextInfosetInputter(InputStream)</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/XMLTextInfosetInputter.html" title="class in org.apache.daffodil.japi.infoset">XMLTextInfosetInputter</a></dt>
<dd>
<div class="block">Read in an infoset in the form of XML text from a java.io.InputStream</div>
</dd>
<dt><a href="org/apache/daffodil/japi/infoset/XMLTextInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><span class="typeNameLink">XMLTextInfosetOutputter</span></a> - Class in <a href="org/apache/daffodil/japi/infoset/package-summary.html">org.apache.daffodil.japi.infoset</a></dt>
<dd>
<div class="block"><a href="org/apache/daffodil/japi/infoset/InfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset"><code>InfosetOutputter</code></a> to build an infoset represented as XML written to a java.io.OutputStream</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/XMLTextInfosetOutputter.html#XMLTextInfosetOutputter-java.io.Writer-boolean-">XMLTextInfosetOutputter(Writer, boolean)</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/XMLTextInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">XMLTextInfosetOutputter</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This constructor is deprecated. Use XMLTextInfosetOutputter(java.io.OutputStream, Boolean) instead. Since 2.4.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/XMLTextInfosetOutputter.html#XMLTextInfosetOutputter-java.io.Writer-">XMLTextInfosetOutputter(Writer)</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/XMLTextInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">XMLTextInfosetOutputter</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This constructor is deprecated. Use XMLTextInfosetOutputter(java.io.OutputStream, Boolean) instead. Since 2.4.0.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/daffodil/japi/infoset/XMLTextInfosetOutputter.html#XMLTextInfosetOutputter-java.io.OutputStream-boolean-">XMLTextInfosetOutputter(OutputStream, boolean)</a></span> - Constructor for class org.apache.daffodil.japi.infoset.<a href="org/apache/daffodil/japi/infoset/XMLTextInfosetOutputter.html" title="class in org.apache.daffodil.japi.infoset">XMLTextInfosetOutputter</a></dt>
<dd>
<div class="block">Output the infoset as XML Text, written to a java.io.OutputStream</div>
</dd>
</dl>
<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;</div>
<!-- ======= 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>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.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>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
