<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>XMLUtils xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../apidocs/org/apache/chemistry/opencmis/commons/impl/XMLUtils.html">View Javadoc</a></div><pre>

<a class="jxr_linenumber" name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="3" href="#3">3</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="4" href="#4">4</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a class="jxr_linenumber" name="5" href="#5">5</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="6" href="#6">6</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="7" href="#7">7</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="8" href="#8">8</a>   <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="10" href="#10">10</a>  <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a class="jxr_linenumber" name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="12" href="#12">12</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="13" href="#13">13</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="14" href="#14">14</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="15" href="#15">15</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="16" href="#16">16</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="17" href="#17">17</a>  <em class="jxr_comment"> * under the License.</em>
<a class="jxr_linenumber" name="18" href="#18">18</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="19" href="#19">19</a>  <strong class="jxr_keyword">package</strong> org.apache.chemistry.opencmis.commons.impl;
<a class="jxr_linenumber" name="20" href="#20">20</a>  
<a class="jxr_linenumber" name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.InputStream;
<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.io.OutputStream;
<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.math.BigDecimal;
<a class="jxr_linenumber" name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.math.BigInteger;
<a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.GregorianCalendar;
<a class="jxr_linenumber" name="27" href="#27">27</a>  
<a class="jxr_linenumber" name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> javax.xml.parsers.DocumentBuilder;
<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> javax.xml.parsers.DocumentBuilderFactory;
<a class="jxr_linenumber" name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> javax.xml.parsers.ParserConfigurationException;
<a class="jxr_linenumber" name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> javax.xml.stream.XMLInputFactory;
<a class="jxr_linenumber" name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> javax.xml.stream.XMLOutputFactory;
<a class="jxr_linenumber" name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> javax.xml.stream.XMLStreamConstants;
<a class="jxr_linenumber" name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> javax.xml.stream.XMLStreamException;
<a class="jxr_linenumber" name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> javax.xml.stream.XMLStreamReader;
<a class="jxr_linenumber" name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> javax.xml.stream.XMLStreamWriter;
<a class="jxr_linenumber" name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> javax.xml.transform.OutputKeys;
<a class="jxr_linenumber" name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> javax.xml.transform.Transformer;
<a class="jxr_linenumber" name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> javax.xml.transform.TransformerConfigurationException;
<a class="jxr_linenumber" name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> javax.xml.transform.TransformerFactory;
<a class="jxr_linenumber" name="41" href="#41">41</a>  
<a class="jxr_linenumber" name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
<a class="jxr_linenumber" name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.w3c.dom.Document;
<a class="jxr_linenumber" name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.xml.sax.SAXException;
<a class="jxr_linenumber" name="47" href="#47">47</a>  
<a class="jxr_linenumber" name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> com.ctc.wstx.api.InvalidCharHandler;
<a class="jxr_linenumber" name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> com.ctc.wstx.api.WstxOutputProperties;
<a class="jxr_linenumber" name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> com.ctc.wstx.stax.WstxInputFactory;
<a class="jxr_linenumber" name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> com.ctc.wstx.stax.WstxOutputFactory;
<a class="jxr_linenumber" name="52" href="#52">52</a>  
<a class="jxr_linenumber" name="53" href="#53">53</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/XMLUtils.html">XMLUtils</a> {
<a class="jxr_linenumber" name="54" href="#54">54</a>  
<a class="jxr_linenumber" name="55" href="#55">55</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Logger LOG = LoggerFactory.getLogger(XMLUtils.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="56" href="#56">56</a>  
<a class="jxr_linenumber" name="57" href="#57">57</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLInputFactory XML_INPUT_FACTORY;
<a class="jxr_linenumber" name="58" href="#58">58</a>      <strong class="jxr_keyword">static</strong> {
<a class="jxr_linenumber" name="59" href="#59">59</a>          XMLInputFactory factory;
<a class="jxr_linenumber" name="60" href="#60">60</a>  
<a class="jxr_linenumber" name="61" href="#61">61</a>          <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="62" href="#62">62</a>              <em class="jxr_comment">// Woodstox is the only supported and tested StAX implementation</em>
<a class="jxr_linenumber" name="63" href="#63">63</a>              WstxInputFactory wstxFactory = (WstxInputFactory) ClassLoaderUtil.loadClass(
<a class="jxr_linenumber" name="64" href="#64">64</a>                      <span class="jxr_string">"com.ctc.wstx.stax.WstxInputFactory"</span>).newInstance();
<a class="jxr_linenumber" name="65" href="#65">65</a>              wstxFactory.configureForSpeed();
<a class="jxr_linenumber" name="66" href="#66">66</a>  
<a class="jxr_linenumber" name="67" href="#67">67</a>              factory = wstxFactory;
<a class="jxr_linenumber" name="68" href="#68">68</a>          } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="69" href="#69">69</a>              <em class="jxr_comment">// other StAX implementations may work, too</em>
<a class="jxr_linenumber" name="70" href="#70">70</a>              factory = XMLInputFactory.newInstance();
<a class="jxr_linenumber" name="71" href="#71">71</a>  
<a class="jxr_linenumber" name="72" href="#72">72</a>              <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="73" href="#73">73</a>                  <em class="jxr_comment">// for the SJSXP parser</em>
<a class="jxr_linenumber" name="74" href="#74">74</a>                  factory.setProperty(<span class="jxr_string">"reuse-instance"</span>, Boolean.FALSE);
<a class="jxr_linenumber" name="75" href="#75">75</a>              } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException ex) {
<a class="jxr_linenumber" name="76" href="#76">76</a>                  <em class="jxr_comment">// ignore</em>
<a class="jxr_linenumber" name="77" href="#77">77</a>              }
<a class="jxr_linenumber" name="78" href="#78">78</a>  
<a class="jxr_linenumber" name="79" href="#79">79</a>              LOG.warn(<span class="jxr_string">"Unsupported StAX parser: {} (Exception: {})"</span>, factory.getClass().getName(), e.toString(), e);
<a class="jxr_linenumber" name="80" href="#80">80</a>          }
<a class="jxr_linenumber" name="81" href="#81">81</a>  
<a class="jxr_linenumber" name="82" href="#82">82</a>          factory.setProperty(XMLInputFactory.IS_COALESCING, Boolean.FALSE);
<a class="jxr_linenumber" name="83" href="#83">83</a>          factory.setProperty(XMLInputFactory.SUPPORT_DTD, Boolean.FALSE);
<a class="jxr_linenumber" name="84" href="#84">84</a>          factory.setProperty(XMLInputFactory.IS_VALIDATING, Boolean.FALSE);
<a class="jxr_linenumber" name="85" href="#85">85</a>  
<a class="jxr_linenumber" name="86" href="#86">86</a>          XML_INPUT_FACTORY = factory;
<a class="jxr_linenumber" name="87" href="#87">87</a>      }
<a class="jxr_linenumber" name="88" href="#88">88</a>  
<a class="jxr_linenumber" name="89" href="#89">89</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLOutputFactory XML_OUTPUT_FACTORY;
<a class="jxr_linenumber" name="90" href="#90">90</a>      <strong class="jxr_keyword">static</strong> {
<a class="jxr_linenumber" name="91" href="#91">91</a>          XMLOutputFactory factory;
<a class="jxr_linenumber" name="92" href="#92">92</a>  
<a class="jxr_linenumber" name="93" href="#93">93</a>          <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="94" href="#94">94</a>              <em class="jxr_comment">// Woodstox is the only supported and tested StAX implementation</em>
<a class="jxr_linenumber" name="95" href="#95">95</a>              WstxOutputFactory wstxFactory = (WstxOutputFactory) ClassLoaderUtil.loadClass(
<a class="jxr_linenumber" name="96" href="#96">96</a>                      <span class="jxr_string">"com.ctc.wstx.stax.WstxOutputFactory"</span>).newInstance();
<a class="jxr_linenumber" name="97" href="#97">97</a>              wstxFactory.configureForSpeed();
<a class="jxr_linenumber" name="98" href="#98">98</a>              wstxFactory.setProperty(WstxOutputProperties.P_OUTPUT_INVALID_CHAR_HANDLER,
<a class="jxr_linenumber" name="99" href="#99">99</a>                      <strong class="jxr_keyword">new</strong> InvalidCharHandler.ReplacingHandler(' '));
<a class="jxr_linenumber" name="100" href="#100">100</a> 
<a class="jxr_linenumber" name="101" href="#101">101</a>             factory = wstxFactory;
<a class="jxr_linenumber" name="102" href="#102">102</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="103" href="#103">103</a>             <em class="jxr_comment">// other StAX implementations may work, too</em>
<a class="jxr_linenumber" name="104" href="#104">104</a>             factory = XMLOutputFactory.newInstance();
<a class="jxr_linenumber" name="105" href="#105">105</a> 
<a class="jxr_linenumber" name="106" href="#106">106</a>             <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="107" href="#107">107</a>                 <em class="jxr_comment">// for the SJSXP parser</em>
<a class="jxr_linenumber" name="108" href="#108">108</a>                 factory.setProperty(<span class="jxr_string">"reuse-instance"</span>, Boolean.FALSE);
<a class="jxr_linenumber" name="109" href="#109">109</a>             } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException ex) {
<a class="jxr_linenumber" name="110" href="#110">110</a>                 <em class="jxr_comment">// ignore</em>
<a class="jxr_linenumber" name="111" href="#111">111</a>             }
<a class="jxr_linenumber" name="112" href="#112">112</a> 
<a class="jxr_linenumber" name="113" href="#113">113</a>             LOG.warn(<span class="jxr_string">"Unsupported StAX parser: {} (Exception: {})"</span>, factory.getClass().getName(), e.toString(), e);
<a class="jxr_linenumber" name="114" href="#114">114</a>         }
<a class="jxr_linenumber" name="115" href="#115">115</a> 
<a class="jxr_linenumber" name="116" href="#116">116</a>         factory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.FALSE);
<a class="jxr_linenumber" name="117" href="#117">117</a> 
<a class="jxr_linenumber" name="118" href="#118">118</a>         XML_OUTPUT_FACTORY = factory;
<a class="jxr_linenumber" name="119" href="#119">119</a>     }
<a class="jxr_linenumber" name="120" href="#120">120</a> 
<a class="jxr_linenumber" name="121" href="#121">121</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/XMLUtils.html">XMLUtils</a>() {
<a class="jxr_linenumber" name="122" href="#122">122</a>     }
<a class="jxr_linenumber" name="123" href="#123">123</a> 
<a class="jxr_linenumber" name="124" href="#124">124</a>     <em class="jxr_comment">// --------------</em>
<a class="jxr_linenumber" name="125" href="#125">125</a>     <em class="jxr_comment">// --- writer ---</em>
<a class="jxr_linenumber" name="126" href="#126">126</a>     <em class="jxr_comment">// --------------</em>
<a class="jxr_linenumber" name="127" href="#127">127</a> 
<a class="jxr_linenumber" name="128" href="#128">128</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="129" href="#129">129</a> <em class="jxr_javadoccomment">     * Creates a new XML writer.</em>
<a class="jxr_linenumber" name="130" href="#130">130</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="131" href="#131">131</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> XMLStreamWriter createWriter(<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/Base64.html">OutputStream</a> out) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="132" href="#132">132</a>         assert out != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="133" href="#133">133</a> 
<a class="jxr_linenumber" name="134" href="#134">134</a>         <strong class="jxr_keyword">return</strong> XML_OUTPUT_FACTORY.createXMLStreamWriter(out, IOUtils.UTF8);
<a class="jxr_linenumber" name="135" href="#135">135</a>     }
<a class="jxr_linenumber" name="136" href="#136">136</a> 
<a class="jxr_linenumber" name="137" href="#137">137</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="138" href="#138">138</a> <em class="jxr_javadoccomment">     * Starts a XML document.</em>
<a class="jxr_linenumber" name="139" href="#139">139</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="140" href="#140">140</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> startXmlDocument(XMLStreamWriter writer) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="141" href="#141">141</a>         assert writer != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="142" href="#142">142</a> 
<a class="jxr_linenumber" name="143" href="#143">143</a>         writer.setPrefix(XMLConstants.PREFIX_ATOM, XMLConstants.NAMESPACE_ATOM);
<a class="jxr_linenumber" name="144" href="#144">144</a>         writer.setPrefix(XMLConstants.PREFIX_CMIS, XMLConstants.NAMESPACE_CMIS);
<a class="jxr_linenumber" name="145" href="#145">145</a>         writer.setPrefix(XMLConstants.PREFIX_RESTATOM, XMLConstants.NAMESPACE_RESTATOM);
<a class="jxr_linenumber" name="146" href="#146">146</a>         writer.setPrefix(XMLConstants.PREFIX_APACHE_CHEMISTY, XMLConstants.NAMESPACE_APACHE_CHEMISTRY);
<a class="jxr_linenumber" name="147" href="#147">147</a> 
<a class="jxr_linenumber" name="148" href="#148">148</a>         writer.writeStartDocument();
<a class="jxr_linenumber" name="149" href="#149">149</a>     }
<a class="jxr_linenumber" name="150" href="#150">150</a> 
<a class="jxr_linenumber" name="151" href="#151">151</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="152" href="#152">152</a> <em class="jxr_javadoccomment">     * Ends a XML document.</em>
<a class="jxr_linenumber" name="153" href="#153">153</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="154" href="#154">154</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> endXmlDocument(XMLStreamWriter writer) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="155" href="#155">155</a>         assert writer != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="156" href="#156">156</a> 
<a class="jxr_linenumber" name="157" href="#157">157</a>         writer.writeEndDocument();
<a class="jxr_linenumber" name="158" href="#158">158</a>         writer.close();
<a class="jxr_linenumber" name="159" href="#159">159</a>     }
<a class="jxr_linenumber" name="160" href="#160">160</a> 
<a class="jxr_linenumber" name="161" href="#161">161</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="162" href="#162">162</a> <em class="jxr_javadoccomment">     * Writes a String tag.</em>
<a class="jxr_linenumber" name="163" href="#163">163</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="164" href="#164">164</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> write(XMLStreamWriter writer, String prefix, String namespace, String tag, String value)
<a class="jxr_linenumber" name="165" href="#165">165</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="166" href="#166">166</a>         assert writer != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="167" href="#167">167</a> 
<a class="jxr_linenumber" name="168" href="#168">168</a>         <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="169" href="#169">169</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="170" href="#170">170</a>         }
<a class="jxr_linenumber" name="171" href="#171">171</a> 
<a class="jxr_linenumber" name="172" href="#172">172</a>         <strong class="jxr_keyword">if</strong> (namespace == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="173" href="#173">173</a>             writer.writeStartElement(tag);
<a class="jxr_linenumber" name="174" href="#174">174</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="175" href="#175">175</a>             writer.writeStartElement(prefix, tag, namespace);
<a class="jxr_linenumber" name="176" href="#176">176</a>         }
<a class="jxr_linenumber" name="177" href="#177">177</a>         writer.writeCharacters(value);
<a class="jxr_linenumber" name="178" href="#178">178</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="179" href="#179">179</a>     }
<a class="jxr_linenumber" name="180" href="#180">180</a> 
<a class="jxr_linenumber" name="181" href="#181">181</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="182" href="#182">182</a> <em class="jxr_javadoccomment">     * Writes an Integer tag.</em>
<a class="jxr_linenumber" name="183" href="#183">183</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="184" href="#184">184</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> write(XMLStreamWriter writer, String prefix, String namespace, String tag, BigInteger value)
<a class="jxr_linenumber" name="185" href="#185">185</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="186" href="#186">186</a>         assert writer != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="187" href="#187">187</a> 
<a class="jxr_linenumber" name="188" href="#188">188</a>         <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="189" href="#189">189</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="190" href="#190">190</a>         }
<a class="jxr_linenumber" name="191" href="#191">191</a> 
<a class="jxr_linenumber" name="192" href="#192">192</a>         write(writer, prefix, namespace, tag, value.toString());
<a class="jxr_linenumber" name="193" href="#193">193</a>     }
<a class="jxr_linenumber" name="194" href="#194">194</a> 
<a class="jxr_linenumber" name="195" href="#195">195</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="196" href="#196">196</a> <em class="jxr_javadoccomment">     * Writes a Decimal tag.</em>
<a class="jxr_linenumber" name="197" href="#197">197</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="198" href="#198">198</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> write(XMLStreamWriter writer, String prefix, String namespace, String tag, BigDecimal value)
<a class="jxr_linenumber" name="199" href="#199">199</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="200" href="#200">200</a>         assert writer != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="201" href="#201">201</a> 
<a class="jxr_linenumber" name="202" href="#202">202</a>         <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="203" href="#203">203</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="204" href="#204">204</a>         }
<a class="jxr_linenumber" name="205" href="#205">205</a> 
<a class="jxr_linenumber" name="206" href="#206">206</a>         write(writer, prefix, namespace, tag, value.toPlainString());
<a class="jxr_linenumber" name="207" href="#207">207</a>     }
<a class="jxr_linenumber" name="208" href="#208">208</a> 
<a class="jxr_linenumber" name="209" href="#209">209</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="210" href="#210">210</a> <em class="jxr_javadoccomment">     * Writes a DateTime tag.</em>
<a class="jxr_linenumber" name="211" href="#211">211</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="212" href="#212">212</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> write(XMLStreamWriter writer, String prefix, String namespace, String tag,
<a class="jxr_linenumber" name="213" href="#213">213</a>             GregorianCalendar value) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="214" href="#214">214</a>         assert writer != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="215" href="#215">215</a> 
<a class="jxr_linenumber" name="216" href="#216">216</a>         <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="217" href="#217">217</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="218" href="#218">218</a>         }
<a class="jxr_linenumber" name="219" href="#219">219</a> 
<a class="jxr_linenumber" name="220" href="#220">220</a>         write(writer, prefix, namespace, tag, DateTimeHelper.formatXmlDateTime(value));
<a class="jxr_linenumber" name="221" href="#221">221</a>     }
<a class="jxr_linenumber" name="222" href="#222">222</a> 
<a class="jxr_linenumber" name="223" href="#223">223</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="224" href="#224">224</a> <em class="jxr_javadoccomment">     * Writes a Boolean tag.</em>
<a class="jxr_linenumber" name="225" href="#225">225</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="226" href="#226">226</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> write(XMLStreamWriter writer, String prefix, String namespace, String tag, Boolean value)
<a class="jxr_linenumber" name="227" href="#227">227</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="228" href="#228">228</a>         assert writer != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="229" href="#229">229</a> 
<a class="jxr_linenumber" name="230" href="#230">230</a>         <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="231" href="#231">231</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="232" href="#232">232</a>         }
<a class="jxr_linenumber" name="233" href="#233">233</a> 
<a class="jxr_linenumber" name="234" href="#234">234</a>         write(writer, prefix, namespace, tag, value ? <span class="jxr_string">"true"</span> : <span class="jxr_string">"false"</span>);
<a class="jxr_linenumber" name="235" href="#235">235</a>     }
<a class="jxr_linenumber" name="236" href="#236">236</a> 
<a class="jxr_linenumber" name="237" href="#237">237</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="238" href="#238">238</a> <em class="jxr_javadoccomment">     * Writes an Enum tag.</em>
<a class="jxr_linenumber" name="239" href="#239">239</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="240" href="#240">240</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> write(XMLStreamWriter writer, String prefix, String namespace, String tag, Enum&lt;?&gt; value)
<a class="jxr_linenumber" name="241" href="#241">241</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="242" href="#242">242</a>         assert writer != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="243" href="#243">243</a> 
<a class="jxr_linenumber" name="244" href="#244">244</a>         <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="245" href="#245">245</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="246" href="#246">246</a>         }
<a class="jxr_linenumber" name="247" href="#247">247</a> 
<a class="jxr_linenumber" name="248" href="#248">248</a>         Object enumValue;
<a class="jxr_linenumber" name="249" href="#249">249</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="250" href="#250">250</a>             enumValue = value.getClass().getMethod(<span class="jxr_string">"value"</span>, <strong class="jxr_keyword">new</strong> Class[0]).invoke(value, <strong class="jxr_keyword">new</strong> Object[0]);
<a class="jxr_linenumber" name="251" href="#251">251</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="252" href="#252">252</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> XMLStreamException(<span class="jxr_string">"Cannot get enum value"</span>, e);
<a class="jxr_linenumber" name="253" href="#253">253</a>         }
<a class="jxr_linenumber" name="254" href="#254">254</a> 
<a class="jxr_linenumber" name="255" href="#255">255</a>         write(writer, prefix, namespace, tag, enumValue.toString());
<a class="jxr_linenumber" name="256" href="#256">256</a>     }
<a class="jxr_linenumber" name="257" href="#257">257</a> 
<a class="jxr_linenumber" name="258" href="#258">258</a>     <em class="jxr_comment">// ---------------</em>
<a class="jxr_linenumber" name="259" href="#259">259</a>     <em class="jxr_comment">// ---- parser ---</em>
<a class="jxr_linenumber" name="260" href="#260">260</a>     <em class="jxr_comment">// ---------------</em>
<a class="jxr_linenumber" name="261" href="#261">261</a> 
<a class="jxr_linenumber" name="262" href="#262">262</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="263" href="#263">263</a> <em class="jxr_javadoccomment">     * Creates a new XML parser with OpenCMIS default settings.</em>
<a class="jxr_linenumber" name="264" href="#264">264</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="265" href="#265">265</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> XMLStreamReader createParser(<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/Base64.html">InputStream</a> stream) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="266" href="#266">266</a>         <strong class="jxr_keyword">return</strong> XML_INPUT_FACTORY.createXMLStreamReader(stream);
<a class="jxr_linenumber" name="267" href="#267">267</a>     }
<a class="jxr_linenumber" name="268" href="#268">268</a> 
<a class="jxr_linenumber" name="269" href="#269">269</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="270" href="#270">270</a> <em class="jxr_javadoccomment">     * Moves the parser to the next element.</em>
<a class="jxr_linenumber" name="271" href="#271">271</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="272" href="#272">272</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> next(XMLStreamReader parser) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="273" href="#273">273</a>         assert parser != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="274" href="#274">274</a> 
<a class="jxr_linenumber" name="275" href="#275">275</a>         <strong class="jxr_keyword">if</strong> (parser.hasNext()) {
<a class="jxr_linenumber" name="276" href="#276">276</a>             parser.next();
<a class="jxr_linenumber" name="277" href="#277">277</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="278" href="#278">278</a>         }
<a class="jxr_linenumber" name="279" href="#279">279</a> 
<a class="jxr_linenumber" name="280" href="#280">280</a>         <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="281" href="#281">281</a>     }
<a class="jxr_linenumber" name="282" href="#282">282</a> 
<a class="jxr_linenumber" name="283" href="#283">283</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="284" href="#284">284</a> <em class="jxr_javadoccomment">     * Skips a tag or subtree.</em>
<a class="jxr_linenumber" name="285" href="#285">285</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="286" href="#286">286</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> skip(XMLStreamReader parser) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="287" href="#287">287</a>         assert parser != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="288" href="#288">288</a> 
<a class="jxr_linenumber" name="289" href="#289">289</a>         <strong class="jxr_keyword">int</strong> level = 1;
<a class="jxr_linenumber" name="290" href="#290">290</a>         <strong class="jxr_keyword">while</strong> (next(parser)) {
<a class="jxr_linenumber" name="291" href="#291">291</a>             <strong class="jxr_keyword">int</strong> event = parser.getEventType();
<a class="jxr_linenumber" name="292" href="#292">292</a>             <strong class="jxr_keyword">if</strong> (event == XMLStreamConstants.START_ELEMENT) {
<a class="jxr_linenumber" name="293" href="#293">293</a>                 level++;
<a class="jxr_linenumber" name="294" href="#294">294</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (event == XMLStreamConstants.END_ELEMENT) {
<a class="jxr_linenumber" name="295" href="#295">295</a>                 level--;
<a class="jxr_linenumber" name="296" href="#296">296</a>                 <strong class="jxr_keyword">if</strong> (level == 0) {
<a class="jxr_linenumber" name="297" href="#297">297</a>                     <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="298" href="#298">298</a>                 }
<a class="jxr_linenumber" name="299" href="#299">299</a>             }
<a class="jxr_linenumber" name="300" href="#300">300</a>         }
<a class="jxr_linenumber" name="301" href="#301">301</a> 
<a class="jxr_linenumber" name="302" href="#302">302</a>         next(parser);
<a class="jxr_linenumber" name="303" href="#303">303</a>     }
<a class="jxr_linenumber" name="304" href="#304">304</a> 
<a class="jxr_linenumber" name="305" href="#305">305</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="306" href="#306">306</a> <em class="jxr_javadoccomment">     * Moves the parser to the next start element.</em>
<a class="jxr_linenumber" name="307" href="#307">307</a> <em class="jxr_javadoccomment">     * </em>
<a class="jxr_linenumber" name="308" href="#308">308</a> <em class="jxr_javadoccomment">     * @return {@code true} if another start element has been found,</em>
<a class="jxr_linenumber" name="309" href="#309">309</a> <em class="jxr_javadoccomment">     *         {@code false} otherwise</em>
<a class="jxr_linenumber" name="310" href="#310">310</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="311" href="#311">311</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">boolean</strong> findNextStartElemenet(XMLStreamReader parser) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="312" href="#312">312</a>         assert parser != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="313" href="#313">313</a> 
<a class="jxr_linenumber" name="314" href="#314">314</a>         <strong class="jxr_keyword">while</strong> (<strong class="jxr_keyword">true</strong>) {
<a class="jxr_linenumber" name="315" href="#315">315</a>             <strong class="jxr_keyword">int</strong> event = parser.getEventType();
<a class="jxr_linenumber" name="316" href="#316">316</a> 
<a class="jxr_linenumber" name="317" href="#317">317</a>             <strong class="jxr_keyword">if</strong> (event == XMLStreamConstants.START_ELEMENT) {
<a class="jxr_linenumber" name="318" href="#318">318</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="319" href="#319">319</a>             }
<a class="jxr_linenumber" name="320" href="#320">320</a> 
<a class="jxr_linenumber" name="321" href="#321">321</a>             <strong class="jxr_keyword">if</strong> (parser.hasNext()) {
<a class="jxr_linenumber" name="322" href="#322">322</a>                 parser.next();
<a class="jxr_linenumber" name="323" href="#323">323</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="324" href="#324">324</a>                 <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="325" href="#325">325</a>             }
<a class="jxr_linenumber" name="326" href="#326">326</a>         }
<a class="jxr_linenumber" name="327" href="#327">327</a>     }
<a class="jxr_linenumber" name="328" href="#328">328</a> 
<a class="jxr_linenumber" name="329" href="#329">329</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="330" href="#330">330</a> <em class="jxr_javadoccomment">     * Parses a tag that contains text.</em>
<a class="jxr_linenumber" name="331" href="#331">331</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="332" href="#332">332</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> String readText(XMLStreamReader parser, <strong class="jxr_keyword">int</strong> maxLength) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="333" href="#333">333</a>         assert parser != <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="334" href="#334">334</a>         assert maxLength &gt;= 0;
<a class="jxr_linenumber" name="335" href="#335">335</a> 
<a class="jxr_linenumber" name="336" href="#336">336</a>         StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder(128);
<a class="jxr_linenumber" name="337" href="#337">337</a> 
<a class="jxr_linenumber" name="338" href="#338">338</a>         next(parser);
<a class="jxr_linenumber" name="339" href="#339">339</a> 
<a class="jxr_linenumber" name="340" href="#340">340</a>         <strong class="jxr_keyword">while</strong> (<strong class="jxr_keyword">true</strong>) {
<a class="jxr_linenumber" name="341" href="#341">341</a>             <strong class="jxr_keyword">int</strong> event = parser.getEventType();
<a class="jxr_linenumber" name="342" href="#342">342</a>             <strong class="jxr_keyword">if</strong> (event == XMLStreamConstants.END_ELEMENT) {
<a class="jxr_linenumber" name="343" href="#343">343</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="344" href="#344">344</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (event == XMLStreamConstants.CHARACTERS || event == XMLStreamConstants.CDATA) {
<a class="jxr_linenumber" name="345" href="#345">345</a>                 <strong class="jxr_keyword">int</strong> len = parser.getTextLength();
<a class="jxr_linenumber" name="346" href="#346">346</a>                 <strong class="jxr_keyword">if</strong> (len &gt; 0) {
<a class="jxr_linenumber" name="347" href="#347">347</a>                     <strong class="jxr_keyword">if</strong> (sb.length() + len &gt; maxLength) {
<a class="jxr_linenumber" name="348" href="#348">348</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> CmisInvalidArgumentException(<span class="jxr_string">"String limit exceeded!"</span>);
<a class="jxr_linenumber" name="349" href="#349">349</a>                     }
<a class="jxr_linenumber" name="350" href="#350">350</a> 
<a class="jxr_linenumber" name="351" href="#351">351</a>                     <strong class="jxr_keyword">char</strong>[] chars = parser.getTextCharacters();
<a class="jxr_linenumber" name="352" href="#352">352</a>                     <strong class="jxr_keyword">int</strong> offset = parser.getTextStart();
<a class="jxr_linenumber" name="353" href="#353">353</a> 
<a class="jxr_linenumber" name="354" href="#354">354</a>                     sb.append(chars, offset, len);
<a class="jxr_linenumber" name="355" href="#355">355</a>                 }
<a class="jxr_linenumber" name="356" href="#356">356</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (event == XMLStreamConstants.START_ELEMENT) {
<a class="jxr_linenumber" name="357" href="#357">357</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> XMLStreamException(<span class="jxr_string">"Unexpected tag: "</span> + parser.getName());
<a class="jxr_linenumber" name="358" href="#358">358</a>             }
<a class="jxr_linenumber" name="359" href="#359">359</a> 
<a class="jxr_linenumber" name="360" href="#360">360</a>             <strong class="jxr_keyword">if</strong> (!next(parser)) {
<a class="jxr_linenumber" name="361" href="#361">361</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="362" href="#362">362</a>             }
<a class="jxr_linenumber" name="363" href="#363">363</a>         }
<a class="jxr_linenumber" name="364" href="#364">364</a> 
<a class="jxr_linenumber" name="365" href="#365">365</a>         next(parser);
<a class="jxr_linenumber" name="366" href="#366">366</a> 
<a class="jxr_linenumber" name="367" href="#367">367</a>         <strong class="jxr_keyword">return</strong> sb.toString();
<a class="jxr_linenumber" name="368" href="#368">368</a>     }
<a class="jxr_linenumber" name="369" href="#369">369</a> 
<a class="jxr_linenumber" name="370" href="#370">370</a>     <em class="jxr_comment">// ------------------</em>
<a class="jxr_linenumber" name="371" href="#371">371</a>     <em class="jxr_comment">// ---- DOM stuff ---</em>
<a class="jxr_linenumber" name="372" href="#372">372</a>     <em class="jxr_comment">// ------------------</em>
<a class="jxr_linenumber" name="373" href="#373">373</a> 
<a class="jxr_linenumber" name="374" href="#374">374</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="375" href="#375">375</a> <em class="jxr_javadoccomment">     * Creates a new {@link DocumentBuilder} object.</em>
<a class="jxr_linenumber" name="376" href="#376">376</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="377" href="#377">377</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> DocumentBuilder newDocumentBuilder() <strong class="jxr_keyword">throws</strong> ParserConfigurationException {
<a class="jxr_linenumber" name="378" href="#378">378</a>         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
<a class="jxr_linenumber" name="379" href="#379">379</a>         factory.setFeature(javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING, <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="380" href="#380">380</a>         factory.setNamespaceAware(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="381" href="#381">381</a>         factory.setValidating(false);
<a class="jxr_linenumber" name="382" href="#382">382</a>         factory.setIgnoringComments(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="383" href="#383">383</a>         factory.setExpandEntityReferences(false);
<a class="jxr_linenumber" name="384" href="#384">384</a>         factory.setCoalescing(false);
<a class="jxr_linenumber" name="385" href="#385">385</a> 
<a class="jxr_linenumber" name="386" href="#386">386</a>         factory.setFeature(<span class="jxr_string">"http://xml.org/sax/features/external-general-entities"</span>, false);
<a class="jxr_linenumber" name="387" href="#387">387</a>         factory.setFeature(<span class="jxr_string">"http://xml.org/sax/features/external-parameter-entities"</span>, false);
<a class="jxr_linenumber" name="388" href="#388">388</a>         factory.setFeature(<span class="jxr_string">"http://apache.org/xml/features/disallow-doctype-decl"</span>, <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="389" href="#389">389</a> 
<a class="jxr_linenumber" name="390" href="#390">390</a>         <strong class="jxr_keyword">return</strong> factory.newDocumentBuilder();
<a class="jxr_linenumber" name="391" href="#391">391</a>     }
<a class="jxr_linenumber" name="392" href="#392">392</a> 
<a class="jxr_linenumber" name="393" href="#393">393</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="394" href="#394">394</a> <em class="jxr_javadoccomment">     * Creates a new DOM document.</em>
<a class="jxr_linenumber" name="395" href="#395">395</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="396" href="#396">396</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Document newDomDocument() <strong class="jxr_keyword">throws</strong> ParserConfigurationException {
<a class="jxr_linenumber" name="397" href="#397">397</a>         <strong class="jxr_keyword">return</strong> newDocumentBuilder().newDocument();
<a class="jxr_linenumber" name="398" href="#398">398</a>     }
<a class="jxr_linenumber" name="399" href="#399">399</a> 
<a class="jxr_linenumber" name="400" href="#400">400</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="401" href="#401">401</a> <em class="jxr_javadoccomment">     * Parses a stream and returns the DOM document.</em>
<a class="jxr_linenumber" name="402" href="#402">402</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="403" href="#403">403</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Document parseDomDocument(<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/Base64.html">InputStream</a> stream) <strong class="jxr_keyword">throws</strong> ParserConfigurationException, SAXException,
<a class="jxr_linenumber" name="404" href="#404">404</a>             IOException {
<a class="jxr_linenumber" name="405" href="#405">405</a>         <strong class="jxr_keyword">return</strong> newDocumentBuilder().parse(stream);
<a class="jxr_linenumber" name="406" href="#406">406</a>     }
<a class="jxr_linenumber" name="407" href="#407">407</a> 
<a class="jxr_linenumber" name="408" href="#408">408</a>     <em class="jxr_comment">// --------------------------</em>
<a class="jxr_linenumber" name="409" href="#409">409</a>     <em class="jxr_comment">// ---- Transformer stuff ---</em>
<a class="jxr_linenumber" name="410" href="#410">410</a>     <em class="jxr_comment">// --------------------------</em>
<a class="jxr_linenumber" name="411" href="#411">411</a> 
<a class="jxr_linenumber" name="412" href="#412">412</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> TransformerFactory newTransformerFactory() <strong class="jxr_keyword">throws</strong> TransformerConfigurationException {
<a class="jxr_linenumber" name="413" href="#413">413</a>         TransformerFactory factory = TransformerFactory.newInstance();
<a class="jxr_linenumber" name="414" href="#414">414</a>         factory.setFeature(javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING, <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="415" href="#415">415</a> 
<a class="jxr_linenumber" name="416" href="#416">416</a>         <strong class="jxr_keyword">return</strong> factory;
<a class="jxr_linenumber" name="417" href="#417">417</a>     }
<a class="jxr_linenumber" name="418" href="#418">418</a> 
<a class="jxr_linenumber" name="419" href="#419">419</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Transformer newTransformer() <strong class="jxr_keyword">throws</strong> TransformerConfigurationException {
<a class="jxr_linenumber" name="420" href="#420">420</a>         <strong class="jxr_keyword">return</strong> newTransformerFactory().newTransformer();
<a class="jxr_linenumber" name="421" href="#421">421</a>     }
<a class="jxr_linenumber" name="422" href="#422">422</a> 
<a class="jxr_linenumber" name="423" href="#423">423</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Transformer newTransformer(<strong class="jxr_keyword">int</strong> indent) <strong class="jxr_keyword">throws</strong> TransformerConfigurationException {
<a class="jxr_linenumber" name="424" href="#424">424</a>         TransformerFactory factory = newTransformerFactory();
<a class="jxr_linenumber" name="425" href="#425">425</a>         factory.setAttribute(<span class="jxr_string">"indent-number"</span>, Integer.valueOf(indent));
<a class="jxr_linenumber" name="426" href="#426">426</a> 
<a class="jxr_linenumber" name="427" href="#427">427</a>         Transformer transformer = factory.newTransformer();
<a class="jxr_linenumber" name="428" href="#428">428</a>         transformer.setOutputProperty(OutputKeys.INDENT, <span class="jxr_string">"yes"</span>);
<a class="jxr_linenumber" name="429" href="#429">429</a> 
<a class="jxr_linenumber" name="430" href="#430">430</a>         <strong class="jxr_keyword">return</strong> transformer;
<a class="jxr_linenumber" name="431" href="#431">431</a>     }
<a class="jxr_linenumber" name="432" href="#432">432</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

