blob: 4742a3d9b1fef340c898fb7781e2906ef540a010 [file] [log] [blame]
<!DOCTYPE html >
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>Apache Daffodil 3.2.0 Scala API - org.apache.daffodil.sapi.DataProcessor</title>
<meta name="description" content="Apache Daffodil 3.2.0 Scala API - org.apache.daffodil.sapi.DataProcessor" />
<meta name="keywords" content="Apache Daffodil 3.2.0 Scala API org.apache.daffodil.sapi.DataProcessor" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link href="../../../../lib/index.css" media="screen" type="text/css" rel="stylesheet" />
<link href="../../../../lib/template.css" media="screen" type="text/css" rel="stylesheet" />
<link href="../../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css" />
<script type="text/javascript" src="../../../../lib/jquery.min.js"></script>
<script type="text/javascript" src="../../../../lib/jquery.panzoom.min.js"></script>
<script type="text/javascript" src="../../../../lib/jquery.mousewheel.min.js"></script>
<script type="text/javascript" src="../../../../lib/index.js"></script>
<script type="text/javascript" src="../../../../index.js"></script>
<script type="text/javascript" src="../../../../lib/scheduler.js"></script>
<script type="text/javascript" src="../../../../lib/template.js"></script>
<script type="text/javascript">
/* this variable can be used by the JS to determine the path to the root document */
var toRoot = '../../../../';
</script>
</head>
<body>
<div id="search">
<span id="doc-title">Apache Daffodil 3.2.0 Scala API<span id="doc-version"></span></span>
<span class="close-results"><span class="left">&lt;</span> Back</span>
<div id="textfilter">
<span class="input">
<input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/" />
<i class="clear material-icons"></i>
<i id="search-icon" class="material-icons"></i>
</span>
</div>
</div>
<div id="search-results">
<div id="search-progress">
<div id="progress-fill"></div>
</div>
<div id="results-content">
<div id="entity-results"></div>
<div id="member-results"></div>
</div>
</div>
<div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;">
<div id="content-container" style="-webkit-overflow-scrolling: touch;">
<div id="subpackage-spacer">
<div id="packages">
<h1>Packages</h1>
<ul>
<li name="_root_.root" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="_root_"></a><a id="root:_root_"></a>
<span class="permalink">
<a href="../../../../index.html" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">package</span>
</span>
<span class="symbol">
<a title="This is the documentation for the Apache Daffodil Scala API." href="../../../../index.html"><span class="name">root</span></a>
</span>
<p class="shortcomment cmt">This is the documentation for the Apache Daffodil Scala API.</p><div class="fullcomment"><div class="comment cmt"><p>This is the documentation for the Apache Daffodil Scala API.</p><h5> Package structure </h5><p><a href="index.html" class="extype" name="org.apache.daffodil.sapi">org.apache.daffodil.sapi</a> - Provides the classes necessary to compile DFDL schemas, parse and unparse files using the compiled objects, and retrieve results and parsing diagnostics</p><p><a href="../udf/index.html" class="extype" name="org.apache.daffodil.udf">org.apache.daffodil.udf</a> - Provides the classes necessary to create User Defined Functions to extend the DFDL expression language</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="../../../../index.html" class="extype" name="_root_">root</a></dd></dl></div>
</li><li name="_root_.org" visbl="pub" class="indented1 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="org"></a><a id="org:org"></a>
<span class="permalink">
<a href="../../../../org/index.html" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">package</span>
</span>
<span class="symbol">
<a title="" href="../../../index.html"><span class="name">org</span></a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="../../../../index.html" class="extype" name="_root_">root</a></dd></dl></div>
</li><li name="org.apache" visbl="pub" class="indented2 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="apache"></a><a id="apache:apache"></a>
<span class="permalink">
<a href="../../../../org/apache/index.html" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">package</span>
</span>
<span class="symbol">
<a title="" href="../../index.html"><span class="name">apache</span></a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="../../../index.html" class="extype" name="org">org</a></dd></dl></div>
</li><li name="org.apache.daffodil" visbl="pub" class="indented3 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="daffodil"></a><a id="daffodil:daffodil"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/index.html" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">package</span>
</span>
<span class="symbol">
<a title="" href="../index.html"><span class="name">daffodil</span></a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="../../index.html" class="extype" name="org.apache">apache</a></dd></dl></div>
</li><li name="org.apache.daffodil.sapi" visbl="pub" class="indented4 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="sapi"></a><a id="sapi:sapi"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/index.html" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">package</span>
</span>
<span class="symbol">
<a title="Provides the classes necessary to compile DFDL schemas, parse and unparse files using the compiled objects, and retrieve results and parsing diagnostics" href="index.html"><span class="name">sapi</span></a>
</span>
<p class="shortcomment cmt">Provides the classes necessary to compile DFDL schemas, parse and
unparse files using the compiled objects, and retrieve results and
parsing diagnostics</p><div class="fullcomment"><div class="comment cmt"><p>Provides the classes necessary to compile DFDL schemas, parse and
unparse files using the compiled objects, and retrieve results and
parsing diagnostics</p><h5> Overview </h5><p>The <a href="Daffodil$.html" class="extype" name="org.apache.daffodil.sapi.Daffodil">Daffodil</a> object is a factory object to create a <a href="Compiler.html" class="extype" name="org.apache.daffodil.sapi.Compiler">Compiler</a>. The
<a href="Compiler.html" class="extype" name="org.apache.daffodil.sapi.Compiler">Compiler</a> provides a method to compile a provided DFDL schema into a
<a href="ProcessorFactory.html" class="extype" name="org.apache.daffodil.sapi.ProcessorFactory">ProcessorFactory</a>, which creates a <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a>:</p><pre><span class="kw">val</span> c = Daffodil.compiler()
<span class="kw">val</span> pf = c.compileFile(file)
<span class="kw">val</span> dp = pf.onPath(<span class="lit">"/"</span>)</pre><p>The <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> provides the necessary functions to parse and unparse
data, returning a <a href="ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a> or <a href="UnparseResult.html" class="extype" name="org.apache.daffodil.sapi.UnparseResult">UnparseResult</a>, respectively. These
contain information about the parse/unparse, such as whether or not the
processing succeeded with any diagnostic information.</p><p>The <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> also provides two functions that can be used to perform parsing/unparsing
via the SAX API. The first creates a <a href="DaffodilParseXMLReader.html" class="extype" name="org.apache.daffodil.sapi.DaffodilParseXMLReader">DaffodilParseXMLReader</a> which is used for parsing, and the
second creates a <a href="DaffodilUnparseContentHandler.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnparseContentHandler">DaffodilUnparseContentHandler</a> which is used for unparsing.</p><pre><span class="kw">val</span> xmlReader = dp.newXMLReaderInstance
<span class="kw">val</span> unparseContentHandler = dp.newContentHandlerInstance(output)</pre><p>The <a href="DaffodilParseXMLReader.html" class="extype" name="org.apache.daffodil.sapi.DaffodilParseXMLReader">DaffodilParseXMLReader</a> has several methods that allow one to set properties and handlers
(such as ContentHandlers or ErrorHandlers) for the reader. One can use any
contentHandler/errorHandler as long as they extend the org.xml.sax.ContentHandler and
org.xml.sax.ErrorHandler interfaces respectively. One can also set properties for the
<a href="DaffodilParseXMLReader.html" class="extype" name="org.apache.daffodil.sapi.DaffodilParseXMLReader">DaffodilParseXMLReader</a> using <a href="DaffodilParseXMLReader.html#setProperty(name:String,value:AnyRef):Unit" class="extmbr" name="org.apache.daffodil.sapi.DaffodilParseXMLReader#setProperty">DaffodilParseXMLReader.setProperty</a>.</p><p>The following properties can be set as follows:</p><p><i>The constants below have literal values starting with
"urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:sax:" and ending with "BlobDirectory",
"BlobPrefix" and "BlobSuffix" respectively.</i></p><pre>xmlReader.setProperty(DaffodilParseXMLReader.DAFFODIL_SAX_URN_BLOBDIRECTORY,
Paths.get(System.getProperty(<span class="lit">"java.io.tmpdir"</span>))) <span class="cmt">// value type: java.nio.file.Paths</span>
xmlReader.setProperty(DaffodilParseXMLReader.DAFFODIL_SAX_URN_BLOBPREFIX, <span class="lit">"daffodil-sax-"</span>) <span class="cmt">// value type String</span>
xmlReader.setProperty(DaffodilParseXMLReader.DAFFODIL_SAX_URN_BLOBSUFFIX, <span class="lit">".bin"</span>) <span class="cmt">// value type String</span></pre><p>The properties can be retrieved using the same variables with
<a href="DaffodilParseXMLReader.html#getProperty(name:String):AnyRef" class="extmbr" name="org.apache.daffodil.sapi.DaffodilParseXMLReader#getProperty">DaffodilParseXMLReader.getProperty</a> and casting
to the appropriate type as listed above.</p><p>The following handlers can be set as follows:</p><pre>xmlReader.setContentHandler(contentHandler)
xmlReader.setErrorHandler(errorHandler)</pre><p>The handlers above must implement the following interfaces respectively:</p><pre>org.xml.sax.ContentHandler
org.xml.sax.ErrorHandler</pre><p>The <a href="ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a> can be found as a property within the <a href="DaffodilParseXMLReader.html" class="extype" name="org.apache.daffodil.sapi.DaffodilParseXMLReader">DaffodilParseXMLReader</a> using this
uri: &quot;urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:sax:ParseResult&quot; or
<a href="DaffodilParseXMLReader$.html#DAFFODIL_SAX_URN_PARSERESULT:String" class="extmbr" name="org.apache.daffodil.sapi.DaffodilParseXMLReader#DAFFODIL_SAX_URN_PARSERESULT">DaffodilParseXMLReader.DAFFODIL_SAX_URN_PARSERESULT</a></p><p>In order for a successful unparse to happen, the SAX API requires the
unparse to be kicked off by a parse call to any org.xml.sax.XMLReader implementation that has the
<a href="DaffodilUnparseContentHandler.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnparseContentHandler">DaffodilUnparseContentHandler</a> registered as its content handler. To retrieve the <a href="UnparseResult.html" class="extype" name="org.apache.daffodil.sapi.UnparseResult">UnparseResult</a>,
one can use <a href="DaffodilUnparseContentHandler.html#getUnparseResult:org.apache.daffodil.sapi.UnparseResult" class="extmbr" name="org.apache.daffodil.sapi.DaffodilUnparseContentHandler#getUnparseResult">DaffodilUnparseContentHandler.getUnparseResult</a> once the XMLReader.parse run is
complete.</p><h6> Parse </h6><h6> Dataprocessor Parse </h6><p>The <a href="#parse(input:org.apache.daffodil.sapi.io.InputSourceDataInputStream,output:org.apache.daffodil.sapi.infoset.InfosetOutputter):org.apache.daffodil.sapi.ParseResult" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#parse">DataProcessor.parse</a> method accepts input data to parse in the form of a <a href="io/InputSourceDataInputStream.html" class="extype" name="org.apache.daffodil.sapi.io.InputSourceDataInputStream">InputSourceDataInputStream</a> and an <a href="infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a> to determine
the output representation of the infoset (e.g. Scala XML Nodes, JDOM2 Documents, etc.):</p><pre><span class="kw">val</span> scalaOutputter = <span class="kw">new</span> ScalaXMLInfosetOutputter()
<span class="kw">val</span> is = <span class="kw">new</span> InputSourceDataInputStream(data)
<span class="kw">val</span> pr = dp.parse(is, scalaOutputter)
<span class="kw">val</span> node = scalaOutputter.getResult</pre><p>The <a href="#parse(input:org.apache.daffodil.sapi.io.InputSourceDataInputStream,output:org.apache.daffodil.sapi.infoset.InfosetOutputter):org.apache.daffodil.sapi.ParseResult" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#parse">DataProcessor.parse</a> method is thread-safe and may be called multiple times without the need to
create other data processors. However, <a href="infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a>'s are not
thread safe, requiring a unique instance per thread. An <a href="infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a>
should call <a href="infoset/InfosetOutputter.html#reset():Unit" class="extmbr" name="org.apache.daffodil.sapi.infoset.InfosetOutputter#reset">InfosetOutputter.reset</a> before reuse (or a new one
should be allocated). For example:</p><pre><span class="kw">val</span> scalaOutputter = <span class="kw">new</span> ScalaXMLInfosetOutputter()
files.foreach { f <span class="kw">=&gt;</span> {
outputter.reset
<span class="kw">val</span> is = <span class="kw">new</span> InputSourceDataInputStream(<span class="kw">new</span> FileInputStream(f))
<span class="kw">val</span> pr = dp.parse(is, scalaOutputter)
<span class="kw">val</span> node = scalaOutputter.getResult
}</pre><p>One can repeat calls to parse() using the same InputSourceDataInputStream to continue parsing
where the previous parse ended. For example:</p><pre><span class="kw">val</span> is = <span class="kw">new</span> InputSourceDataInputStream(dataStream)
<span class="kw">val</span> scalaOutputter = <span class="kw">new</span> ScalaXMLInfosetOutputter()
<span class="kw">val</span> keepParsing = <span class="kw">true</span>
<span class="kw">while</span> (keepParsing &amp;&amp; is.hasData()) {
scalaOutputter.reset()
<span class="kw">val</span> pr = dp.parse(is, jdomOutputter)
...
keepParsing = !pr.isError()
}</pre><h6> SAX Parse </h6><p>The <a href="DaffodilParseXMLReader.html#parse(isdis:org.apache.daffodil.sapi.io.InputSourceDataInputStream):Unit" class="extmbr" name="org.apache.daffodil.sapi.DaffodilParseXMLReader#parse">DaffodilParseXMLReader.parse</a> method accepts input data to parse in the form of a
<a href="io/InputSourceDataInputStream.html" class="extype" name="org.apache.daffodil.sapi.io.InputSourceDataInputStream">InputSourceDataInputStream</a>. The output representation of the
infoset, as well as how parse errors are handled, are dependent on the content handler and the
error handler provided to the <a href="DaffodilParseXMLReader.html" class="extype" name="org.apache.daffodil.sapi.DaffodilParseXMLReader">DaffodilParseXMLReader</a>. For example, the org.jdom2.input.sax.SAXHandler
provides a JDOM representation, whereas other ContentHandlers may output directly to a
java.io.OutputStream or java.io.Writer.</p><pre><span class="kw">val</span> contentHandler = <span class="kw">new</span> SAXHandler()
xmlReader.setContentHandler(contentHandler)
<span class="kw">val</span> is = <span class="kw">new</span> InputSourceDataInputStream(data)
xmlReader.parse(is)
<span class="kw">val</span> pr = xmlReader.getProperty(DaffodilParseXMLReader.DAFFODIL_SAX_URN_PARSERESULT)
<span class="kw">val</span> doc = saxHandler.getDocument</pre><p>The <a href="DaffodilParseXMLReader.html#parse(isdis:org.apache.daffodil.sapi.io.InputSourceDataInputStream):Unit" class="extmbr" name="org.apache.daffodil.sapi.DaffodilParseXMLReader#parse">DaffodilParseXMLReader.parse</a> method is not thread-safe and may only be called again/reused once
a parse operation is completed. This can be done multiple times without the need to create new
DaffodilParseXMLReaders, ContentHandlers or ErrorHandlers. It might be necessary to reset whatever
ContentHandler is used (or allocate a new one). A thread-safe implementation would require unique
instances of the DaffodilParseXMLReader and its components. For example:</p><pre><span class="kw">val</span> contentHandler = <span class="kw">new</span> SAXHandler()
xmlReader.setContentHandler(contentHandler)
files.foreach { f <span class="kw">=&gt;</span> {
contentHandler.reset
<span class="kw">val</span> is = <span class="kw">new</span> InputSourceDataInputStream(<span class="kw">new</span> FileInputStream(f))
xmlReader.parse(is)
<span class="kw">val</span> pr = xmlReader.getProperty(DaffodilParseXMLReader.DAFFODIL_SAX_URN_PARSERESULT)
<span class="kw">val</span> doc = saxHandler.getDocument
}</pre><p>The value of the supported features cannot be changed during a parse, and the parse will run
with the value of the features as they were when the parse was kicked off. To run a parse with
different feature values, one must wait until the running parse finishes, set the feature values
using the XMLReader's setFeature and run the parse again.</p><p>One can repeat calls to parse() using the same InputSourceDataInputStream to continue parsing
where the previous parse ended. For example:</p><pre><span class="kw">val</span> is = <span class="kw">new</span> InputSourceDataInputStream(dataStream)
<span class="kw">val</span> contentHandler = <span class="kw">new</span> SAXHandler()
xmlReader.setContentHandler(contentHandler)
<span class="kw">val</span> keepParsing = <span class="kw">true</span>
<span class="kw">while</span> (keepParsing &amp;&amp; is.hasData()) {
contentHandler.reset()
xmlReader.parse(is)
<span class="kw">val</span> pr = xmlReader.getProperty(DaffodilParseXMLReader.DAFFODIL_SAX_URN_PARSERESULT)
...
keepParsing = !pr.isError()
}</pre><h6> Unparse </h6><h6> Dataprocessor Unparse </h6><p>The same <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> used for parse can be used to unparse an infoset
via the <a href="#unparse(input:org.apache.daffodil.sapi.infoset.InfosetInputter,output:java.nio.channels.WritableByteChannel):org.apache.daffodil.sapi.UnparseResult" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#unparse">DataProcessor.unparse</a> method. An
<a href="infoset/InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> provides the infoset to unparse, with the unparsed
data written to the provided java.nio.channels.WritableByteChannel. For example:</p><pre><span class="kw">val</span> inputter = <span class="kw">new</span> ScalaXMLInfosetInputter(node)
<span class="kw">val</span> ur = dp.unparse(inputter, wbc)</pre><h6> SAX Unparse </h6><p>In order to kick off an unparse via the SAX API, one must register the <a href="DaffodilUnparseContentHandler.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnparseContentHandler">DaffodilUnparseContentHandler</a>
as the contentHandler for an XMLReader implementation. The call to the
<a href="#newContentHandlerInstance(output:java.nio.channels.WritableByteChannel):org.apache.daffodil.sapi.DaffodilUnparseContentHandler" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#newContentHandlerInstance">DataProcessor.newContentHandlerInstance</a> method
must be provided with the java.nio.channels.WritableByteChannel, where the unparsed data ought to
be written to. Any XMLReader implementation is permissible, as long as they have XML
Namespace support.</p><pre><span class="kw">val</span> is = <span class="kw">new</span> ByteArrayInputStream(data)
<span class="kw">val</span> os = <span class="kw">new</span> ByteArrayOutputStream()
<span class="kw">val</span> wbc = java.nio.channels.Channels.newChannel(os)
<span class="kw">val</span> unparseContentHandler = dp.newContentHandlerInstance(wbc)
<span class="kw">val</span> xmlReader = SAXParserFactory.newInstance.newSAXParser.getXMLReader
xmlReader.setContentHandler(unparseContentHandler)
<span class="kw">try</span> {
xmlReader.parse(is)
} <span class="kw">catch</span> {
<span class="kw">case</span> _: DaffodilUnparseErrorSAXException <span class="kw">=&gt;</span> ...
<span class="kw">case</span> _: DaffodilUnhandledSAXException <span class="kw">=&gt;</span> ...
}</pre><p>The call to the XMLReader.parse method must be wrapped in a try/catch, as <a href="DaffodilUnparseContentHandler.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnparseContentHandler">DaffodilUnparseContentHandler</a>
relies on throwing an exception to end processing in the case of anyerrors/failures.
There are two kinds of errors to expect: <a href="DaffodilUnparseErrorSAXException.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnparseErrorSAXException">DaffodilUnparseErrorSAXException</a>, for the case when
the <a href="UnparseResult.html#isError():Boolean" class="extmbr" name="org.apache.daffodil.sapi.UnparseResult#isError">UnparseResult.isError</a>, and <a href="DaffodilUnhandledSAXException.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnhandledSAXException">DaffodilUnhandledSAXException</a>, for any other errors.</p><p>In the case of an <a href="DaffodilUnhandledSAXException.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnhandledSAXException">DaffodilUnhandledSAXException</a>,<a href="DaffodilUnparseContentHandler.html#getUnparseResult:org.apache.daffodil.sapi.UnparseResult" class="extmbr" name="org.apache.daffodil.sapi.DaffodilUnparseContentHandler#getUnparseResult">DaffodilUnparseContentHandler.getUnparseResult</a>
will return null.</p><pre><span class="kw">try</span> {
xmlReader.parse(<span class="kw">new</span> InputSource(is))
} <span class="kw">catch</span> {
<span class="kw">case</span> _: DaffodilUnhandledSAXException <span class="kw">=&gt;</span> ...
<span class="kw">case</span> _: DaffodilUnparseErrorSAXException <span class="kw">=&gt;</span> ...
}
<span class="kw">val</span> ur = unparseContentHandler.getUnparseResult</pre><h5> Failures and Diagnostics </h5><p>It is possible that failures could occur during the creation of the
<a href="ProcessorFactory.html" class="extype" name="org.apache.daffodil.sapi.ProcessorFactory">ProcessorFactory</a>, <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a>, or <a href="ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a>. However, rather than
throwing an exception on error (e.g. invalid DFDL schema, parse
error, etc), these classes extend <a href="WithDiagnostics.html" class="extype" name="org.apache.daffodil.sapi.WithDiagnostics">WithDiagnostics</a>, which is used to
determine if an error occurred, and any diagnostic information (see
<a href="Diagnostic.html" class="extype" name="org.apache.daffodil.sapi.Diagnostic">Diagnostic</a>) related to the step. Thus, before continuing, one must check
<a href="WithDiagnostics.html#isError():Boolean" class="extmbr" name="org.apache.daffodil.sapi.WithDiagnostics#isError">WithDiagnostics.isError</a>. For example:</p><pre><span class="kw">val</span> pf = c.compile(file)
<span class="kw">if</span> (pf.isError()) {
<span class="kw">val</span> diags = pf.getDiagnostics()
diags.foreach { d <span class="kw">=&gt;</span>
System.out.println(d.toString())
}
<span class="kw">return</span> -<span class="num">1</span>;
}</pre><h5> Saving and Reloading Parsers </h5><p>In some cases, it may be beneficial to save a parser and reload it.
For example, when starting up, it may be quicker to reload an
already compiled parser than to compile it from scratch. To save a
<a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a>:</p><pre><span class="kw">val</span> dp = pf.onPath(<span class="lit">"/"</span>)
dp.save(saveFile);</pre><p>And to restore a saved <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a>:</p><pre><span class="kw">val</span> dp = Daffodil.reload(saveFile);</pre><p>And use like below:</p><pre><span class="kw">val</span> pr = dp.parse(data);</pre><p>or</p><pre><span class="kw">val</span> xmlReader = dp.newXMLReaderInstance
... <span class="cmt">// setting appropriate handlers</span>
xmlReader.parse(data)
<span class="kw">val</span> pr = xmlReader.getProperty(<span class="lit">"...ParseResult"</span>)</pre></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="../index.html" class="extype" name="org.apache.daffodil">daffodil</a></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.debugger" visbl="pub" class="indented5 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="debugger"></a><a id="debugger:debugger"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/debugger/index.html" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">package</span>
</span>
<span class="symbol">
<a title="Provides the classes necessary to perform parse tracing or create a custom debugger" href="debugger/index.html"><span class="name">debugger</span></a>
</span>
<p class="shortcomment cmt">Provides the classes necessary to perform parse tracing or create a custom debugger</p><div class="fullcomment"><div class="comment cmt"><p>Provides the classes necessary to perform parse tracing or create a custom debugger</p><h5> Overview </h5><p>Daffodil comes with one prebuilt debugger, the <a href="debugger/TraceDebuggerRunner.html" class="extype" name="org.apache.daffodil.sapi.debugger.TraceDebuggerRunner">TraceDebuggerRunner</a>, which outputs
verbose information during the parsing processes, which can be used to aid
in debugging a DFDL schema. For example, the <a href="debugger/TraceDebuggerRunner.html" class="extype" name="org.apache.daffodil.sapi.debugger.TraceDebuggerRunner">TraceDebuggerRunner</a> can be use like so:</p><pre><span class="kw">val</span> tdr = <span class="kw">new</span> TraceDebuggerRunner()
Daffodil.setDebugger(tdr)</pre><p>Additionally, one may create their own debugger runner by implementing the
methods in the <a href="debugger/DebuggerRunner.html" class="extype" name="org.apache.daffodil.sapi.debugger.DebuggerRunner">DebuggerRunner</a>.</p><p>Once the debugger is set, it must then be turned on, like so:</p><pre>Daffodil.setDebugging(<span class="kw">true</span>);</pre></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="index.html" class="extype" name="org.apache.daffodil.sapi">sapi</a></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.infoset" visbl="pub" class="indented5 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="infoset"></a><a id="infoset:infoset"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/infoset/index.html" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">package</span>
</span>
<span class="symbol">
<a title="Defines various classes used control the representation of the infoset for parse and unparse." href="infoset/index.html"><span class="name">infoset</span></a>
</span>
<p class="shortcomment cmt">Defines various classes used control the representation of the infoset for parse and unparse.</p><div class="fullcomment"><div class="comment cmt"><p>Defines various classes used control the representation of the infoset for parse and unparse.
Classes that extend <a href="infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a> are provided to the <a href="#parse(input:org.apache.daffodil.sapi.io.InputSourceDataInputStream,output:org.apache.daffodil.sapi.infoset.InfosetOutputter):org.apache.daffodil.sapi.ParseResult" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#parse">DataProcessor.parse</a>
method to deteremine how to output an infoset. These classes are not
guaranteed to be thread-safe. Classes that extend <a href="infoset/InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a> are
provided to the <a href="#unparse(input:org.apache.daffodil.sapi.infoset.InfosetInputter,output:java.nio.channels.WritableByteChannel):org.apache.daffodil.sapi.UnparseResult" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#unparse">DataProcessor.unparse</a> method to determine how to read in
an infoset. A new InfosetOutputter is required for each call to unparse().
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="index.html" class="extype" name="org.apache.daffodil.sapi">sapi</a></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.io" visbl="pub" class="indented5 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="io"></a><a id="io:io"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/io/index.html" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">package</span>
</span>
<span class="symbol">
<a title="" href="io/index.html"><span class="name">io</span></a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="index.html" class="extype" name="org.apache.daffodil.sapi">sapi</a></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.logger" visbl="pub" class="indented5 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="logger"></a><a id="logger:logger"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/logger/index.html" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">package</span>
</span>
<span class="symbol">
<a title="" href="logger/index.html"><span class="name">logger</span></a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="index.html" class="extype" name="org.apache.daffodil.sapi">sapi</a></dd></dl></div>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="Compiler.html" title="Compile DFDL schemas into ProcessorFactory's or reload saved parsers into DataProcessor's."></a>
<a href="Compiler.html" title="Compile DFDL schemas into ProcessorFactory's or reload saved parsers into DataProcessor's.">Compiler</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="object" href="Daffodil$.html" title="Factory object to create a Compiler and set global configurations"></a>
<a href="Daffodil$.html" title="Factory object to create a Compiler and set global configurations">Daffodil</a>
</li><li class="current-entities indented4">
<a class="object" href="DaffodilParseXMLReader$.html" title="The full URIs needed for setting/getting properties for the DaffodilParseXMLReader"></a>
<a class="class" href="DaffodilParseXMLReader.html" title="SAX Method of parsing schema and getting the DFDL Infoset via designated org.xml.sax.ContentHandler, based on the org.xml.sax.XMLReader interface"></a>
<a href="DaffodilParseXMLReader.html" title="SAX Method of parsing schema and getting the DFDL Infoset via designated org.xml.sax.ContentHandler, based on the org.xml.sax.XMLReader interface">DaffodilParseXMLReader</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="DaffodilUnhandledSAXException.html" title="This exception will be thrown when an unexpected error occurs during the SAX unparse"></a>
<a href="DaffodilUnhandledSAXException.html" title="This exception will be thrown when an unexpected error occurs during the SAX unparse">DaffodilUnhandledSAXException</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="DaffodilUnparseContentHandler.html" title="Accepts SAX callback events from any SAX XMLReader for unparsing"></a>
<a href="DaffodilUnparseContentHandler.html" title="Accepts SAX callback events from any SAX XMLReader for unparsing">DaffodilUnparseContentHandler</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="DaffodilUnparseErrorSAXException.html" title="This exception will be thrown when unparseResult.isError returns true during a SAX Unparse"></a>
<a href="DaffodilUnparseErrorSAXException.html" title="This exception will be thrown when unparseResult.isError returns true during a SAX Unparse">DaffodilUnparseErrorSAXException</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="DataLocation.html" title="Information related to a location in data"></a>
<a href="DataLocation.html" title="Information related to a location in data">DataLocation</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="" title="Compiled version of a DFDL Schema, used to parse data and get the DFDL infoset"></a>
<a href="" title="Compiled version of a DFDL Schema, used to parse data and get the DFDL infoset">DataProcessor</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="Diagnostic.html" title="Class containing diagnostic information"></a>
<a href="Diagnostic.html" title="Class containing diagnostic information">Diagnostic</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="ExternalVariableException.html" title="This exception will be thrown if an error occurs when setting an external variable."></a>
<a href="ExternalVariableException.html" title="This exception will be thrown if an error occurs when setting an external variable.">ExternalVariableException</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="InvalidParserException.html" title="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."></a>
<a href="InvalidParserException.html" title="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.">InvalidParserException</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="InvalidUsageException.html" title="This exception will be thrown as a result of an invalid usage of the Daffodil API"></a>
<a href="InvalidUsageException.html" title="This exception will be thrown as a result of an invalid usage of the Daffodil API">InvalidUsageException</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="LocationInSchemaFile.html" title="Information related to locations in DFDL schema files"></a>
<a href="LocationInSchemaFile.html" title="Information related to locations in DFDL schema files">LocationInSchemaFile</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="ParseResult.html" title="Result of calling DataProcessor.parse, containing any diagnostic information, and the final data location"></a>
<a href="ParseResult.html" title="Result of calling DataProcessor.parse, containing any diagnostic information, and the final data location">ParseResult</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="ProcessorFactory.html" title="Factory to create DataProcessor's, used for parsing data"></a>
<a href="ProcessorFactory.html" title="Factory to create DataProcessor's, used for parsing data">ProcessorFactory</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="UnparseResult.html" title="Result of calling DataProcessor.unparse, containing diagnostic information"></a>
<a href="UnparseResult.html" title="Result of calling DataProcessor.unparse, containing diagnostic information">UnparseResult</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="object" href="ValidationMode$.html" title="Validation modes for validating the resulting infoset against the DFDL schema"></a>
<a href="ValidationMode$.html" title="Validation modes for validating the resulting infoset against the DFDL schema">ValidationMode</a>
</li><li class="current-entities indented4">
<span class="separator"></span>
<a class="class" href="WithDiagnostics.html" title="Abstract class that adds diagnostic information to classes that extend it."></a>
<a href="WithDiagnostics.html" title="Abstract class that adds diagnostic information to classes that extend it.">WithDiagnostics</a>
</li>
</ul>
</div>
</div>
<div id="content">
<body class="class type">
<div id="definition">
<div class="big-circle class">c</div>
<p id="owner"><a href="../../../index.html" class="extype" name="org">org</a>.<a href="../../index.html" class="extype" name="org.apache">apache</a>.<a href="../index.html" class="extype" name="org.apache.daffodil">daffodil</a>.<a href="index.html" class="extype" name="org.apache.daffodil.sapi">sapi</a></p>
<h1>DataProcessor<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html" title="Permalink">
<i class="material-icons"></i>
</a>
</span></h1>
<h3><span class="morelinks"></span></h3>
</div>
<h4 id="signature" class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">class</span>
</span>
<span class="symbol">
<span class="name">DataProcessor</span><span class="result"> extends <a href="WithDiagnostics.html" class="extype" name="org.apache.daffodil.sapi.WithDiagnostics">WithDiagnostics</a> with <span class="extype" name="scala.Serializable">Serializable</span></span>
</span>
</h4>
<div id="comment" class="fullcommenttop"><div class="comment cmt"><p>Compiled version of a DFDL Schema, used to parse data and get the DFDL infoset
</p></div><div class="toggleContainer block">
<span class="toggle">
Linear Supertypes
</span>
<div class="superTypes hiddenContent"><a href="WithDiagnostics.html" class="extype" name="org.apache.daffodil.sapi.WithDiagnostics">WithDiagnostics</a>, <span class="extype" name="scala.Serializable">Serializable</span>, <span class="extype" name="java.io.Serializable">Serializable</span>, <span class="extype" name="scala.AnyRef">AnyRef</span>, <span class="extype" name="scala.Any">Any</span></div>
</div></div>
<div id="mbrsel">
<div class="toggle"></div>
<div id="memberfilter">
<i class="material-icons arrow"></i>
<span class="input">
<input id="mbrsel-input" placeholder="Filter all members" type="text" accesskey="/" />
</span>
<i class="clear material-icons"></i>
</div>
<div id="filterby">
<div id="order">
<span class="filtertype">Ordering</span>
<ol>
<li class="alpha in"><span>Alphabetic</span></li>
<li class="inherit out"><span>By Inheritance</span></li>
</ol>
</div>
<div class="ancestors">
<span class="filtertype">Inherited<br />
</span>
<ol id="linearization">
<li class="in" name="org.apache.daffodil.sapi.DataProcessor"><span>DataProcessor</span></li><li class="in" name="org.apache.daffodil.sapi.WithDiagnostics"><span>WithDiagnostics</span></li><li class="in" name="scala.Serializable"><span>Serializable</span></li><li class="in" name="java.io.Serializable"><span>Serializable</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li>
</ol>
</div><div class="ancestors">
<span class="filtertype"></span>
<ol>
<li class="hideall out"><span>Hide All</span></li>
<li class="showall in"><span>Show All</span></li>
</ol>
</div>
<div id="visbl">
<span class="filtertype">Visibility</span>
<ol><li class="public in"><span>Public</span></li><li class="all out"><span>All</span></li></ol>
</div>
</div>
</div>
<div id="template">
<div id="allMembers">
<div class="values members">
<h3>Value Members</h3>
<ol>
<li name="scala.AnyRef#!=" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="!=(x$1:Any):Boolean"></a><a id="!=(Any):Boolean"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#!=(x$1:Any):Boolean" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span title="gt4s: $bang$eq" class="name">!=</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="scala.AnyRef###" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="##():Int"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html###():Int" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span title="gt4s: $hash$hash" class="name">##</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="scala.AnyRef#==" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="==(x$1:Any):Boolean"></a><a id="==(Any):Boolean"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#==(x$1:Any):Boolean" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span title="gt4s: $eq$eq" class="name">==</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="scala.Any#asInstanceOf" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="asInstanceOf[T0]:T0"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#asInstanceOf[T0]:T0" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Any.asInstanceOf.T0">T0</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
</li><li name="scala.AnyRef#clone" visbl="prt" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="clone():Object"></a><a id="clone():AnyRef"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#clone():Object" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">clone</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.AnyRef">AnyRef</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<span class="extype" name="java.lang">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="defval" name="classOf[java.lang.CloneNotSupportedException]">...</span>
</span>)</span>
<span class="name">@native</span><span class="args">()</span>
</dd></dl></div>
</li><li name="scala.AnyRef#eq" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="eq(x$1:AnyRef):Boolean"></a><a id="eq(AnyRef):Boolean"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#eq(x$1:AnyRef):Boolean" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">eq</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="scala.AnyRef#equals" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="equals(x$1:Any):Boolean"></a><a id="equals(Any):Boolean"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#equals(x$1:Any):Boolean" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">equals</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="scala.AnyRef#finalize" visbl="prt" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="finalize():Unit"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#finalize():Unit" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">finalize</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<span class="extype" name="java.lang">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="symbol">classOf[java.lang.Throwable]</span>
</span>)</span>
</dd></dl></div>
</li><li name="scala.AnyRef#getClass" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="getClass():Class[_]"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#getClass():Class[_]" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">getClass</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.Class">Class</span>[_]</span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd><dt>Annotations</dt><dd>
<span class="name">@native</span><span class="args">()</span>
</dd></dl></div>
</li><li name="org.apache.daffodil.sapi.WithDiagnostics#getDiagnostics" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="getDiagnostics:Seq[org.apache.daffodil.sapi.Diagnostic]"></a><a id="getDiagnostics:Seq[Diagnostic]"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#getDiagnostics:Seq[org.apache.daffodil.sapi.Diagnostic]" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">getDiagnostics</span><span class="result">: <span class="extype" name="scala.Seq">Seq</span>[<a href="Diagnostic.html" class="extype" name="org.apache.daffodil.sapi.Diagnostic">Diagnostic</a>]</span>
</span>
<p class="shortcomment cmt">Get the list of <a href="Diagnostic.html" class="extype" name="org.apache.daffodil.sapi.Diagnostic">Diagnostic</a>'s created during the construction of the parent object
</p><div class="fullcomment"><div class="comment cmt"><p>Get the list of <a href="Diagnostic.html" class="extype" name="org.apache.daffodil.sapi.Diagnostic">Diagnostic</a>'s created during the construction of the parent object
</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>list of <a href="Diagnostic.html" class="extype" name="org.apache.daffodil.sapi.Diagnostic">Diagnostic</a>'s. May contain errors or warnings, and so may be non-empty even if <a href="WithDiagnostics.html#isError():Boolean" class="extmbr" name="org.apache.daffodil.sapi.WithDiagnostics#isError">WithDiagnostics.isError</a> is false.</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="WithDiagnostics.html" class="extype" name="org.apache.daffodil.sapi.WithDiagnostics">WithDiagnostics</a></dd></dl></div>
</li><li name="scala.AnyRef#hashCode" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="hashCode():Int"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#hashCode():Int" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">hashCode</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd><dt>Annotations</dt><dd>
<span class="name">@native</span><span class="args">()</span>
</dd></dl></div>
</li><li name="org.apache.daffodil.sapi.WithDiagnostics#isError" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="isError():Boolean"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#isError():Boolean" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">isError</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
<p class="shortcomment cmt">Determine if any errors occurred in the creation of the parent object.</p><div class="fullcomment"><div class="comment cmt"><p>Determine if any errors occurred in the creation of the parent object.
</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>true if no errors occurred, false otherwise</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="WithDiagnostics.html" class="extype" name="org.apache.daffodil.sapi.WithDiagnostics">WithDiagnostics</a></dd></dl></div>
</li><li name="scala.Any#isInstanceOf" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="isInstanceOf[T0]:Boolean"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#isInstanceOf[T0]:Boolean" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">isInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
</li><li name="scala.AnyRef#ne" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="ne(x$1:AnyRef):Boolean"></a><a id="ne(AnyRef):Boolean"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#ne(x$1:AnyRef):Boolean" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">ne</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#newContentHandlerInstance" visbl="pub" class="indented0 " data-isabs="false" fullComment="no" group="Ungrouped">
<a id="newContentHandlerInstance(output:java.nio.channels.WritableByteChannel):org.apache.daffodil.sapi.DaffodilUnparseContentHandler"></a><a id="newContentHandlerInstance(WritableByteChannel):DaffodilUnparseContentHandler"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#newContentHandlerInstance(output:java.nio.channels.WritableByteChannel):org.apache.daffodil.sapi.DaffodilUnparseContentHandler" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">newContentHandlerInstance</span><span class="params">(<span name="output">output: <span class="extype" name="java.nio.channels.WritableByteChannel">WritableByteChannel</span></span>)</span><span class="result">: <a href="DaffodilUnparseContentHandler.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnparseContentHandler">DaffodilUnparseContentHandler</a></span>
</span>
<p class="shortcomment cmt"> Obtain a new <a href="DaffodilUnparseContentHandler.html" class="extype" name="org.apache.daffodil.sapi.DaffodilUnparseContentHandler">DaffodilUnparseContentHandler</a> from the current <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a>.</p>
</li><li name="org.apache.daffodil.sapi.DataProcessor#newXMLReaderInstance" visbl="pub" class="indented0 " data-isabs="false" fullComment="no" group="Ungrouped">
<a id="newXMLReaderInstance():org.apache.daffodil.sapi.DaffodilParseXMLReader"></a><a id="newXMLReaderInstance():DaffodilParseXMLReader"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#newXMLReaderInstance():org.apache.daffodil.sapi.DaffodilParseXMLReader" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">newXMLReaderInstance</span><span class="params">()</span><span class="result">: <a href="DaffodilParseXMLReader.html" class="extype" name="org.apache.daffodil.sapi.DaffodilParseXMLReader">DaffodilParseXMLReader</a></span>
</span>
<p class="shortcomment cmt"> Obtain a new <a href="DaffodilParseXMLReader.html" class="extype" name="org.apache.daffodil.sapi.DaffodilParseXMLReader">DaffodilParseXMLReader</a> from the current <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a>.</p>
</li><li name="scala.AnyRef#notify" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="notify():Unit"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#notify():Unit" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">notify</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@native</span><span class="args">()</span>
</dd></dl></div>
</li><li name="scala.AnyRef#notifyAll" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="notifyAll():Unit"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#notifyAll():Unit" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">notifyAll</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@native</span><span class="args">()</span>
</dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#parse" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="parse(input:org.apache.daffodil.sapi.io.InputSourceDataInputStream,output:org.apache.daffodil.sapi.infoset.InfosetOutputter):org.apache.daffodil.sapi.ParseResult"></a><a id="parse(InputSourceDataInputStream,InfosetOutputter):ParseResult"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#parse(input:org.apache.daffodil.sapi.io.InputSourceDataInputStream,output:org.apache.daffodil.sapi.infoset.InfosetOutputter):org.apache.daffodil.sapi.ParseResult" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">parse</span><span class="params">(<span name="input">input: <a href="io/InputSourceDataInputStream.html" class="extype" name="org.apache.daffodil.sapi.io.InputSourceDataInputStream">InputSourceDataInputStream</a></span>, <span name="output">output: <a href="infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a></span>)</span><span class="result">: <a href="ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a></span>
</span>
<p class="shortcomment cmt">Parse input data from an InputSourceDataInputStream and output the infoset to an InfosetOutputter</p><div class="fullcomment"><div class="comment cmt"><p>Parse input data from an InputSourceDataInputStream and output the infoset to an InfosetOutputter</p></div><dl class="paramcmts block"><dt class="param">input</dt><dd class="cmt"><p>data to be parsed</p></dd><dt class="param">output</dt><dd class="cmt"><p>the InfosetOutputter that will be used to output the infoset</p></dd><dt>returns</dt><dd class="cmt"><p>an object which contains the result, and/or diagnostic information.</p></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#save" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="save(output:java.nio.channels.WritableByteChannel):Unit"></a><a id="save(WritableByteChannel):Unit"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#save(output:java.nio.channels.WritableByteChannel):Unit" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">save</span><span class="params">(<span name="output">output: <span class="extype" name="java.nio.channels.WritableByteChannel">WritableByteChannel</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
<p class="shortcomment cmt">Save the DataProcessor</p><div class="fullcomment"><div class="comment cmt"><p>Save the DataProcessor</p><p>The resulting output can be reloaded by <a href="Compiler.html#reload(savedParser:java.nio.channels.ReadableByteChannel):org.apache.daffodil.sapi.DataProcessor" class="extmbr" name="org.apache.daffodil.sapi.Compiler#reload">Compiler.reload</a>.</p></div><dl class="paramcmts block"><dt class="param">output</dt><dd class="cmt"><p>the byte channel to write the <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> to. Note that external variable settings are not saved.</p></dd></dl></div>
</li><li name="scala.AnyRef#synchronized" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="synchronized[T0](x$1:=&gt;T0):T0"></a><a id="synchronized[T0](⇒T0):T0"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#synchronized[T0](x$1:=&gt;T0):T0" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: ⇒ <span class="extype" name="java.lang.AnyRef.synchronized.T0">T0</span></span>)</span><span class="result">: <span class="extype" name="java.lang.AnyRef.synchronized.T0">T0</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="scala.AnyRef#toString" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="toString():String"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#toString():String" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">toString</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.String">String</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#unparse" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="unparse(input:org.apache.daffodil.sapi.infoset.InfosetInputter,output:java.nio.channels.WritableByteChannel):org.apache.daffodil.sapi.UnparseResult"></a><a id="unparse(InfosetInputter,WritableByteChannel):UnparseResult"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#unparse(input:org.apache.daffodil.sapi.infoset.InfosetInputter,output:java.nio.channels.WritableByteChannel):org.apache.daffodil.sapi.UnparseResult" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">unparse</span><span class="params">(<span name="input">input: <a href="infoset/InfosetInputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetInputter">InfosetInputter</a></span>, <span name="output">output: <span class="extype" name="java.nio.channels.WritableByteChannel">WritableByteChannel</span></span>)</span><span class="result">: <a href="UnparseResult.html" class="extype" name="org.apache.daffodil.sapi.UnparseResult">UnparseResult</a></span>
</span>
<p class="shortcomment cmt">Unparse an InfosetInputter
</p><div class="fullcomment"><div class="comment cmt"><p>Unparse an InfosetInputter
</p></div><dl class="paramcmts block"><dt class="param">input</dt><dd class="cmt"><p>the infoset inputter to use for unparsing</p></dd><dt class="param">output</dt><dd class="cmt"><p>the byte channel to write the data to</p></dd><dt>returns</dt><dd class="cmt"><p>an object with contains diagnostic information</p></dd></dl></div>
</li><li name="scala.AnyRef#wait" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="wait():Unit"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#wait():Unit" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">wait</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
</span>)</span>
</dd></dl></div>
</li><li name="scala.AnyRef#wait" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="wait(x$1:Long,x$2:Int):Unit"></a><a id="wait(Long,Int):Unit"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#wait(x$1:Long,x$2:Int):Unit" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Long">Long</span></span>, <span name="arg1">arg1: <span class="extype" name="scala.Int">Int</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
</span>)</span>
</dd></dl></div>
</li><li name="scala.AnyRef#wait" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="wait(x$1:Long):Unit"></a><a id="wait(Long):Unit"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#wait(x$1:Long):Unit" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Long">Long</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
</span>)</span>
<span class="name">@native</span><span class="args">()</span>
</dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#withDebugger" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="withDebugger(dbg:org.apache.daffodil.debugger.Debugger):org.apache.daffodil.sapi.DataProcessor"></a><a id="withDebugger(Debugger):DataProcessor"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#withDebugger(dbg:org.apache.daffodil.debugger.Debugger):org.apache.daffodil.sapi.DataProcessor" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">withDebugger</span><span class="params">(<span name="dbg">dbg: <span class="extype" name="org.apache.daffodil.debugger.Debugger">Debugger</span></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a></span>
</span>
<p class="shortcomment cmt">Obtain a new <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> with a specified debugger.</p><div class="fullcomment"><div class="comment cmt"><p>Obtain a new <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> with a specified debugger.
</p></div><dl class="paramcmts block"><dt class="param">dbg</dt><dd class="cmt"><p>debugger</p></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#withDebuggerRunner" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="withDebuggerRunner(dr:org.apache.daffodil.sapi.debugger.DebuggerRunner):org.apache.daffodil.sapi.DataProcessor"></a><a id="withDebuggerRunner(DebuggerRunner):DataProcessor"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#withDebuggerRunner(dr:org.apache.daffodil.sapi.debugger.DebuggerRunner):org.apache.daffodil.sapi.DataProcessor" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">withDebuggerRunner</span><span class="params">(<span name="dr">dr: <a href="debugger/DebuggerRunner.html" class="extype" name="org.apache.daffodil.sapi.debugger.DebuggerRunner">DebuggerRunner</a></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a></span>
</span>
<p class="shortcomment cmt">Obtain a new <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> with a specified debugger runner.</p><div class="fullcomment"><div class="comment cmt"><p>Obtain a new <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> with a specified debugger runner.
</p></div><dl class="paramcmts block"><dt class="param">dr</dt><dd class="cmt"><p>debugger runner</p></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#withDebugging" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="withDebugging(flag:Boolean):org.apache.daffodil.sapi.DataProcessor"></a><a id="withDebugging(Boolean):DataProcessor"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#withDebugging(flag:Boolean):org.apache.daffodil.sapi.DataProcessor" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">withDebugging</span><span class="params">(<span name="flag">flag: <span class="extype" name="scala.Boolean">Boolean</span></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a></span>
</span>
<p class="shortcomment cmt">Obtain a new <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> instance with debugging enabled or disabled.</p><div class="fullcomment"><div class="comment cmt"><p>Obtain a new <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> instance with debugging enabled or disabled.</p><p>Before enabling, <a href="#withDebugger(dbg:org.apache.daffodil.debugger.Debugger):org.apache.daffodil.sapi.DataProcessor" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#withDebugger">DataProcessor#withDebugger</a> or <a href="#withDebuggerRunner(dr:org.apache.daffodil.sapi.debugger.DebuggerRunner):org.apache.daffodil.sapi.DataProcessor" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#withDebuggerRunner">DataProcessor#withDebuggerRunner</a> must be called to obtain
a <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> with a non-null debugger.
</p></div><dl class="paramcmts block"><dt class="param">flag</dt><dd class="cmt"><p>true to enable debugging, false to disabled</p></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#withExternalVariables" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="withExternalVariables(extVars:Map[String,String]):org.apache.daffodil.sapi.DataProcessor"></a><a id="withExternalVariables(Map[String,String]):DataProcessor"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#withExternalVariables(extVars:Map[String,String]):org.apache.daffodil.sapi.DataProcessor" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">withExternalVariables</span><span class="params">(<span name="extVars">extVars: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>]</span>)</span><span class="result">: <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a></span>
</span>
<p class="shortcomment cmt"> Obtain a new <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> with multiple DFDL variables set.</p><div class="fullcomment"><div class="comment cmt"><p> Obtain a new <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> with multiple DFDL variables set.
</p></div><dl class="paramcmts block"><dt class="param">extVars</dt><dd class="cmt"><p>a map of key/value pairs, where the key is the variable
name, and the value is the value of the variable. The key
may be preceded by a string of the form &quot;{namespace}&quot; to
define a namespace for the variable. If preceded with &quot;{}&quot;,
then no namespace is used. If not preceded by anything,
then Daffodil will figure out the namespace.</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="symbol">classOf[ExternalVariableException]</span>
</span>)</span>
</dd><dt>Exceptions thrown</dt><dd><span class="cmt"><p><a href="ExternalVariableException.html" class="extype" name="org.apache.daffodil.sapi.ExternalVariableException"><code>ExternalVariableException</code></a> if an error occurs while setting an external variable</p></span></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#withExternalVariables" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="withExternalVariables(extVars:java.io.File):org.apache.daffodil.sapi.DataProcessor"></a><a id="withExternalVariables(File):DataProcessor"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#withExternalVariables(extVars:java.io.File):org.apache.daffodil.sapi.DataProcessor" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">withExternalVariables</span><span class="params">(<span name="extVars">extVars: <span class="extype" name="java.io.File">File</span></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a></span>
</span>
<p class="shortcomment cmt">Obtain a new <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> with external variables read from a Daffodil configuration file
</p><div class="fullcomment"><div class="comment cmt"><p>Obtain a new <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> with external variables read from a Daffodil configuration file
</p></div><dl class="paramcmts block"><dt class="param">extVars</dt><dd class="cmt"><p>file to read DFDL variables from.</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="symbol">classOf[ExternalVariableException]</span>
</span>)</span>
</dd><dt>Exceptions thrown</dt><dd><span class="cmt"><p><a href="ExternalVariableException.html" class="extype" name="org.apache.daffodil.sapi.ExternalVariableException"><code>ExternalVariableException</code></a> if an error occurs while setting an external variable</p></span></dd><dt>See also</dt><dd><span class="cmt"><p><a target="_blank" href='https://daffodil.apache.org/configuration/'>Daffodil Configuration File</a> - Daffodil configuration file format</p></span></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#withValidationMode" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="withValidationMode(mode:org.apache.daffodil.sapi.ValidationMode.ValidationMode):org.apache.daffodil.sapi.DataProcessor"></a><a id="withValidationMode(ValidationMode):DataProcessor"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#withValidationMode(mode:org.apache.daffodil.sapi.ValidationMode.ValidationMode):org.apache.daffodil.sapi.DataProcessor" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">withValidationMode</span><span class="params">(<span name="mode">mode: <a href="ValidationMode$.html#ValidationMode=org.apache.daffodil.sapi.ValidationMode.Value" class="extmbr" name="org.apache.daffodil.sapi.ValidationMode.ValidationMode">ValidationMode</a></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a></span>
</span>
<p class="shortcomment cmt">Obtain a new <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> having a specific validation mode
</p><div class="fullcomment"><div class="comment cmt"><p>Obtain a new <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a> having a specific validation mode
</p></div><dl class="paramcmts block"><dt class="param">mode</dt><dd class="cmt"><p>mode to control validation</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="symbol">classOf[InvalidUsageException]</span>
</span>)</span>
</dd><dt>Exceptions thrown</dt><dd><span class="cmt"><p><a href="InvalidUsageException.html" class="extype" name="org.apache.daffodil.sapi.InvalidUsageException"><code>InvalidUsageException</code></a> if mode is not a valid ValidateMode value</p></span></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#withValidator" visbl="pub" class="indented0 " data-isabs="false" fullComment="no" group="Ungrouped">
<a id="withValidator(validator:org.apache.daffodil.api.Validator):org.apache.daffodil.sapi.DataProcessor"></a><a id="withValidator(Validator):DataProcessor"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#withValidator(validator:org.apache.daffodil.api.Validator):org.apache.daffodil.sapi.DataProcessor" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">withValidator</span><span class="params">(<span name="validator">validator: <span class="extype" name="org.apache.daffodil.api.Validator">Validator</span></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.daffodil.sapi.DataProcessor">DataProcessor</a></span>
</span>
</li>
</ol>
</div>
<div class="values members">
<h3>Deprecated Value Members</h3>
<ol><li name="org.apache.daffodil.sapi.WithDiagnostics#canProceed" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="canProceed():Boolean"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#canProceed():Boolean" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name deprecated" title="Deprecated: (Since version 2.0.0) Use !isError() to determine if it is safe to proceed">canProceed</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
</span>
<p class="shortcomment cmt">Determine if this object can be used in any future parse activities
</p><div class="fullcomment"><div class="comment cmt"><p>Determine if this object can be used in any future parse activities
</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>true it is safe to proceed, false otherwise</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="WithDiagnostics.html" class="extype" name="org.apache.daffodil.sapi.WithDiagnostics">WithDiagnostics</a></dd><dt>Annotations</dt><dd>
<span class="name">@deprecated</span>
</dd><dt>Deprecated</dt><dd class="cmt"><p><i>(Since version 2.0.0)</i> Use !isError() to determine if it is safe to proceed</p></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#parse" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="parse(input:java.nio.channels.ReadableByteChannel,output:org.apache.daffodil.sapi.infoset.InfosetOutputter):org.apache.daffodil.sapi.ParseResult"></a><a id="parse(ReadableByteChannel,InfosetOutputter):ParseResult"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#parse(input:java.nio.channels.ReadableByteChannel,output:org.apache.daffodil.sapi.infoset.InfosetOutputter):org.apache.daffodil.sapi.ParseResult" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name deprecated" title="Deprecated: (Since version 2.2.0) Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult.result()">parse</span><span class="params">(<span name="input">input: <span class="extype" name="java.nio.channels.ReadableByteChannel">ReadableByteChannel</span></span>, <span name="output">output: <a href="infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a></span>)</span><span class="result">: <a href="ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a></span>
</span>
<p class="shortcomment cmt">Parse input data without specifying a length</p><div class="fullcomment"><div class="comment cmt"><p>Parse input data without specifying a length</p><p>Use this when you don't know how big the data is.
</p></div><dl class="paramcmts block"><dt class="param">input</dt><dd class="cmt"><p>data to be parsed</p></dd><dt class="param">output</dt><dd class="cmt"><p>the InfosetOutputter that will be used to output the infoset</p></dd><dt>returns</dt><dd class="cmt"><p>an object which contains the result, and/or diagnostic information.</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
<span class="name">@deprecated</span>
</dd><dt>Deprecated</dt><dd class="cmt"><p><i>(Since version 2.2.0)</i> Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult.result()</p></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#parse" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="parse(input:java.nio.channels.ReadableByteChannel,output:org.apache.daffodil.sapi.infoset.InfosetOutputter,lengthLimitInBits:Long):org.apache.daffodil.sapi.ParseResult"></a><a id="parse(ReadableByteChannel,InfosetOutputter,Long):ParseResult"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#parse(input:java.nio.channels.ReadableByteChannel,output:org.apache.daffodil.sapi.infoset.InfosetOutputter,lengthLimitInBits:Long):org.apache.daffodil.sapi.ParseResult" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name deprecated" title="Deprecated: (Since version 2.2.0) Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult.result()">parse</span><span class="params">(<span name="input">input: <span class="extype" name="java.nio.channels.ReadableByteChannel">ReadableByteChannel</span></span>, <span name="output">output: <a href="infoset/InfosetOutputter.html" class="extype" name="org.apache.daffodil.sapi.infoset.InfosetOutputter">InfosetOutputter</a></span>, <span name="lengthLimitInBits">lengthLimitInBits: <span class="extype" name="scala.Long">Long</span></span>)</span><span class="result">: <a href="ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a></span>
</span>
<p class="shortcomment cmt">Parse input data with a specified length
</p><div class="fullcomment"><div class="comment cmt"><p>Parse input data with a specified length
</p></div><dl class="paramcmts block"><dt class="param">input</dt><dd class="cmt"><p>data to be parsed</p></dd><dt class="param">output</dt><dd class="cmt"><p>the InfosetOutputter that will be used to output the infoset</p></dd><dt class="param">lengthLimitInBits</dt><dd class="cmt"><p>the length of the input data in bits, or -1 if no limit</p></dd><dt>returns</dt><dd class="cmt"><p>an object which contains the result, and/or diagnostic information.</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
<span class="name">@deprecated</span>
</dd><dt>Deprecated</dt><dd class="cmt"><p><i>(Since version 2.2.0)</i> Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult.result()</p></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#parse" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="parse(input:java.nio.channels.ReadableByteChannel):org.apache.daffodil.sapi.ParseResult"></a><a id="parse(ReadableByteChannel):ParseResult"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#parse(input:java.nio.channels.ReadableByteChannel):org.apache.daffodil.sapi.ParseResult" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name deprecated" title="Deprecated: (Since version 2.2.0) Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult.result()">parse</span><span class="params">(<span name="input">input: <span class="extype" name="java.nio.channels.ReadableByteChannel">ReadableByteChannel</span></span>)</span><span class="result">: <a href="ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a></span>
</span>
<p class="shortcomment cmt">Parse input data without specifying a length
</p><div class="fullcomment"><div class="comment cmt"><p>Parse input data without specifying a length
</p></div><dl class="paramcmts block"><dt class="param">input</dt><dd class="cmt"><p>data to be parsed</p></dd><dt>returns</dt><dd class="cmt"><p>an object which contains the result, and/or diagnostic information.</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
<span class="name">@deprecated</span>
</dd><dt>Deprecated</dt><dd class="cmt"><p><i>(Since version 2.2.0)</i> Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult.result()</p></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#parse" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="parse(input:java.nio.channels.ReadableByteChannel,lengthLimitInBits:Long):org.apache.daffodil.sapi.ParseResult"></a><a id="parse(ReadableByteChannel,Long):ParseResult"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#parse(input:java.nio.channels.ReadableByteChannel,lengthLimitInBits:Long):org.apache.daffodil.sapi.ParseResult" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name deprecated" title="Deprecated: (Since version 2.2.0) Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult.result()">parse</span><span class="params">(<span name="input">input: <span class="extype" name="java.nio.channels.ReadableByteChannel">ReadableByteChannel</span></span>, <span name="lengthLimitInBits">lengthLimitInBits: <span class="extype" name="scala.Long">Long</span></span>)</span><span class="result">: <a href="ParseResult.html" class="extype" name="org.apache.daffodil.sapi.ParseResult">ParseResult</a></span>
</span>
<p class="shortcomment cmt">Parse input data with a specified length
</p><div class="fullcomment"><div class="comment cmt"><p>Parse input data with a specified length
</p></div><dl class="paramcmts block"><dt class="param">input</dt><dd class="cmt"><p>data to be parsed</p></dd><dt class="param">lengthLimitInBits</dt><dd class="cmt"><p>the length of the input data in bits, or -1 if no limit</p></dd><dt>returns</dt><dd class="cmt"><p>an object which contains the result, and/or diagnostic information.</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
<span class="name">@deprecated</span>
</dd><dt>Deprecated</dt><dd class="cmt"><p><i>(Since version 2.2.0)</i> Use parse(InputSourceDataInputStream, InfosetOutputter) to parse the data and get the infoset representation from the InfosetOutputter instead of ParseResult.result()</p></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#setDebugger" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="setDebugger(dr:org.apache.daffodil.sapi.debugger.DebuggerRunner):Unit"></a><a id="setDebugger(DebuggerRunner):Unit"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#setDebugger(dr:org.apache.daffodil.sapi.debugger.DebuggerRunner):Unit" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name deprecated" title="Deprecated: (Since version 2.6.0) Use withDebuggerRunner.">setDebugger</span><span class="params">(<span name="dr">dr: <a href="debugger/DebuggerRunner.html" class="extype" name="org.apache.daffodil.sapi.debugger.DebuggerRunner">DebuggerRunner</a></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
<p class="shortcomment cmt">Set the debugger runner
</p><div class="fullcomment"><div class="comment cmt"><p>Set the debugger runner
</p></div><dl class="paramcmts block"><dt class="param">dr</dt><dd class="cmt"><p>debugger runner</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
<span class="name">@deprecated</span>
</dd><dt>Deprecated</dt><dd class="cmt"><p><i>(Since version 2.6.0)</i> Use withDebuggerRunner.</p></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#setDebugging" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="setDebugging(flag:Boolean):Unit"></a><a id="setDebugging(Boolean):Unit"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#setDebugging(flag:Boolean):Unit" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name deprecated" title="Deprecated: (Since version 2.6.0) Use withDebugging.">setDebugging</span><span class="params">(<span name="flag">flag: <span class="extype" name="scala.Boolean">Boolean</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
<p class="shortcomment cmt">Enable/disable debugging.</p><div class="fullcomment"><div class="comment cmt"><p>Enable/disable debugging.</p><p>Before enabling, <a href="#withDebugger(dbg:org.apache.daffodil.debugger.Debugger):org.apache.daffodil.sapi.DataProcessor" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#withDebugger">DataProcessor#withDebugger</a> or <a href="#withDebuggerRunner(dr:org.apache.daffodil.sapi.debugger.DebuggerRunner):org.apache.daffodil.sapi.DataProcessor" class="extmbr" name="org.apache.daffodil.sapi.DataProcessor#withDebuggerRunner">DataProcessor#withDebuggerRunner</a> must be called with a
non-null debugger.
</p></div><dl class="paramcmts block"><dt class="param">flag</dt><dd class="cmt"><p>true to enable debugging, false to disabled</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
<span class="name">@deprecated</span>
</dd><dt>Deprecated</dt><dd class="cmt"><p><i>(Since version 2.6.0)</i> Use withDebugging.</p></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#setExternalVariables" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="setExternalVariables(extVars:Map[String,String]):Unit"></a><a id="setExternalVariables(Map[String,String]):Unit"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#setExternalVariables(extVars:Map[String,String]):Unit" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name deprecated" title="Deprecated: (Since version 2.6.0) Use withExternalVariables.">setExternalVariables</span><span class="params">(<span name="extVars">extVars: <span class="extype" name="scala.Predef.Map">Map</span>[<span class="extype" name="scala.Predef.String">String</span>, <span class="extype" name="scala.Predef.String">String</span>]</span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
<p class="shortcomment cmt">Set the value of multiple DFDL variables
</p><div class="fullcomment"><div class="comment cmt"><p>Set the value of multiple DFDL variables
</p></div><dl class="paramcmts block"><dt class="param">extVars</dt><dd class="cmt"><p>a map of key/value pairs, where the key is the variable
name, and the value is the value of the variable. The key
may be preceded by a string of the form &quot;{namespace}&quot; to
define a namespace for the variable. If preceded with &quot;{}&quot;,
then no namespace is used. If not preceded by anything,
then Daffodil will figure out the namespace.</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
<span class="name">@deprecated</span>
<span class="name">@throws</span><span class="args">(<span>
<span class="symbol">classOf[ExternalVariableException]</span>
</span>)</span>
</dd><dt>Deprecated</dt><dd class="cmt"><p><i>(Since version 2.6.0)</i> Use withExternalVariables.</p></dd><dt>Exceptions thrown</dt><dd><span class="cmt"><p><a href="ExternalVariableException.html" class="extype" name="org.apache.daffodil.sapi.ExternalVariableException"><code>ExternalVariableException</code></a> if an error occurs while setting an external variable</p></span></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#setExternalVariables" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="setExternalVariables(extVars:java.io.File):Unit"></a><a id="setExternalVariables(File):Unit"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#setExternalVariables(extVars:java.io.File):Unit" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name deprecated" title="Deprecated: (Since version 2.6.0) Use withExternalVariables.">setExternalVariables</span><span class="params">(<span name="extVars">extVars: <span class="extype" name="java.io.File">File</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
<p class="shortcomment cmt">Read external variables from a Daffodil configuration file
</p><div class="fullcomment"><div class="comment cmt"><p>Read external variables from a Daffodil configuration file
</p></div><dl class="paramcmts block"><dt class="param">extVars</dt><dd class="cmt"><p>file to read DFDL variables from.</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
<span class="name">@deprecated</span>
<span class="name">@throws</span><span class="args">(<span>
<span class="symbol">classOf[ExternalVariableException]</span>
</span>)</span>
</dd><dt>Deprecated</dt><dd class="cmt"><p><i>(Since version 2.6.0)</i> Use withExternalVariables.</p></dd><dt>Exceptions thrown</dt><dd><span class="cmt"><p><a href="ExternalVariableException.html" class="extype" name="org.apache.daffodil.sapi.ExternalVariableException"><code>ExternalVariableException</code></a> if an error occurs while setting an external variable</p></span></dd><dt>See also</dt><dd><span class="cmt"><p><a target="_blank" href='https://daffodil.apache.org/configuration/'>Daffodil Configuration File</a> - Daffodil configuration file format</p></span></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#setValidationMode" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="setValidationMode(mode:org.apache.daffodil.sapi.ValidationMode.ValidationMode):Unit"></a><a id="setValidationMode(ValidationMode):Unit"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#setValidationMode(mode:org.apache.daffodil.sapi.ValidationMode.ValidationMode):Unit" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name deprecated" title="Deprecated: (Since version 2.6.0) Use withValidationMode.">setValidationMode</span><span class="params">(<span name="mode">mode: <a href="ValidationMode$.html#ValidationMode=org.apache.daffodil.sapi.ValidationMode.Value" class="extmbr" name="org.apache.daffodil.sapi.ValidationMode.ValidationMode">ValidationMode</a></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
</span>
<p class="shortcomment cmt">Set validation mode
</p><div class="fullcomment"><div class="comment cmt"><p>Set validation mode
</p></div><dl class="paramcmts block"><dt class="param">mode</dt><dd class="cmt"><p>mode to control validation</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
<span class="name">@deprecated</span>
<span class="name">@throws</span><span class="args">(<span>
<span class="symbol">classOf[InvalidUsageException]</span>
</span>)</span>
</dd><dt>Deprecated</dt><dd class="cmt"><p><i>(Since version 2.6.0)</i> Use withValidationMode.</p></dd><dt>Exceptions thrown</dt><dd><span class="cmt"><p><a href="InvalidUsageException.html" class="extype" name="org.apache.daffodil.sapi.InvalidUsageException"><code>InvalidUsageException</code></a> if mode is not a valid ValidateMode value</p></span></dd></dl></div>
</li><li name="org.apache.daffodil.sapi.DataProcessor#unparse" visbl="pub" class="indented0 " data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="unparse(output:java.nio.channels.WritableByteChannel,infoset:scala.xml.Node):org.apache.daffodil.sapi.UnparseResult"></a><a id="unparse(WritableByteChannel,Node):UnparseResult"></a>
<span class="permalink">
<a href="../../../../org/apache/daffodil/sapi/DataProcessor.html#unparse(output:java.nio.channels.WritableByteChannel,infoset:scala.xml.Node):org.apache.daffodil.sapi.UnparseResult" title="Permalink">
<i class="material-icons"></i>
</a>
</span>
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name deprecated" title="Deprecated: (Since version 2.0.0) Use unparse(InfosetInputter, WritableByteChannel)">unparse</span><span class="params">(<span name="output">output: <span class="extype" name="java.nio.channels.WritableByteChannel">WritableByteChannel</span></span>, <span name="infoset">infoset: <span class="extype" name="scala.xml.Node">Node</span></span>)</span><span class="result">: <a href="UnparseResult.html" class="extype" name="org.apache.daffodil.sapi.UnparseResult">UnparseResult</a></span>
</span>
<p class="shortcomment cmt">Unparse a scala.xml.Node infoset
</p><div class="fullcomment"><div class="comment cmt"><p>Unparse a scala.xml.Node infoset
</p></div><dl class="paramcmts block"><dt class="param">output</dt><dd class="cmt"><p>the byte channel to write the data to</p></dd><dt class="param">infoset</dt><dd class="cmt"><p>the infoset to unparse, as a scala xml Node</p></dd><dt>returns</dt><dd class="cmt"><p>an object with contains the result and/or diagnostic information</p></dd></dl><dl class="attributes block"> <dt>Annotations</dt><dd>
<span class="name">@deprecated</span>
</dd><dt>Deprecated</dt><dd class="cmt"><p><i>(Since version 2.0.0)</i> Use unparse(InfosetInputter, WritableByteChannel)</p></dd></dl></div>
</li></ol>
</div>
</div>
<div id="inheritedMembers">
<div class="parent" name="org.apache.daffodil.sapi.WithDiagnostics">
<h3>Inherited from <a href="WithDiagnostics.html" class="extype" name="org.apache.daffodil.sapi.WithDiagnostics">WithDiagnostics</a></h3>
</div><div class="parent" name="scala.Serializable">
<h3>Inherited from <span class="extype" name="scala.Serializable">Serializable</span></h3>
</div><div class="parent" name="java.io.Serializable">
<h3>Inherited from <span class="extype" name="java.io.Serializable">Serializable</span></h3>
</div><div class="parent" name="scala.AnyRef">
<h3>Inherited from <span class="extype" name="scala.AnyRef">AnyRef</span></h3>
</div><div class="parent" name="scala.Any">
<h3>Inherited from <span class="extype" name="scala.Any">Any</span></h3>
</div>
</div>
<div id="groupedMembers">
<div class="group" name="Ungrouped">
<h3>Ungrouped</h3>
</div>
</div>
</div>
<div id="tooltip"></div>
<div id="footer"> </div>
</body>
</div>
</div>
</div>
</body>
</html>