<!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>XMLConverter 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/XMLConverter.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> <strong class="jxr_keyword">static</strong> org.apache.chemistry.opencmis.commons.impl.XMLConstants.*;
<a class="jxr_linenumber" name="22" href="#22">22</a>  
<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.math.BigDecimal;
<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.math.BigInteger;
<a class="jxr_linenumber" name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.EnumSet;
<a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.GregorianCalendar;
<a class="jxr_linenumber" name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedList;
<a class="jxr_linenumber" name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
<a class="jxr_linenumber" name="33" href="#33">33</a>  
<a class="jxr_linenumber" name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> javax.xml.namespace.QName;
<a class="jxr_linenumber" name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> javax.xml.stream.XMLStreamException;
<a class="jxr_linenumber" name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> javax.xml.stream.XMLStreamReader;
<a class="jxr_linenumber" name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> javax.xml.stream.XMLStreamWriter;
<a class="jxr_linenumber" name="38" href="#38">38</a>  
<a class="jxr_linenumber" name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.Ace;
<a class="jxr_linenumber" name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.Acl;
<a class="jxr_linenumber" name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.AclCapabilities;
<a class="jxr_linenumber" name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.AllowableActions;
<a class="jxr_linenumber" name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.BulkUpdateObjectIdAndChangeToken;
<a class="jxr_linenumber" name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.ChangeEventInfo;
<a class="jxr_linenumber" name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.CmisExtensionElement;
<a class="jxr_linenumber" name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.CreatablePropertyTypes;
<a class="jxr_linenumber" name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.ExtensionFeature;
<a class="jxr_linenumber" name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.ExtensionsData;
<a class="jxr_linenumber" name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.NewTypeSettableAttributes;
<a class="jxr_linenumber" name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.ObjectData;
<a class="jxr_linenumber" name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.PermissionMapping;
<a class="jxr_linenumber" name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.PolicyIdList;
<a class="jxr_linenumber" name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.Principal;
<a class="jxr_linenumber" name="54" href="#54">54</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.Properties;
<a class="jxr_linenumber" name="55" href="#55">55</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.PropertyBoolean;
<a class="jxr_linenumber" name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.PropertyData;
<a class="jxr_linenumber" name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.PropertyDateTime;
<a class="jxr_linenumber" name="58" href="#58">58</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.PropertyDecimal;
<a class="jxr_linenumber" name="59" href="#59">59</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.PropertyHtml;
<a class="jxr_linenumber" name="60" href="#60">60</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.PropertyId;
<a class="jxr_linenumber" name="61" href="#61">61</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.PropertyInteger;
<a class="jxr_linenumber" name="62" href="#62">62</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.PropertyString;
<a class="jxr_linenumber" name="63" href="#63">63</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.PropertyUri;
<a class="jxr_linenumber" name="64" href="#64">64</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.RenditionData;
<a class="jxr_linenumber" name="65" href="#65">65</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.RepositoryCapabilities;
<a class="jxr_linenumber" name="66" href="#66">66</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.RepositoryInfo;
<a class="jxr_linenumber" name="67" href="#67">67</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.Choice;
<a class="jxr_linenumber" name="68" href="#68">68</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.DocumentTypeDefinition;
<a class="jxr_linenumber" name="69" href="#69">69</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.PermissionDefinition;
<a class="jxr_linenumber" name="70" href="#70">70</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.PropertyBooleanDefinition;
<a class="jxr_linenumber" name="71" href="#71">71</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.PropertyDateTimeDefinition;
<a class="jxr_linenumber" name="72" href="#72">72</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.PropertyDecimalDefinition;
<a class="jxr_linenumber" name="73" href="#73">73</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition;
<a class="jxr_linenumber" name="74" href="#74">74</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.PropertyHtmlDefinition;
<a class="jxr_linenumber" name="75" href="#75">75</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.PropertyIdDefinition;
<a class="jxr_linenumber" name="76" href="#76">76</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.PropertyIntegerDefinition;
<a class="jxr_linenumber" name="77" href="#77">77</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.PropertyStringDefinition;
<a class="jxr_linenumber" name="78" href="#78">78</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.PropertyUriDefinition;
<a class="jxr_linenumber" name="79" href="#79">79</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.RelationshipTypeDefinition;
<a class="jxr_linenumber" name="80" href="#80">80</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
<a class="jxr_linenumber" name="81" href="#81">81</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.TypeMutability;
<a class="jxr_linenumber" name="82" href="#82">82</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.AclPropagation;
<a class="jxr_linenumber" name="83" href="#83">83</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.Action;
<a class="jxr_linenumber" name="84" href="#84">84</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.BaseTypeId;
<a class="jxr_linenumber" name="85" href="#85">85</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.CapabilityAcl;
<a class="jxr_linenumber" name="86" href="#86">86</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.CapabilityChanges;
<a class="jxr_linenumber" name="87" href="#87">87</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.CapabilityContentStreamUpdates;
<a class="jxr_linenumber" name="88" href="#88">88</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.CapabilityJoin;
<a class="jxr_linenumber" name="89" href="#89">89</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.CapabilityOrderBy;
<a class="jxr_linenumber" name="90" href="#90">90</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.CapabilityQuery;
<a class="jxr_linenumber" name="91" href="#91">91</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.CapabilityRenditions;
<a class="jxr_linenumber" name="92" href="#92">92</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.Cardinality;
<a class="jxr_linenumber" name="93" href="#93">93</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.ChangeType;
<a class="jxr_linenumber" name="94" href="#94">94</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.CmisVersion;
<a class="jxr_linenumber" name="95" href="#95">95</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.ContentStreamAllowed;
<a class="jxr_linenumber" name="96" href="#96">96</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.DateTimeResolution;
<a class="jxr_linenumber" name="97" href="#97">97</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.DecimalPrecision;
<a class="jxr_linenumber" name="98" href="#98">98</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
<a class="jxr_linenumber" name="99" href="#99">99</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.PropertyType;
<a class="jxr_linenumber" name="100" href="#100">100</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.SupportedPermissions;
<a class="jxr_linenumber" name="101" href="#101">101</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.Updatability;
<a class="jxr_linenumber" name="102" href="#102">102</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
<a class="jxr_linenumber" name="103" href="#103">103</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
<a class="jxr_linenumber" name="104" href="#104">104</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.AbstractPropertyData;
<a class="jxr_linenumber" name="105" href="#105">105</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.AbstractPropertyDefinition;
<a class="jxr_linenumber" name="106" href="#106">106</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.AbstractTypeDefinition;
<a class="jxr_linenumber" name="107" href="#107">107</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlEntryImpl;
<a class="jxr_linenumber" name="108" href="#108">108</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlListImpl;
<a class="jxr_linenumber" name="109" href="#109">109</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.AccessControlPrincipalDataImpl;
<a class="jxr_linenumber" name="110" href="#110">110</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.AclCapabilitiesDataImpl;
<a class="jxr_linenumber" name="111" href="#111">111</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.AllowableActionsImpl;
<a class="jxr_linenumber" name="112" href="#112">112</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.BulkUpdateImpl;
<a class="jxr_linenumber" name="113" href="#113">113</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.BulkUpdateObjectIdAndChangeTokenImpl;
<a class="jxr_linenumber" name="114" href="#114">114</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.ChangeEventInfoDataImpl;
<a class="jxr_linenumber" name="115" href="#115">115</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.ChoiceImpl;
<a class="jxr_linenumber" name="116" href="#116">116</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.CreatablePropertyTypesImpl;
<a class="jxr_linenumber" name="117" href="#117">117</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.DocumentTypeDefinitionImpl;
<a class="jxr_linenumber" name="118" href="#118">118</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.ExtensionFeatureImpl;
<a class="jxr_linenumber" name="119" href="#119">119</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.FolderTypeDefinitionImpl;
<a class="jxr_linenumber" name="120" href="#120">120</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.ItemTypeDefinitionImpl;
<a class="jxr_linenumber" name="121" href="#121">121</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.NewTypeSettableAttributesImpl;
<a class="jxr_linenumber" name="122" href="#122">122</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.ObjectDataImpl;
<a class="jxr_linenumber" name="123" href="#123">123</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PermissionDefinitionDataImpl;
<a class="jxr_linenumber" name="124" href="#124">124</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PermissionMappingDataImpl;
<a class="jxr_linenumber" name="125" href="#125">125</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PolicyIdListImpl;
<a class="jxr_linenumber" name="126" href="#126">126</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PolicyTypeDefinitionImpl;
<a class="jxr_linenumber" name="127" href="#127">127</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertiesImpl;
<a class="jxr_linenumber" name="128" href="#128">128</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyBooleanDefinitionImpl;
<a class="jxr_linenumber" name="129" href="#129">129</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyBooleanImpl;
<a class="jxr_linenumber" name="130" href="#130">130</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyDateTimeDefinitionImpl;
<a class="jxr_linenumber" name="131" href="#131">131</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyDateTimeImpl;
<a class="jxr_linenumber" name="132" href="#132">132</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyDecimalDefinitionImpl;
<a class="jxr_linenumber" name="133" href="#133">133</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyDecimalImpl;
<a class="jxr_linenumber" name="134" href="#134">134</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyHtmlDefinitionImpl;
<a class="jxr_linenumber" name="135" href="#135">135</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyHtmlImpl;
<a class="jxr_linenumber" name="136" href="#136">136</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyIdDefinitionImpl;
<a class="jxr_linenumber" name="137" href="#137">137</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyIdImpl;
<a class="jxr_linenumber" name="138" href="#138">138</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyIntegerDefinitionImpl;
<a class="jxr_linenumber" name="139" href="#139">139</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyIntegerImpl;
<a class="jxr_linenumber" name="140" href="#140">140</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyStringDefinitionImpl;
<a class="jxr_linenumber" name="141" href="#141">141</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyStringImpl;
<a class="jxr_linenumber" name="142" href="#142">142</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyUriDefinitionImpl;
<a class="jxr_linenumber" name="143" href="#143">143</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyUriImpl;
<a class="jxr_linenumber" name="144" href="#144">144</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.QueryTypeImpl;
<a class="jxr_linenumber" name="145" href="#145">145</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.RelationshipTypeDefinitionImpl;
<a class="jxr_linenumber" name="146" href="#146">146</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.RenditionDataImpl;
<a class="jxr_linenumber" name="147" href="#147">147</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.RepositoryCapabilitiesImpl;
<a class="jxr_linenumber" name="148" href="#148">148</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.RepositoryInfoImpl;
<a class="jxr_linenumber" name="149" href="#149">149</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.SecondaryTypeDefinitionImpl;
<a class="jxr_linenumber" name="150" href="#150">150</a> <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.TypeMutabilityImpl;
<a class="jxr_linenumber" name="151" href="#151">151</a> <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="152" href="#152">152</a> <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="153" href="#153">153</a> 
<a class="jxr_linenumber" name="154" href="#154">154</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/XMLConverter.html">XMLConverter</a> {
<a class="jxr_linenumber" name="155" href="#155">155</a> 
<a class="jxr_linenumber" name="156" href="#156">156</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Logger LOG = LoggerFactory.getLogger(XMLConverter.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="157" href="#157">157</a> 
<a class="jxr_linenumber" name="158" href="#158">158</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/XMLConverter.html">XMLConverter</a>() {
<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_comment">// ---------------</em>
<a class="jxr_linenumber" name="162" href="#162">162</a>     <em class="jxr_comment">// --- writers ---</em>
<a class="jxr_linenumber" name="163" href="#163">163</a>     <em class="jxr_comment">// ---------------</em>
<a class="jxr_linenumber" name="164" href="#164">164</a> 
<a class="jxr_linenumber" name="165" href="#165">165</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeRepositoryInfo(XMLStreamWriter writer, CmisVersion cmisVersion, String namespace,
<a class="jxr_linenumber" name="166" href="#166">166</a>             RepositoryInfo source) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="167" href="#167">167</a>         <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="168" href="#168">168</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="169" href="#169">169</a>         }
<a class="jxr_linenumber" name="170" href="#170">170</a> 
<a class="jxr_linenumber" name="171" href="#171">171</a>         writer.writeStartElement(namespace, TAG_REPOSITORY_INFO);
<a class="jxr_linenumber" name="172" href="#172">172</a> 
<a class="jxr_linenumber" name="173" href="#173">173</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_REPINFO_ID, source.getId());
<a class="jxr_linenumber" name="174" href="#174">174</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_REPINFO_NAME, source.getName());
<a class="jxr_linenumber" name="175" href="#175">175</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_REPINFO_DESCRIPTION, source.getDescription());
<a class="jxr_linenumber" name="176" href="#176">176</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_REPINFO_VENDOR, source.getVendorName());
<a class="jxr_linenumber" name="177" href="#177">177</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_REPINFO_PRODUCT, source.getProductName());
<a class="jxr_linenumber" name="178" href="#178">178</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_REPINFO_PRODUCT_VERSION, source.getProductVersion());
<a class="jxr_linenumber" name="179" href="#179">179</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_REPINFO_ROOT_FOLDER_ID, source.getRootFolderId());
<a class="jxr_linenumber" name="180" href="#180">180</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_REPINFO_CHANGE_LOG_TOKEN,
<a class="jxr_linenumber" name="181" href="#181">181</a>                 source.getLatestChangeLogToken());
<a class="jxr_linenumber" name="182" href="#182">182</a>         writeRepositoryCapabilities(writer, cmisVersion, source.getCapabilities());
<a class="jxr_linenumber" name="183" href="#183">183</a>         writeAclCapabilities(writer, cmisVersion, source.getAclCapabilities());
<a class="jxr_linenumber" name="184" href="#184">184</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_REPINFO_CMIS_VERSION_SUPPORTED,
<a class="jxr_linenumber" name="185" href="#185">185</a>                 source.getCmisVersionSupported());
<a class="jxr_linenumber" name="186" href="#186">186</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_REPINFO_THIN_CLIENT_URI, source.getThinClientUri());
<a class="jxr_linenumber" name="187" href="#187">187</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_REPINFO_CHANGES_INCOMPLETE,
<a class="jxr_linenumber" name="188" href="#188">188</a>                 source.getChangesIncomplete());
<a class="jxr_linenumber" name="189" href="#189">189</a>         <strong class="jxr_keyword">if</strong> (source.getChangesOnType() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="190" href="#190">190</a>             <strong class="jxr_keyword">for</strong> (BaseTypeId baseType : source.getChangesOnType()) {
<a class="jxr_linenumber" name="191" href="#191">191</a>                 <strong class="jxr_keyword">if</strong> (cmisVersion == CmisVersion.CMIS_1_0 &amp;&amp; baseType == BaseTypeId.CMIS_ITEM) {
<a class="jxr_linenumber" name="192" href="#192">192</a>                     LOG.warn(<span class="jxr_string">"Receiver only understands CMIS 1.0 but the Changes On Type list in the Repository info contains the base type Item. "</span>
<a class="jxr_linenumber" name="193" href="#193">193</a>                             + <span class="jxr_string">"The Item base type has been removed from the list."</span>);
<a class="jxr_linenumber" name="194" href="#194">194</a>                     <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="195" href="#195">195</a>                 }
<a class="jxr_linenumber" name="196" href="#196">196</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_REPINFO_CHANGES_ON_TYPE, baseType);
<a class="jxr_linenumber" name="197" href="#197">197</a>             }
<a class="jxr_linenumber" name="198" href="#198">198</a>         }
<a class="jxr_linenumber" name="199" href="#199">199</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_REPINFO_PRINCIPAL_ID_ANONYMOUS,
<a class="jxr_linenumber" name="200" href="#200">200</a>                 source.getPrincipalIdAnonymous());
<a class="jxr_linenumber" name="201" href="#201">201</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_REPINFO_PRINCIPAL_ID_ANYONE,
<a class="jxr_linenumber" name="202" href="#202">202</a>                 source.getPrincipalIdAnyone());
<a class="jxr_linenumber" name="203" href="#203">203</a>         <strong class="jxr_keyword">if</strong> (cmisVersion != CmisVersion.CMIS_1_0 &amp;&amp; source.getExtensionFeatures() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="204" href="#204">204</a>             <strong class="jxr_keyword">for</strong> (ExtensionFeature feature : source.getExtensionFeatures()) {
<a class="jxr_linenumber" name="205" href="#205">205</a>                 writeExtendedFeatures(writer, cmisVersion, feature);
<a class="jxr_linenumber" name="206" href="#206">206</a>             }
<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>         writeExtensions(writer, source);
<a class="jxr_linenumber" name="210" href="#210">210</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="211" href="#211">211</a>     }
<a class="jxr_linenumber" name="212" href="#212">212</a> 
<a class="jxr_linenumber" name="213" href="#213">213</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeRepositoryCapabilities(XMLStreamWriter writer, CmisVersion cmisVersion,
<a class="jxr_linenumber" name="214" href="#214">214</a>             RepositoryCapabilities source) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="215" href="#215">215</a>         <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="216" href="#216">216</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="217" href="#217">217</a>         }
<a class="jxr_linenumber" name="218" href="#218">218</a> 
<a class="jxr_linenumber" name="219" href="#219">219</a>         writer.writeStartElement(PREFIX_CMIS, TAG_REPINFO_CAPABILITIES, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="220" href="#220">220</a> 
<a class="jxr_linenumber" name="221" href="#221">221</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_ACL, source.getAclCapability());
<a class="jxr_linenumber" name="222" href="#222">222</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_ALL_VERSIONS_SEARCHABLE,
<a class="jxr_linenumber" name="223" href="#223">223</a>                 source.isAllVersionsSearchableSupported());
<a class="jxr_linenumber" name="224" href="#224">224</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_CHANGES, source.getChangesCapability());
<a class="jxr_linenumber" name="225" href="#225">225</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_CONTENT_STREAM_UPDATABILITY,
<a class="jxr_linenumber" name="226" href="#226">226</a>                 source.getContentStreamUpdatesCapability());
<a class="jxr_linenumber" name="227" href="#227">227</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_GET_DESCENDANTS, source.isGetDescendantsSupported());
<a class="jxr_linenumber" name="228" href="#228">228</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_GET_FOLDER_TREE, source.isGetFolderTreeSupported());
<a class="jxr_linenumber" name="229" href="#229">229</a>         <strong class="jxr_keyword">if</strong> (cmisVersion != CmisVersion.CMIS_1_0) {
<a class="jxr_linenumber" name="230" href="#230">230</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_ORDER_BY, source.getOrderByCapability());
<a class="jxr_linenumber" name="231" href="#231">231</a>         }
<a class="jxr_linenumber" name="232" href="#232">232</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_MULTIFILING, source.isMultifilingSupported());
<a class="jxr_linenumber" name="233" href="#233">233</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_PWC_SEARCHABLE, source.isPwcSearchableSupported());
<a class="jxr_linenumber" name="234" href="#234">234</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_PWC_UPDATABLE, source.isPwcUpdatableSupported());
<a class="jxr_linenumber" name="235" href="#235">235</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_QUERY, source.getQueryCapability());
<a class="jxr_linenumber" name="236" href="#236">236</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_RENDITIONS, source.getRenditionsCapability());
<a class="jxr_linenumber" name="237" href="#237">237</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_UNFILING, source.isUnfilingSupported());
<a class="jxr_linenumber" name="238" href="#238">238</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_VERSION_SPECIFIC_FILING,
<a class="jxr_linenumber" name="239" href="#239">239</a>                 source.isVersionSpecificFilingSupported());
<a class="jxr_linenumber" name="240" href="#240">240</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_JOIN, source.getJoinCapability());
<a class="jxr_linenumber" name="241" href="#241">241</a>         <strong class="jxr_keyword">if</strong> (cmisVersion != CmisVersion.CMIS_1_0) {
<a class="jxr_linenumber" name="242" href="#242">242</a>             <strong class="jxr_keyword">if</strong> (source.getCreatablePropertyTypes() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="243" href="#243">243</a>                 CreatablePropertyTypes creatablePropertyTypes = source.getCreatablePropertyTypes();
<a class="jxr_linenumber" name="244" href="#244">244</a> 
<a class="jxr_linenumber" name="245" href="#245">245</a>                 writer.writeStartElement(PREFIX_CMIS, TAG_CAP_CREATABLE_PROPERTY_TYPES, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="246" href="#246">246</a> 
<a class="jxr_linenumber" name="247" href="#247">247</a>                 <strong class="jxr_keyword">if</strong> (creatablePropertyTypes.canCreate() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="248" href="#248">248</a>                     <strong class="jxr_keyword">for</strong> (PropertyType pt : creatablePropertyTypes.canCreate()) {
<a class="jxr_linenumber" name="249" href="#249">249</a>                         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_CREATABLE_PROPERTY_TYPES_CANCREATE,
<a class="jxr_linenumber" name="250" href="#250">250</a>                                 pt);
<a class="jxr_linenumber" name="251" href="#251">251</a>                     }
<a class="jxr_linenumber" name="252" href="#252">252</a>                 }
<a class="jxr_linenumber" name="253" href="#253">253</a> 
<a class="jxr_linenumber" name="254" href="#254">254</a>                 writeExtensions(writer, creatablePropertyTypes);
<a class="jxr_linenumber" name="255" href="#255">255</a>                 writer.writeEndElement();
<a class="jxr_linenumber" name="256" href="#256">256</a>             }
<a class="jxr_linenumber" name="257" href="#257">257</a>             <strong class="jxr_keyword">if</strong> (source.getNewTypeSettableAttributes() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="258" href="#258">258</a>                 NewTypeSettableAttributes newTypeSettableAttributes = source.getNewTypeSettableAttributes();
<a class="jxr_linenumber" name="259" href="#259">259</a> 
<a class="jxr_linenumber" name="260" href="#260">260</a>                 writer.writeStartElement(PREFIX_CMIS, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="261" href="#261">261</a> 
<a class="jxr_linenumber" name="262" href="#262">262</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_ID,
<a class="jxr_linenumber" name="263" href="#263">263</a>                         newTypeSettableAttributes.canSetId());
<a class="jxr_linenumber" name="264" href="#264">264</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_LOCALNAME,
<a class="jxr_linenumber" name="265" href="#265">265</a>                         newTypeSettableAttributes.canSetLocalName());
<a class="jxr_linenumber" name="266" href="#266">266</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS,
<a class="jxr_linenumber" name="267" href="#267">267</a>                         TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_LOCALNAMESPACE,
<a class="jxr_linenumber" name="268" href="#268">268</a>                         newTypeSettableAttributes.canSetLocalNamespace());
<a class="jxr_linenumber" name="269" href="#269">269</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_DISPLAYNAME,
<a class="jxr_linenumber" name="270" href="#270">270</a>                         newTypeSettableAttributes.canSetDisplayName());
<a class="jxr_linenumber" name="271" href="#271">271</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_QUERYNAME,
<a class="jxr_linenumber" name="272" href="#272">272</a>                         newTypeSettableAttributes.canSetQueryName());
<a class="jxr_linenumber" name="273" href="#273">273</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_DESCRIPTION,
<a class="jxr_linenumber" name="274" href="#274">274</a>                         newTypeSettableAttributes.canSetDescription());
<a class="jxr_linenumber" name="275" href="#275">275</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_CREATEABLE,
<a class="jxr_linenumber" name="276" href="#276">276</a>                         newTypeSettableAttributes.canSetCreatable());
<a class="jxr_linenumber" name="277" href="#277">277</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_FILEABLE,
<a class="jxr_linenumber" name="278" href="#278">278</a>                         newTypeSettableAttributes.canSetFileable());
<a class="jxr_linenumber" name="279" href="#279">279</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_QUERYABLE,
<a class="jxr_linenumber" name="280" href="#280">280</a>                         newTypeSettableAttributes.canSetQueryable());
<a class="jxr_linenumber" name="281" href="#281">281</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS,
<a class="jxr_linenumber" name="282" href="#282">282</a>                         TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_FULLTEXTINDEXED,
<a class="jxr_linenumber" name="283" href="#283">283</a>                         newTypeSettableAttributes.canSetFulltextIndexed());
<a class="jxr_linenumber" name="284" href="#284">284</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS,
<a class="jxr_linenumber" name="285" href="#285">285</a>                         TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_INCLUDEDINSUPERTYTPEQUERY,
<a class="jxr_linenumber" name="286" href="#286">286</a>                         newTypeSettableAttributes.canSetIncludedInSupertypeQuery());
<a class="jxr_linenumber" name="287" href="#287">287</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS,
<a class="jxr_linenumber" name="288" href="#288">288</a>                         TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_CONTROLABLEPOLICY,
<a class="jxr_linenumber" name="289" href="#289">289</a>                         newTypeSettableAttributes.canSetControllablePolicy());
<a class="jxr_linenumber" name="290" href="#290">290</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS,
<a class="jxr_linenumber" name="291" href="#291">291</a>                         TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_CONTROLABLEACL,
<a class="jxr_linenumber" name="292" href="#292">292</a>                         newTypeSettableAttributes.canSetControllableAcl());
<a class="jxr_linenumber" name="293" href="#293">293</a> 
<a class="jxr_linenumber" name="294" href="#294">294</a>                 writeExtensions(writer, newTypeSettableAttributes);
<a class="jxr_linenumber" name="295" href="#295">295</a>                 writer.writeEndElement();
<a class="jxr_linenumber" name="296" href="#296">296</a>             }
<a class="jxr_linenumber" name="297" href="#297">297</a>         }
<a class="jxr_linenumber" name="298" href="#298">298</a> 
<a class="jxr_linenumber" name="299" href="#299">299</a>         writeExtensions(writer, source);
<a class="jxr_linenumber" name="300" href="#300">300</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="301" href="#301">301</a>     }
<a class="jxr_linenumber" name="302" href="#302">302</a> 
<a class="jxr_linenumber" name="303" href="#303">303</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeAclCapabilities(XMLStreamWriter writer, CmisVersion cmisVersion, AclCapabilities source)
<a class="jxr_linenumber" name="304" href="#304">304</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="305" href="#305">305</a>         <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="306" href="#306">306</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="307" href="#307">307</a>         }
<a class="jxr_linenumber" name="308" href="#308">308</a> 
<a class="jxr_linenumber" name="309" href="#309">309</a>         writer.writeStartElement(PREFIX_CMIS, TAG_REPINFO_ACL_CAPABILITIES, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="310" href="#310">310</a> 
<a class="jxr_linenumber" name="311" href="#311">311</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_ACLCAP_SUPPORTED_PERMISSIONS,
<a class="jxr_linenumber" name="312" href="#312">312</a>                 source.getSupportedPermissions());
<a class="jxr_linenumber" name="313" href="#313">313</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAGACLCAP_ACL_PROPAGATION, source.getAclPropagation());
<a class="jxr_linenumber" name="314" href="#314">314</a>         <strong class="jxr_keyword">if</strong> (source.getPermissions() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="315" href="#315">315</a>             <strong class="jxr_keyword">for</strong> (PermissionDefinition pd : source.getPermissions()) {
<a class="jxr_linenumber" name="316" href="#316">316</a>                 writer.writeStartElement(PREFIX_CMIS, TAG_ACLCAP_PERMISSIONS, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="317" href="#317">317</a> 
<a class="jxr_linenumber" name="318" href="#318">318</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_ACLCAP_PERMISSION_PERMISSION, pd.getId());
<a class="jxr_linenumber" name="319" href="#319">319</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_ACLCAP_PERMISSION_DESCRIPTION,
<a class="jxr_linenumber" name="320" href="#320">320</a>                         pd.getDescription());
<a class="jxr_linenumber" name="321" href="#321">321</a> 
<a class="jxr_linenumber" name="322" href="#322">322</a>                 writeExtensions(writer, pd);
<a class="jxr_linenumber" name="323" href="#323">323</a>                 writer.writeEndElement();
<a class="jxr_linenumber" name="324" href="#324">324</a>             }
<a class="jxr_linenumber" name="325" href="#325">325</a>         }
<a class="jxr_linenumber" name="326" href="#326">326</a>         <strong class="jxr_keyword">if</strong> (source.getPermissionMapping() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="327" href="#327">327</a>             <strong class="jxr_keyword">for</strong> (PermissionMapping pm : source.getPermissionMapping().values()) {
<a class="jxr_linenumber" name="328" href="#328">328</a>                 writer.writeStartElement(PREFIX_CMIS, TAG_ACLCAP_PERMISSION_MAPPING, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="329" href="#329">329</a> 
<a class="jxr_linenumber" name="330" href="#330">330</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_ACLCAP_MAPPING_KEY, pm.getKey());
<a class="jxr_linenumber" name="331" href="#331">331</a>                 <strong class="jxr_keyword">if</strong> (pm.getPermissions() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="332" href="#332">332</a>                     <strong class="jxr_keyword">for</strong> (String perm : pm.getPermissions()) {
<a class="jxr_linenumber" name="333" href="#333">333</a>                         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_ACLCAP_MAPPING_PERMISSION, perm);
<a class="jxr_linenumber" name="334" href="#334">334</a>                     }
<a class="jxr_linenumber" name="335" href="#335">335</a>                 }
<a class="jxr_linenumber" name="336" href="#336">336</a> 
<a class="jxr_linenumber" name="337" href="#337">337</a>                 writeExtensions(writer, pm);
<a class="jxr_linenumber" name="338" href="#338">338</a>                 writer.writeEndElement();
<a class="jxr_linenumber" name="339" href="#339">339</a>             }
<a class="jxr_linenumber" name="340" href="#340">340</a>         }
<a class="jxr_linenumber" name="341" href="#341">341</a> 
<a class="jxr_linenumber" name="342" href="#342">342</a>         writeExtensions(writer, source);
<a class="jxr_linenumber" name="343" href="#343">343</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="344" href="#344">344</a>     }
<a class="jxr_linenumber" name="345" href="#345">345</a> 
<a class="jxr_linenumber" name="346" href="#346">346</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeExtendedFeatures(XMLStreamWriter writer, CmisVersion cmisVersion, ExtensionFeature source)
<a class="jxr_linenumber" name="347" href="#347">347</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="348" href="#348">348</a>         <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="349" href="#349">349</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="350" href="#350">350</a>         }
<a class="jxr_linenumber" name="351" href="#351">351</a> 
<a class="jxr_linenumber" name="352" href="#352">352</a>         writer.writeStartElement(PREFIX_CMIS, TAG_REPINFO_EXTENDED_FEATURES, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="353" href="#353">353</a> 
<a class="jxr_linenumber" name="354" href="#354">354</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_FEATURE_ID, source.getId());
<a class="jxr_linenumber" name="355" href="#355">355</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_FEATURE_URL, source.getUrl());
<a class="jxr_linenumber" name="356" href="#356">356</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_FEATURE_COMMON_NAME, source.getCommonName());
<a class="jxr_linenumber" name="357" href="#357">357</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_FEATURE_VERSION_LABEL, source.getVersionLabel());
<a class="jxr_linenumber" name="358" href="#358">358</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_FEATURE_DESCRIPTION, source.getDescription());
<a class="jxr_linenumber" name="359" href="#359">359</a>         <strong class="jxr_keyword">if</strong> (source.getFeatureData() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="360" href="#360">360</a>             <strong class="jxr_keyword">for</strong> (Map.Entry&lt;String, String&gt; data : source.getFeatureData().entrySet()) {
<a class="jxr_linenumber" name="361" href="#361">361</a>                 writer.writeStartElement(PREFIX_CMIS, TAG_FEATURE_DATA, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="362" href="#362">362</a> 
<a class="jxr_linenumber" name="363" href="#363">363</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_FEATURE_DATA_KEY, data.getKey());
<a class="jxr_linenumber" name="364" href="#364">364</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_FEATURE_DATA_VALUE, data.getValue());
<a class="jxr_linenumber" name="365" href="#365">365</a> 
<a class="jxr_linenumber" name="366" href="#366">366</a>                 writer.writeEndElement();
<a class="jxr_linenumber" name="367" href="#367">367</a>             }
<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>         writeExtensions(writer, source);
<a class="jxr_linenumber" name="371" href="#371">371</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="372" href="#372">372</a>     }
<a class="jxr_linenumber" name="373" href="#373">373</a> 
<a class="jxr_linenumber" name="374" href="#374">374</a>     <em class="jxr_comment">// --------------------------</em>
<a class="jxr_linenumber" name="375" href="#375">375</a>     <em class="jxr_comment">// --- definition writers ---</em>
<a class="jxr_linenumber" name="376" href="#376">376</a>     <em class="jxr_comment">// --------------------------</em>
<a class="jxr_linenumber" name="377" href="#377">377</a> 
<a class="jxr_linenumber" name="378" href="#378">378</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeTypeDefinition(XMLStreamWriter writer, CmisVersion cmisVersion, String namespace,
<a class="jxr_linenumber" name="379" href="#379">379</a>             TypeDefinition source) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="380" href="#380">380</a>         <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="381" href="#381">381</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="382" href="#382">382</a>         }
<a class="jxr_linenumber" name="383" href="#383">383</a> 
<a class="jxr_linenumber" name="384" href="#384">384</a>         <strong class="jxr_keyword">if</strong> (cmisVersion == CmisVersion.CMIS_1_0) {
<a class="jxr_linenumber" name="385" href="#385">385</a>             <strong class="jxr_keyword">if</strong> (source.getBaseTypeId() == BaseTypeId.CMIS_ITEM) {
<a class="jxr_linenumber" name="386" href="#386">386</a>                 LOG.warn(<span class="jxr_string">"Receiver only understands CMIS 1.0. It may not able to handle an Item type definition."</span>);
<a class="jxr_linenumber" name="387" href="#387">387</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source.getBaseTypeId() == BaseTypeId.CMIS_SECONDARY) {
<a class="jxr_linenumber" name="388" href="#388">388</a>                 LOG.warn(<span class="jxr_string">"Receiver only understands CMIS 1.0. It may not able to handle a Secondary type definition."</span>);
<a class="jxr_linenumber" name="389" href="#389">389</a>             }
<a class="jxr_linenumber" name="390" href="#390">390</a>         }
<a class="jxr_linenumber" name="391" href="#391">391</a> 
<a class="jxr_linenumber" name="392" href="#392">392</a>         writer.writeStartElement(namespace, TAG_TYPE);
<a class="jxr_linenumber" name="393" href="#393">393</a>         writer.writeNamespace(PREFIX_XSI, NAMESPACE_XSI);
<a class="jxr_linenumber" name="394" href="#394">394</a> 
<a class="jxr_linenumber" name="395" href="#395">395</a>         <strong class="jxr_keyword">if</strong> (source.getBaseTypeId() == BaseTypeId.CMIS_DOCUMENT) {
<a class="jxr_linenumber" name="396" href="#396">396</a>             writer.writeAttribute(PREFIX_XSI, NAMESPACE_XSI, <span class="jxr_string">"type"</span>, PREFIX_CMIS + <span class="jxr_string">":"</span> + ATTR_DOCUMENT_TYPE);
<a class="jxr_linenumber" name="397" href="#397">397</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source.getBaseTypeId() == BaseTypeId.CMIS_FOLDER) {
<a class="jxr_linenumber" name="398" href="#398">398</a>             writer.writeAttribute(PREFIX_XSI, NAMESPACE_XSI, <span class="jxr_string">"type"</span>, PREFIX_CMIS + <span class="jxr_string">":"</span> + ATTR_FOLDER_TYPE);
<a class="jxr_linenumber" name="399" href="#399">399</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source.getBaseTypeId() == BaseTypeId.CMIS_RELATIONSHIP) {
<a class="jxr_linenumber" name="400" href="#400">400</a>             writer.writeAttribute(PREFIX_XSI, NAMESPACE_XSI, <span class="jxr_string">"type"</span>, PREFIX_CMIS + <span class="jxr_string">":"</span> + ATTR_RELATIONSHIP_TYPE);
<a class="jxr_linenumber" name="401" href="#401">401</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source.getBaseTypeId() == BaseTypeId.CMIS_POLICY) {
<a class="jxr_linenumber" name="402" href="#402">402</a>             writer.writeAttribute(PREFIX_XSI, NAMESPACE_XSI, <span class="jxr_string">"type"</span>, PREFIX_CMIS + <span class="jxr_string">":"</span> + ATTR_POLICY_TYPE);
<a class="jxr_linenumber" name="403" href="#403">403</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source.getBaseTypeId() == BaseTypeId.CMIS_ITEM) {
<a class="jxr_linenumber" name="404" href="#404">404</a>             writer.writeAttribute(PREFIX_XSI, NAMESPACE_XSI, <span class="jxr_string">"type"</span>, PREFIX_CMIS + <span class="jxr_string">":"</span> + ATTR_ITEM_TYPE);
<a class="jxr_linenumber" name="405" href="#405">405</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source.getBaseTypeId() == BaseTypeId.CMIS_SECONDARY) {
<a class="jxr_linenumber" name="406" href="#406">406</a>             writer.writeAttribute(PREFIX_XSI, NAMESPACE_XSI, <span class="jxr_string">"type"</span>, PREFIX_CMIS + <span class="jxr_string">":"</span> + ATTR_SECONDARY_TYPE);
<a class="jxr_linenumber" name="407" href="#407">407</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="408" href="#408">408</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> CmisRuntimeException(<span class="jxr_string">"Type definition has no base type id!"</span>);
<a class="jxr_linenumber" name="409" href="#409">409</a>         }
<a class="jxr_linenumber" name="410" href="#410">410</a> 
<a class="jxr_linenumber" name="411" href="#411">411</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_ID, source.getId());
<a class="jxr_linenumber" name="412" href="#412">412</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_LOCALNAME, source.getLocalName());
<a class="jxr_linenumber" name="413" href="#413">413</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_LOCALNAMESPACE, source.getLocalNamespace());
<a class="jxr_linenumber" name="414" href="#414">414</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_DISPLAYNAME, source.getDisplayName());
<a class="jxr_linenumber" name="415" href="#415">415</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_QUERYNAME, source.getQueryName());
<a class="jxr_linenumber" name="416" href="#416">416</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_DESCRIPTION, source.getDescription());
<a class="jxr_linenumber" name="417" href="#417">417</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_BASE_ID, source.getBaseTypeId());
<a class="jxr_linenumber" name="418" href="#418">418</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_PARENT_ID, source.getParentTypeId());
<a class="jxr_linenumber" name="419" href="#419">419</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_CREATABLE, source.isCreatable());
<a class="jxr_linenumber" name="420" href="#420">420</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_FILEABLE, source.isFileable());
<a class="jxr_linenumber" name="421" href="#421">421</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_QUERYABLE, source.isQueryable());
<a class="jxr_linenumber" name="422" href="#422">422</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_FULLTEXT_INDEXED, source.isFulltextIndexed());
<a class="jxr_linenumber" name="423" href="#423">423</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_INCLUDE_IN_SUPERTYPE_QUERY,
<a class="jxr_linenumber" name="424" href="#424">424</a>                 source.isIncludedInSupertypeQuery());
<a class="jxr_linenumber" name="425" href="#425">425</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_CONTROLABLE_POLICY, source.isControllablePolicy());
<a class="jxr_linenumber" name="426" href="#426">426</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_CONTROLABLE_ACL, source.isControllableAcl());
<a class="jxr_linenumber" name="427" href="#427">427</a>         <strong class="jxr_keyword">if</strong> (cmisVersion != CmisVersion.CMIS_1_0 &amp;&amp; source.getTypeMutability() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="428" href="#428">428</a>             TypeMutability tm = source.getTypeMutability();
<a class="jxr_linenumber" name="429" href="#429">429</a> 
<a class="jxr_linenumber" name="430" href="#430">430</a>             writer.writeStartElement(PREFIX_CMIS, TAG_TYPE_TYPE_MUTABILITY, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="431" href="#431">431</a> 
<a class="jxr_linenumber" name="432" href="#432">432</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_TYPE_MUTABILITY_CREATE, tm.canCreate());
<a class="jxr_linenumber" name="433" href="#433">433</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_TYPE_MUTABILITY_UPDATE, tm.canUpdate());
<a class="jxr_linenumber" name="434" href="#434">434</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_TYPE_MUTABILITY_DELETE, tm.canDelete());
<a class="jxr_linenumber" name="435" href="#435">435</a> 
<a class="jxr_linenumber" name="436" href="#436">436</a>             writeExtensions(writer, tm);
<a class="jxr_linenumber" name="437" href="#437">437</a>             writer.writeEndElement();
<a class="jxr_linenumber" name="438" href="#438">438</a>         }
<a class="jxr_linenumber" name="439" href="#439">439</a>         <strong class="jxr_keyword">if</strong> (source.getPropertyDefinitions() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="440" href="#440">440</a>             <strong class="jxr_keyword">for</strong> (PropertyDefinition&lt;?&gt; pd : source.getPropertyDefinitions().values()) {
<a class="jxr_linenumber" name="441" href="#441">441</a>                 writePropertyDefinition(writer, cmisVersion, pd);
<a class="jxr_linenumber" name="442" href="#442">442</a>             }
<a class="jxr_linenumber" name="443" href="#443">443</a>         }
<a class="jxr_linenumber" name="444" href="#444">444</a> 
<a class="jxr_linenumber" name="445" href="#445">445</a>         <strong class="jxr_keyword">if</strong> (source instanceof DocumentTypeDefinition) {
<a class="jxr_linenumber" name="446" href="#446">446</a>             DocumentTypeDefinition docDef = (DocumentTypeDefinition) source;
<a class="jxr_linenumber" name="447" href="#447">447</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_VERSIONABLE, docDef.isVersionable());
<a class="jxr_linenumber" name="448" href="#448">448</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_CONTENTSTREAM_ALLOWED,
<a class="jxr_linenumber" name="449" href="#449">449</a>                     docDef.getContentStreamAllowed());
<a class="jxr_linenumber" name="450" href="#450">450</a>         }
<a class="jxr_linenumber" name="451" href="#451">451</a> 
<a class="jxr_linenumber" name="452" href="#452">452</a>         <strong class="jxr_keyword">if</strong> (source instanceof RelationshipTypeDefinition) {
<a class="jxr_linenumber" name="453" href="#453">453</a>             RelationshipTypeDefinition relDef = (RelationshipTypeDefinition) source;
<a class="jxr_linenumber" name="454" href="#454">454</a>             <strong class="jxr_keyword">if</strong> (relDef.getAllowedSourceTypeIds() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="455" href="#455">455</a>                 <strong class="jxr_keyword">for</strong> (String id : relDef.getAllowedSourceTypeIds()) {
<a class="jxr_linenumber" name="456" href="#456">456</a>                     <strong class="jxr_keyword">if</strong> (id != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="457" href="#457">457</a>                         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_ALLOWED_SOURCE_TYPES, id);
<a class="jxr_linenumber" name="458" href="#458">458</a>                     }
<a class="jxr_linenumber" name="459" href="#459">459</a>                 }
<a class="jxr_linenumber" name="460" href="#460">460</a>             }
<a class="jxr_linenumber" name="461" href="#461">461</a>             <strong class="jxr_keyword">if</strong> (relDef.getAllowedTargetTypeIds() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="462" href="#462">462</a>                 <strong class="jxr_keyword">for</strong> (String id : relDef.getAllowedTargetTypeIds()) {
<a class="jxr_linenumber" name="463" href="#463">463</a>                     <strong class="jxr_keyword">if</strong> (id != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="464" href="#464">464</a>                         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_TYPE_ALLOWED_TARGET_TYPES, id);
<a class="jxr_linenumber" name="465" href="#465">465</a>                     }
<a class="jxr_linenumber" name="466" href="#466">466</a>                 }
<a class="jxr_linenumber" name="467" href="#467">467</a>             }
<a class="jxr_linenumber" name="468" href="#468">468</a>         }
<a class="jxr_linenumber" name="469" href="#469">469</a> 
<a class="jxr_linenumber" name="470" href="#470">470</a>         writeExtensions(writer, source);
<a class="jxr_linenumber" name="471" href="#471">471</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="472" href="#472">472</a>     }
<a class="jxr_linenumber" name="473" href="#473">473</a> 
<a class="jxr_linenumber" name="474" href="#474">474</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writePropertyDefinition(XMLStreamWriter writer, CmisVersion cmisVersion,
<a class="jxr_linenumber" name="475" href="#475">475</a>             PropertyDefinition&lt;?&gt; source) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="476" href="#476">476</a>         <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="477" href="#477">477</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="478" href="#478">478</a>         }
<a class="jxr_linenumber" name="479" href="#479">479</a> 
<a class="jxr_linenumber" name="480" href="#480">480</a>         <strong class="jxr_keyword">if</strong> (source.getPropertyType() == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="481" href="#481">481</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> CmisRuntimeException(<span class="jxr_string">"Property type for property definition '"</span> + source.getId() + <span class="jxr_string">"' is not set!"</span>);
<a class="jxr_linenumber" name="482" href="#482">482</a>         }
<a class="jxr_linenumber" name="483" href="#483">483</a> 
<a class="jxr_linenumber" name="484" href="#484">484</a>         <strong class="jxr_keyword">switch</strong> (source.getPropertyType()) {
<a class="jxr_linenumber" name="485" href="#485">485</a>         <strong class="jxr_keyword">case</strong> STRING:
<a class="jxr_linenumber" name="486" href="#486">486</a>             writer.writeStartElement(PREFIX_CMIS, TAG_TYPE_PROP_DEF_STRING, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="487" href="#487">487</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="488" href="#488">488</a>         <strong class="jxr_keyword">case</strong> ID:
<a class="jxr_linenumber" name="489" href="#489">489</a>             writer.writeStartElement(PREFIX_CMIS, TAG_TYPE_PROP_DEF_ID, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="490" href="#490">490</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="491" href="#491">491</a>         <strong class="jxr_keyword">case</strong> INTEGER:
<a class="jxr_linenumber" name="492" href="#492">492</a>             writer.writeStartElement(PREFIX_CMIS, TAG_TYPE_PROP_DEF_INTEGER, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="493" href="#493">493</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="494" href="#494">494</a>         <strong class="jxr_keyword">case</strong> BOOLEAN:
<a class="jxr_linenumber" name="495" href="#495">495</a>             writer.writeStartElement(PREFIX_CMIS, TAG_TYPE_PROP_DEF_BOOLEAN, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="496" href="#496">496</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="497" href="#497">497</a>         <strong class="jxr_keyword">case</strong> DATETIME:
<a class="jxr_linenumber" name="498" href="#498">498</a>             writer.writeStartElement(PREFIX_CMIS, TAG_TYPE_PROP_DEF_DATETIME, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="499" href="#499">499</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="500" href="#500">500</a>         <strong class="jxr_keyword">case</strong> DECIMAL:
<a class="jxr_linenumber" name="501" href="#501">501</a>             writer.writeStartElement(PREFIX_CMIS, TAG_TYPE_PROP_DEF_DECIMAL, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="502" href="#502">502</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="503" href="#503">503</a>         <strong class="jxr_keyword">case</strong> HTML:
<a class="jxr_linenumber" name="504" href="#504">504</a>             writer.writeStartElement(PREFIX_CMIS, TAG_TYPE_PROP_DEF_HTML, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="505" href="#505">505</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="506" href="#506">506</a>         <strong class="jxr_keyword">case</strong> URI:
<a class="jxr_linenumber" name="507" href="#507">507</a>             writer.writeStartElement(PREFIX_CMIS, TAG_TYPE_PROP_DEF_URI, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="508" href="#508">508</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="509" href="#509">509</a>         <strong class="jxr_keyword">default</strong>:
<a class="jxr_linenumber" name="510" href="#510">510</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> CmisRuntimeException(<span class="jxr_string">"Property defintion has no property type!"</span>);
<a class="jxr_linenumber" name="511" href="#511">511</a>         }
<a class="jxr_linenumber" name="512" href="#512">512</a> 
<a class="jxr_linenumber" name="513" href="#513">513</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_ID, source.getId());
<a class="jxr_linenumber" name="514" href="#514">514</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_LOCALNAME, source.getLocalName());
<a class="jxr_linenumber" name="515" href="#515">515</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_LOCALNAMESPACE,
<a class="jxr_linenumber" name="516" href="#516">516</a>                 source.getLocalNamespace());
<a class="jxr_linenumber" name="517" href="#517">517</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_DISPLAYNAME, source.getDisplayName());
<a class="jxr_linenumber" name="518" href="#518">518</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_QUERYNAME, source.getQueryName());
<a class="jxr_linenumber" name="519" href="#519">519</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_DESCRIPTION, source.getDescription());
<a class="jxr_linenumber" name="520" href="#520">520</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_PROPERTY_TYPE, source.getPropertyType());
<a class="jxr_linenumber" name="521" href="#521">521</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_CARDINALITY, source.getCardinality());
<a class="jxr_linenumber" name="522" href="#522">522</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_UPDATABILITY, source.getUpdatability());
<a class="jxr_linenumber" name="523" href="#523">523</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_INHERITED, source.isInherited());
<a class="jxr_linenumber" name="524" href="#524">524</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_REQUIRED, source.isRequired());
<a class="jxr_linenumber" name="525" href="#525">525</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_QUERYABLE, source.isQueryable());
<a class="jxr_linenumber" name="526" href="#526">526</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_ORDERABLE, source.isOrderable());
<a class="jxr_linenumber" name="527" href="#527">527</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_OPENCHOICE, source.isOpenChoice());
<a class="jxr_linenumber" name="528" href="#528">528</a> 
<a class="jxr_linenumber" name="529" href="#529">529</a>         <strong class="jxr_keyword">if</strong> (source instanceof PropertyStringDefinition) {
<a class="jxr_linenumber" name="530" href="#530">530</a>             PropertyStringDefinition def = (PropertyStringDefinition) source;
<a class="jxr_linenumber" name="531" href="#531">531</a> 
<a class="jxr_linenumber" name="532" href="#532">532</a>             <strong class="jxr_keyword">if</strong> (def.getDefaultValue() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="533" href="#533">533</a>                 writeProperty(writer, <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyStringImpl.html">PropertyStringImpl</a>(<strong class="jxr_keyword">null</strong>, def.getDefaultValue()), <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="534" href="#534">534</a>             }
<a class="jxr_linenumber" name="535" href="#535">535</a> 
<a class="jxr_linenumber" name="536" href="#536">536</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_MAX_LENGTH, def.getMaxLength());
<a class="jxr_linenumber" name="537" href="#537">537</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyIdDefinition) {
<a class="jxr_linenumber" name="538" href="#538">538</a>             PropertyIdDefinition def = (PropertyIdDefinition) source;
<a class="jxr_linenumber" name="539" href="#539">539</a> 
<a class="jxr_linenumber" name="540" href="#540">540</a>             <strong class="jxr_keyword">if</strong> (def.getDefaultValue() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="541" href="#541">541</a>                 writeProperty(writer, <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIdImpl.html">PropertyIdImpl</a>(<strong class="jxr_keyword">null</strong>, def.getDefaultValue()), <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="542" href="#542">542</a>             }
<a class="jxr_linenumber" name="543" href="#543">543</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyIntegerDefinition) {
<a class="jxr_linenumber" name="544" href="#544">544</a>             PropertyIntegerDefinition def = (PropertyIntegerDefinition) source;
<a class="jxr_linenumber" name="545" href="#545">545</a> 
<a class="jxr_linenumber" name="546" href="#546">546</a>             <strong class="jxr_keyword">if</strong> (def.getDefaultValue() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="547" href="#547">547</a>                 writeProperty(writer, <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIntegerImpl.html">PropertyIntegerImpl</a>(<strong class="jxr_keyword">null</strong>, def.getDefaultValue()), <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="548" href="#548">548</a>             }
<a class="jxr_linenumber" name="549" href="#549">549</a> 
<a class="jxr_linenumber" name="550" href="#550">550</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_MAX_VALUE, def.getMaxValue());
<a class="jxr_linenumber" name="551" href="#551">551</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_MIN_VALUE, def.getMinValue());
<a class="jxr_linenumber" name="552" href="#552">552</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyBooleanDefinition) {
<a class="jxr_linenumber" name="553" href="#553">553</a>             PropertyBooleanDefinition def = (PropertyBooleanDefinition) source;
<a class="jxr_linenumber" name="554" href="#554">554</a> 
<a class="jxr_linenumber" name="555" href="#555">555</a>             <strong class="jxr_keyword">if</strong> (def.getDefaultValue() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="556" href="#556">556</a>                 writeProperty(writer, <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyBooleanImpl.html">PropertyBooleanImpl</a>(<strong class="jxr_keyword">null</strong>, def.getDefaultValue()), <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="557" href="#557">557</a>             }
<a class="jxr_linenumber" name="558" href="#558">558</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyDateTimeDefinition) {
<a class="jxr_linenumber" name="559" href="#559">559</a>             PropertyDateTimeDefinition def = (PropertyDateTimeDefinition) source;
<a class="jxr_linenumber" name="560" href="#560">560</a> 
<a class="jxr_linenumber" name="561" href="#561">561</a>             <strong class="jxr_keyword">if</strong> (def.getDefaultValue() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="562" href="#562">562</a>                 writeProperty(writer, <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDateTimeImpl.html">PropertyDateTimeImpl</a>(<strong class="jxr_keyword">null</strong>, def.getDefaultValue()), <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="563" href="#563">563</a>             }
<a class="jxr_linenumber" name="564" href="#564">564</a> 
<a class="jxr_linenumber" name="565" href="#565">565</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_RESOLUTION,
<a class="jxr_linenumber" name="566" href="#566">566</a>                     def.getDateTimeResolution());
<a class="jxr_linenumber" name="567" href="#567">567</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyDecimalDefinition) {
<a class="jxr_linenumber" name="568" href="#568">568</a>             PropertyDecimalDefinition def = (PropertyDecimalDefinition) source;
<a class="jxr_linenumber" name="569" href="#569">569</a> 
<a class="jxr_linenumber" name="570" href="#570">570</a>             <strong class="jxr_keyword">if</strong> (def.getDefaultValue() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="571" href="#571">571</a>                 writeProperty(writer, <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDecimalImpl.html">PropertyDecimalImpl</a>(<strong class="jxr_keyword">null</strong>, def.getDefaultValue()), <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="572" href="#572">572</a>             }
<a class="jxr_linenumber" name="573" href="#573">573</a> 
<a class="jxr_linenumber" name="574" href="#574">574</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_MAX_VALUE, def.getMaxValue());
<a class="jxr_linenumber" name="575" href="#575">575</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_MIN_VALUE, def.getMinValue());
<a class="jxr_linenumber" name="576" href="#576">576</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_PRECISION, def.getPrecision());
<a class="jxr_linenumber" name="577" href="#577">577</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyHtmlDefinition) {
<a class="jxr_linenumber" name="578" href="#578">578</a>             PropertyHtmlDefinition def = (PropertyHtmlDefinition) source;
<a class="jxr_linenumber" name="579" href="#579">579</a> 
<a class="jxr_linenumber" name="580" href="#580">580</a>             <strong class="jxr_keyword">if</strong> (def.getDefaultValue() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="581" href="#581">581</a>                 writeProperty(writer, <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIdImpl.html">PropertyIdImpl</a>(<strong class="jxr_keyword">null</strong>, def.getDefaultValue()), <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="582" href="#582">582</a>             }
<a class="jxr_linenumber" name="583" href="#583">583</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyUriDefinition) {
<a class="jxr_linenumber" name="584" href="#584">584</a>             PropertyUriDefinition def = (PropertyUriDefinition) source;
<a class="jxr_linenumber" name="585" href="#585">585</a> 
<a class="jxr_linenumber" name="586" href="#586">586</a>             <strong class="jxr_keyword">if</strong> (def.getDefaultValue() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="587" href="#587">587</a>                 writeProperty(writer, <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIdImpl.html">PropertyIdImpl</a>(<strong class="jxr_keyword">null</strong>, def.getDefaultValue()), <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="588" href="#588">588</a>             }
<a class="jxr_linenumber" name="589" href="#589">589</a>         }
<a class="jxr_linenumber" name="590" href="#590">590</a> 
<a class="jxr_linenumber" name="591" href="#591">591</a>         <strong class="jxr_keyword">if</strong> (source.getChoices() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="592" href="#592">592</a>             <strong class="jxr_keyword">for</strong> (Choice&lt;?&gt; c : source.getChoices()) {
<a class="jxr_linenumber" name="593" href="#593">593</a>                 <strong class="jxr_keyword">if</strong> (c != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="594" href="#594">594</a>                     writeChoice(writer, source.getPropertyType(), c);
<a class="jxr_linenumber" name="595" href="#595">595</a>                 }
<a class="jxr_linenumber" name="596" href="#596">596</a>             }
<a class="jxr_linenumber" name="597" href="#597">597</a>         }
<a class="jxr_linenumber" name="598" href="#598">598</a> 
<a class="jxr_linenumber" name="599" href="#599">599</a>         writeExtensions(writer, source);
<a class="jxr_linenumber" name="600" href="#600">600</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="601" href="#601">601</a>     }
<a class="jxr_linenumber" name="602" href="#602">602</a> 
<a class="jxr_linenumber" name="603" href="#603">603</a>     @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
<a class="jxr_linenumber" name="604" href="#604">604</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeChoice(XMLStreamWriter writer, PropertyType propType, Choice&lt;?&gt; source)
<a class="jxr_linenumber" name="605" href="#605">605</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="606" href="#606">606</a>         <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="607" href="#607">607</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="608" href="#608">608</a>         }
<a class="jxr_linenumber" name="609" href="#609">609</a> 
<a class="jxr_linenumber" name="610" href="#610">610</a>         writer.writeStartElement(PREFIX_CMIS, TAG_PROPERTY_TYPE_CHOICE, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="611" href="#611">611</a> 
<a class="jxr_linenumber" name="612" href="#612">612</a>         <strong class="jxr_keyword">if</strong> (source.getDisplayName() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="613" href="#613">613</a>             writer.writeAttribute(ATTR_PROPERTY_TYPE_CHOICE_DISPLAYNAME, source.getDisplayName());
<a class="jxr_linenumber" name="614" href="#614">614</a>         }
<a class="jxr_linenumber" name="615" href="#615">615</a> 
<a class="jxr_linenumber" name="616" href="#616">616</a>         <strong class="jxr_keyword">if</strong> (source.getValue() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="617" href="#617">617</a>             <strong class="jxr_keyword">switch</strong> (propType) {
<a class="jxr_linenumber" name="618" href="#618">618</a>             <strong class="jxr_keyword">case</strong> STRING:
<a class="jxr_linenumber" name="619" href="#619">619</a>             <strong class="jxr_keyword">case</strong> ID:
<a class="jxr_linenumber" name="620" href="#620">620</a>             <strong class="jxr_keyword">case</strong> HTML:
<a class="jxr_linenumber" name="621" href="#621">621</a>             <strong class="jxr_keyword">case</strong> URI:
<a class="jxr_linenumber" name="622" href="#622">622</a>                 <strong class="jxr_keyword">for</strong> (String value : (List&lt;String&gt;) source.getValue()) {
<a class="jxr_linenumber" name="623" href="#623">623</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_CHOICE_VALUE, value);
<a class="jxr_linenumber" name="624" href="#624">624</a>                 }
<a class="jxr_linenumber" name="625" href="#625">625</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="626" href="#626">626</a>             <strong class="jxr_keyword">case</strong> INTEGER:
<a class="jxr_linenumber" name="627" href="#627">627</a>                 <strong class="jxr_keyword">for</strong> (BigInteger value : (List&lt;BigInteger&gt;) source.getValue()) {
<a class="jxr_linenumber" name="628" href="#628">628</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_CHOICE_VALUE, value);
<a class="jxr_linenumber" name="629" href="#629">629</a>                 }
<a class="jxr_linenumber" name="630" href="#630">630</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="631" href="#631">631</a>             <strong class="jxr_keyword">case</strong> BOOLEAN:
<a class="jxr_linenumber" name="632" href="#632">632</a>                 <strong class="jxr_keyword">for</strong> (Boolean value : (List&lt;Boolean&gt;) source.getValue()) {
<a class="jxr_linenumber" name="633" href="#633">633</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_CHOICE_VALUE, value);
<a class="jxr_linenumber" name="634" href="#634">634</a>                 }
<a class="jxr_linenumber" name="635" href="#635">635</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="636" href="#636">636</a>             <strong class="jxr_keyword">case</strong> DATETIME:
<a class="jxr_linenumber" name="637" href="#637">637</a>                 <strong class="jxr_keyword">for</strong> (GregorianCalendar value : (List&lt;GregorianCalendar&gt;) source.getValue()) {
<a class="jxr_linenumber" name="638" href="#638">638</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_CHOICE_VALUE, value);
<a class="jxr_linenumber" name="639" href="#639">639</a>                 }
<a class="jxr_linenumber" name="640" href="#640">640</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="641" href="#641">641</a>             <strong class="jxr_keyword">case</strong> DECIMAL:
<a class="jxr_linenumber" name="642" href="#642">642</a>                 <strong class="jxr_keyword">for</strong> (BigDecimal value : (List&lt;BigDecimal&gt;) source.getValue()) {
<a class="jxr_linenumber" name="643" href="#643">643</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_TYPE_CHOICE_VALUE, value);
<a class="jxr_linenumber" name="644" href="#644">644</a>                 }
<a class="jxr_linenumber" name="645" href="#645">645</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="646" href="#646">646</a>             <strong class="jxr_keyword">default</strong>:
<a class="jxr_linenumber" name="647" href="#647">647</a>             }
<a class="jxr_linenumber" name="648" href="#648">648</a>         }
<a class="jxr_linenumber" name="649" href="#649">649</a> 
<a class="jxr_linenumber" name="650" href="#650">650</a>         <strong class="jxr_keyword">if</strong> (source.getChoice() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="651" href="#651">651</a>             <strong class="jxr_keyword">for</strong> (Choice&lt;?&gt; c : source.getChoice()) {
<a class="jxr_linenumber" name="652" href="#652">652</a>                 <strong class="jxr_keyword">if</strong> (c != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="653" href="#653">653</a>                     writeChoice(writer, propType, c);
<a class="jxr_linenumber" name="654" href="#654">654</a>                 }
<a class="jxr_linenumber" name="655" href="#655">655</a>             }
<a class="jxr_linenumber" name="656" href="#656">656</a>         }
<a class="jxr_linenumber" name="657" href="#657">657</a> 
<a class="jxr_linenumber" name="658" href="#658">658</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="659" href="#659">659</a>     }
<a class="jxr_linenumber" name="660" href="#660">660</a> 
<a class="jxr_linenumber" name="661" href="#661">661</a>     <em class="jxr_comment">// -----------------------</em>
<a class="jxr_linenumber" name="662" href="#662">662</a>     <em class="jxr_comment">// --- object writers ---</em>
<a class="jxr_linenumber" name="663" href="#663">663</a>     <em class="jxr_comment">// -----------------------</em>
<a class="jxr_linenumber" name="664" href="#664">664</a> 
<a class="jxr_linenumber" name="665" href="#665">665</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeObject(XMLStreamWriter writer, CmisVersion cmisVersion, String namespace, ObjectData source)
<a class="jxr_linenumber" name="666" href="#666">666</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="667" href="#667">667</a>         writeObject(writer, cmisVersion, false, TAG_OBJECT, namespace, source);
<a class="jxr_linenumber" name="668" href="#668">668</a>     }
<a class="jxr_linenumber" name="669" href="#669">669</a> 
<a class="jxr_linenumber" name="670" href="#670">670</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeObject(XMLStreamWriter writer, CmisVersion cmisVersion, <strong class="jxr_keyword">boolean</strong> root, String name,
<a class="jxr_linenumber" name="671" href="#671">671</a>             String namespace, ObjectData source) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="672" href="#672">672</a>         <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="673" href="#673">673</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="674" href="#674">674</a>         }
<a class="jxr_linenumber" name="675" href="#675">675</a> 
<a class="jxr_linenumber" name="676" href="#676">676</a>         <strong class="jxr_keyword">if</strong> (cmisVersion == CmisVersion.CMIS_1_0) {
<a class="jxr_linenumber" name="677" href="#677">677</a>             <strong class="jxr_keyword">if</strong> (source.getBaseTypeId() == BaseTypeId.CMIS_ITEM) {
<a class="jxr_linenumber" name="678" href="#678">678</a>                 LOG.warn(<span class="jxr_string">"Receiver only understands CMIS 1.0. It may not be able to handle an Item object."</span>);
<a class="jxr_linenumber" name="679" href="#679">679</a>             }
<a class="jxr_linenumber" name="680" href="#680">680</a>         }
<a class="jxr_linenumber" name="681" href="#681">681</a> 
<a class="jxr_linenumber" name="682" href="#682">682</a>         <strong class="jxr_keyword">if</strong> (root) {
<a class="jxr_linenumber" name="683" href="#683">683</a>             writer.writeStartElement(PREFIX_CMIS, name, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="684" href="#684">684</a>             writer.writeNamespace(PREFIX_CMIS, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="685" href="#685">685</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="686" href="#686">686</a>             writer.writeStartElement(namespace, name);
<a class="jxr_linenumber" name="687" href="#687">687</a>         }
<a class="jxr_linenumber" name="688" href="#688">688</a> 
<a class="jxr_linenumber" name="689" href="#689">689</a>         <strong class="jxr_keyword">if</strong> (source.getProperties() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="690" href="#690">690</a>             Properties properties = source.getProperties();
<a class="jxr_linenumber" name="691" href="#691">691</a> 
<a class="jxr_linenumber" name="692" href="#692">692</a>             writer.writeStartElement(PREFIX_CMIS, TAG_OBJECT_PROPERTIES, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="693" href="#693">693</a> 
<a class="jxr_linenumber" name="694" href="#694">694</a>             <strong class="jxr_keyword">if</strong> (properties.getPropertyList() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="695" href="#695">695</a>                 <strong class="jxr_keyword">for</strong> (PropertyData&lt;?&gt; property : properties.getPropertyList()) {
<a class="jxr_linenumber" name="696" href="#696">696</a>                     writeProperty(writer, property, false);
<a class="jxr_linenumber" name="697" href="#697">697</a>                 }
<a class="jxr_linenumber" name="698" href="#698">698</a>             }
<a class="jxr_linenumber" name="699" href="#699">699</a> 
<a class="jxr_linenumber" name="700" href="#700">700</a>             writeExtensions(writer, properties);
<a class="jxr_linenumber" name="701" href="#701">701</a>             writer.writeEndElement();
<a class="jxr_linenumber" name="702" href="#702">702</a>         }
<a class="jxr_linenumber" name="703" href="#703">703</a>         <strong class="jxr_keyword">if</strong> (source.getAllowableActions() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="704" href="#704">704</a>             writeAllowableActions(writer, cmisVersion, false, source.getAllowableActions());
<a class="jxr_linenumber" name="705" href="#705">705</a>         }
<a class="jxr_linenumber" name="706" href="#706">706</a>         <strong class="jxr_keyword">if</strong> (source.getRelationships() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="707" href="#707">707</a>             <strong class="jxr_keyword">for</strong> (ObjectData rel : source.getRelationships()) {
<a class="jxr_linenumber" name="708" href="#708">708</a>                 <strong class="jxr_keyword">if</strong> (rel != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="709" href="#709">709</a>                     writeObject(writer, cmisVersion, false, TAG_OBJECT_RELATIONSHIP, NAMESPACE_CMIS, rel);
<a class="jxr_linenumber" name="710" href="#710">710</a>                 }
<a class="jxr_linenumber" name="711" href="#711">711</a>             }
<a class="jxr_linenumber" name="712" href="#712">712</a>         }
<a class="jxr_linenumber" name="713" href="#713">713</a>         <strong class="jxr_keyword">if</strong> (source.getChangeEventInfo() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="714" href="#714">714</a>             ChangeEventInfo info = source.getChangeEventInfo();
<a class="jxr_linenumber" name="715" href="#715">715</a> 
<a class="jxr_linenumber" name="716" href="#716">716</a>             writer.writeStartElement(PREFIX_CMIS, TAG_OBJECT_CHANGE_EVENT_INFO, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="717" href="#717">717</a> 
<a class="jxr_linenumber" name="718" href="#718">718</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CHANGE_EVENT_TYPE, info.getChangeType());
<a class="jxr_linenumber" name="719" href="#719">719</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_CHANGE_EVENT_TIME, info.getChangeTime());
<a class="jxr_linenumber" name="720" href="#720">720</a> 
<a class="jxr_linenumber" name="721" href="#721">721</a>             writeExtensions(writer, info);
<a class="jxr_linenumber" name="722" href="#722">722</a>             writer.writeEndElement();
<a class="jxr_linenumber" name="723" href="#723">723</a>         }
<a class="jxr_linenumber" name="724" href="#724">724</a>         <strong class="jxr_keyword">if</strong> (source.getAcl() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="725" href="#725">725</a>             writeAcl(writer, cmisVersion, false, source.getAcl());
<a class="jxr_linenumber" name="726" href="#726">726</a>         }
<a class="jxr_linenumber" name="727" href="#727">727</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_OBJECT_EXACT_ACL, source.isExactAcl());
<a class="jxr_linenumber" name="728" href="#728">728</a>         <strong class="jxr_keyword">if</strong> (source.getPolicyIds() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="729" href="#729">729</a>             PolicyIdList pids = source.getPolicyIds();
<a class="jxr_linenumber" name="730" href="#730">730</a> 
<a class="jxr_linenumber" name="731" href="#731">731</a>             writer.writeStartElement(PREFIX_CMIS, TAG_OBJECT_POLICY_IDS, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="732" href="#732">732</a> 
<a class="jxr_linenumber" name="733" href="#733">733</a>             <strong class="jxr_keyword">if</strong> (pids.getPolicyIds() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="734" href="#734">734</a>                 <strong class="jxr_keyword">for</strong> (String id : pids.getPolicyIds()) {
<a class="jxr_linenumber" name="735" href="#735">735</a>                     <strong class="jxr_keyword">if</strong> (id != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="736" href="#736">736</a>                         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_POLICY_ID, id);
<a class="jxr_linenumber" name="737" href="#737">737</a>                     }
<a class="jxr_linenumber" name="738" href="#738">738</a>                 }
<a class="jxr_linenumber" name="739" href="#739">739</a>             }
<a class="jxr_linenumber" name="740" href="#740">740</a> 
<a class="jxr_linenumber" name="741" href="#741">741</a>             writeExtensions(writer, pids);
<a class="jxr_linenumber" name="742" href="#742">742</a>             writer.writeEndElement();
<a class="jxr_linenumber" name="743" href="#743">743</a>         }
<a class="jxr_linenumber" name="744" href="#744">744</a>         <strong class="jxr_keyword">if</strong> (source.getRenditions() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="745" href="#745">745</a>             <strong class="jxr_keyword">for</strong> (RenditionData rend : source.getRenditions()) {
<a class="jxr_linenumber" name="746" href="#746">746</a>                 <strong class="jxr_keyword">if</strong> (rend != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="747" href="#747">747</a>                     writer.writeStartElement(PREFIX_CMIS, TAG_OBJECT_RENDITION, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="748" href="#748">748</a> 
<a class="jxr_linenumber" name="749" href="#749">749</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_RENDITION_STREAM_ID, rend.getStreamId());
<a class="jxr_linenumber" name="750" href="#750">750</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_RENDITION_MIMETYPE, rend.getMimeType());
<a class="jxr_linenumber" name="751" href="#751">751</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_RENDITION_LENGTH, rend.getBigLength());
<a class="jxr_linenumber" name="752" href="#752">752</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_RENDITION_KIND, rend.getKind());
<a class="jxr_linenumber" name="753" href="#753">753</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_RENDITION_TITLE, rend.getTitle());
<a class="jxr_linenumber" name="754" href="#754">754</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_RENDITION_HEIGHT, rend.getBigHeight());
<a class="jxr_linenumber" name="755" href="#755">755</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_RENDITION_WIDTH, rend.getBigWidth());
<a class="jxr_linenumber" name="756" href="#756">756</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_RENDITION_DOCUMENT_ID,
<a class="jxr_linenumber" name="757" href="#757">757</a>                             rend.getRenditionDocumentId());
<a class="jxr_linenumber" name="758" href="#758">758</a> 
<a class="jxr_linenumber" name="759" href="#759">759</a>                     writeExtensions(writer, rend);
<a class="jxr_linenumber" name="760" href="#760">760</a>                     writer.writeEndElement();
<a class="jxr_linenumber" name="761" href="#761">761</a>                 }
<a class="jxr_linenumber" name="762" href="#762">762</a>             }
<a class="jxr_linenumber" name="763" href="#763">763</a>         }
<a class="jxr_linenumber" name="764" href="#764">764</a> 
<a class="jxr_linenumber" name="765" href="#765">765</a>         writeExtensions(writer, source);
<a class="jxr_linenumber" name="766" href="#766">766</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="767" href="#767">767</a>     }
<a class="jxr_linenumber" name="768" href="#768">768</a> 
<a class="jxr_linenumber" name="769" href="#769">769</a>     @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
<a class="jxr_linenumber" name="770" href="#770">770</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeProperty(XMLStreamWriter writer, PropertyData&lt;?&gt; source, <strong class="jxr_keyword">boolean</strong> isDefaultValue)
<a class="jxr_linenumber" name="771" href="#771">771</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="772" href="#772">772</a>         <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="773" href="#773">773</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="774" href="#774">774</a>         }
<a class="jxr_linenumber" name="775" href="#775">775</a> 
<a class="jxr_linenumber" name="776" href="#776">776</a>         <strong class="jxr_keyword">if</strong> (isDefaultValue) {
<a class="jxr_linenumber" name="777" href="#777">777</a>             writer.writeStartElement(PREFIX_CMIS, TAG_PROPERTY_TYPE_DEAULT_VALUE, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="778" href="#778">778</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="779" href="#779">779</a>             <strong class="jxr_keyword">if</strong> (source instanceof PropertyString) {
<a class="jxr_linenumber" name="780" href="#780">780</a>                 writer.writeStartElement(PREFIX_CMIS, TAG_PROP_STRING, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="781" href="#781">781</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyId) {
<a class="jxr_linenumber" name="782" href="#782">782</a>                 writer.writeStartElement(PREFIX_CMIS, TAG_PROP_ID, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="783" href="#783">783</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyInteger) {
<a class="jxr_linenumber" name="784" href="#784">784</a>                 writer.writeStartElement(PREFIX_CMIS, TAG_PROP_INTEGER, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="785" href="#785">785</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyBoolean) {
<a class="jxr_linenumber" name="786" href="#786">786</a>                 writer.writeStartElement(PREFIX_CMIS, TAG_PROP_BOOLEAN, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="787" href="#787">787</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyDateTime) {
<a class="jxr_linenumber" name="788" href="#788">788</a>                 writer.writeStartElement(PREFIX_CMIS, TAG_PROP_DATETIME, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="789" href="#789">789</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyDecimal) {
<a class="jxr_linenumber" name="790" href="#790">790</a>                 writer.writeStartElement(PREFIX_CMIS, TAG_PROP_DECIMAL, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="791" href="#791">791</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyHtml) {
<a class="jxr_linenumber" name="792" href="#792">792</a>                 writer.writeStartElement(PREFIX_CMIS, TAG_PROP_HTML, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="793" href="#793">793</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyUri) {
<a class="jxr_linenumber" name="794" href="#794">794</a>                 writer.writeStartElement(PREFIX_CMIS, TAG_PROP_URI, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="795" href="#795">795</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="796" href="#796">796</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> CmisRuntimeException(<span class="jxr_string">"Invalid property!"</span>);
<a class="jxr_linenumber" name="797" href="#797">797</a>             }
<a class="jxr_linenumber" name="798" href="#798">798</a>         }
<a class="jxr_linenumber" name="799" href="#799">799</a> 
<a class="jxr_linenumber" name="800" href="#800">800</a>         <strong class="jxr_keyword">if</strong> (source.getId() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="801" href="#801">801</a>             writer.writeAttribute(ATTR_PROPERTY_ID, source.getId());
<a class="jxr_linenumber" name="802" href="#802">802</a>         }
<a class="jxr_linenumber" name="803" href="#803">803</a>         <strong class="jxr_keyword">if</strong> (source.getDisplayName() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="804" href="#804">804</a>             writer.writeAttribute(ATTR_PROPERTY_DISPLAYNAME, source.getDisplayName());
<a class="jxr_linenumber" name="805" href="#805">805</a>         }
<a class="jxr_linenumber" name="806" href="#806">806</a>         <strong class="jxr_keyword">if</strong> (source.getLocalName() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="807" href="#807">807</a>             writer.writeAttribute(ATTR_PROPERTY_LOCALNAME, source.getLocalName());
<a class="jxr_linenumber" name="808" href="#808">808</a>         }
<a class="jxr_linenumber" name="809" href="#809">809</a>         <strong class="jxr_keyword">if</strong> (source.getQueryName() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="810" href="#810">810</a>             writer.writeAttribute(ATTR_PROPERTY_QUERYNAME, source.getQueryName());
<a class="jxr_linenumber" name="811" href="#811">811</a>         }
<a class="jxr_linenumber" name="812" href="#812">812</a> 
<a class="jxr_linenumber" name="813" href="#813">813</a>         <strong class="jxr_keyword">if</strong> ((source instanceof PropertyString) || (source instanceof PropertyId) || (source instanceof PropertyHtml)
<a class="jxr_linenumber" name="814" href="#814">814</a>                 || (source instanceof PropertyUri)) {
<a class="jxr_linenumber" name="815" href="#815">815</a>             List&lt;String&gt; values = (List&lt;String&gt;) source.getValues();
<a class="jxr_linenumber" name="816" href="#816">816</a>             <strong class="jxr_keyword">if</strong> (values != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="817" href="#817">817</a>                 <strong class="jxr_keyword">for</strong> (String value : values) {
<a class="jxr_linenumber" name="818" href="#818">818</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_VALUE, value);
<a class="jxr_linenumber" name="819" href="#819">819</a>                 }
<a class="jxr_linenumber" name="820" href="#820">820</a>             }
<a class="jxr_linenumber" name="821" href="#821">821</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyInteger) {
<a class="jxr_linenumber" name="822" href="#822">822</a>             List&lt;BigInteger&gt; values = ((PropertyInteger) source).getValues();
<a class="jxr_linenumber" name="823" href="#823">823</a>             <strong class="jxr_keyword">if</strong> (values != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="824" href="#824">824</a>                 <strong class="jxr_keyword">for</strong> (BigInteger value : values) {
<a class="jxr_linenumber" name="825" href="#825">825</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_VALUE, value);
<a class="jxr_linenumber" name="826" href="#826">826</a>                 }
<a class="jxr_linenumber" name="827" href="#827">827</a>             }
<a class="jxr_linenumber" name="828" href="#828">828</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyBoolean) {
<a class="jxr_linenumber" name="829" href="#829">829</a>             List&lt;Boolean&gt; values = ((PropertyBoolean) source).getValues();
<a class="jxr_linenumber" name="830" href="#830">830</a>             <strong class="jxr_keyword">if</strong> (values != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="831" href="#831">831</a>                 <strong class="jxr_keyword">for</strong> (Boolean value : values) {
<a class="jxr_linenumber" name="832" href="#832">832</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_VALUE, value);
<a class="jxr_linenumber" name="833" href="#833">833</a>                 }
<a class="jxr_linenumber" name="834" href="#834">834</a>             }
<a class="jxr_linenumber" name="835" href="#835">835</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyDateTime) {
<a class="jxr_linenumber" name="836" href="#836">836</a>             List&lt;GregorianCalendar&gt; values = ((PropertyDateTime) source).getValues();
<a class="jxr_linenumber" name="837" href="#837">837</a>             <strong class="jxr_keyword">if</strong> (values != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="838" href="#838">838</a>                 <strong class="jxr_keyword">for</strong> (GregorianCalendar value : values) {
<a class="jxr_linenumber" name="839" href="#839">839</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_VALUE, value);
<a class="jxr_linenumber" name="840" href="#840">840</a>                 }
<a class="jxr_linenumber" name="841" href="#841">841</a>             }
<a class="jxr_linenumber" name="842" href="#842">842</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (source instanceof PropertyDecimal) {
<a class="jxr_linenumber" name="843" href="#843">843</a>             List&lt;BigDecimal&gt; values = ((PropertyDecimal) source).getValues();
<a class="jxr_linenumber" name="844" href="#844">844</a>             <strong class="jxr_keyword">if</strong> (values != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="845" href="#845">845</a>                 <strong class="jxr_keyword">for</strong> (BigDecimal value : values) {
<a class="jxr_linenumber" name="846" href="#846">846</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_PROPERTY_VALUE, value);
<a class="jxr_linenumber" name="847" href="#847">847</a>                 }
<a class="jxr_linenumber" name="848" href="#848">848</a>             }
<a class="jxr_linenumber" name="849" href="#849">849</a>         }
<a class="jxr_linenumber" name="850" href="#850">850</a> 
<a class="jxr_linenumber" name="851" href="#851">851</a>         writeExtensions(writer, source);
<a class="jxr_linenumber" name="852" href="#852">852</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="853" href="#853">853</a>     }
<a class="jxr_linenumber" name="854" href="#854">854</a> 
<a class="jxr_linenumber" name="855" href="#855">855</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeAllowableActions(XMLStreamWriter writer, CmisVersion cmisVersion, <strong class="jxr_keyword">boolean</strong> root,
<a class="jxr_linenumber" name="856" href="#856">856</a>             AllowableActions source) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="857" href="#857">857</a>         <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="858" href="#858">858</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="859" href="#859">859</a>         }
<a class="jxr_linenumber" name="860" href="#860">860</a> 
<a class="jxr_linenumber" name="861" href="#861">861</a>         <strong class="jxr_keyword">if</strong> (root) {
<a class="jxr_linenumber" name="862" href="#862">862</a>             writer.writeStartElement(PREFIX_CMIS, <span class="jxr_string">"allowableActions"</span>, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="863" href="#863">863</a>             writer.writeNamespace(PREFIX_CMIS, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="864" href="#864">864</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="865" href="#865">865</a>             writer.writeStartElement(PREFIX_CMIS, TAG_OBJECT_ALLOWABLE_ACTIONS, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="866" href="#866">866</a>         }
<a class="jxr_linenumber" name="867" href="#867">867</a> 
<a class="jxr_linenumber" name="868" href="#868">868</a>         <strong class="jxr_keyword">if</strong> (source.getAllowableActions() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="869" href="#869">869</a>             <strong class="jxr_keyword">for</strong> (Action action : Action.values()) {
<a class="jxr_linenumber" name="870" href="#870">870</a>                 <strong class="jxr_keyword">if</strong> (source.getAllowableActions().contains(action)) {
<a class="jxr_linenumber" name="871" href="#871">871</a>                     <strong class="jxr_keyword">if</strong> (action == Action.CAN_CREATE_ITEM &amp;&amp; cmisVersion == CmisVersion.CMIS_1_0) {
<a class="jxr_linenumber" name="872" href="#872">872</a>                         LOG.warn(<span class="jxr_string">"Receiver only understands CMIS 1.0 but the Allowable Actions contain the canCreateItem action. "</span>
<a class="jxr_linenumber" name="873" href="#873">873</a>                                 + <span class="jxr_string">"The canCreateItem action has been removed from the Allowable Actions."</span>);
<a class="jxr_linenumber" name="874" href="#874">874</a>                         <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="875" href="#875">875</a>                     }
<a class="jxr_linenumber" name="876" href="#876">876</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, action.value(), Boolean.TRUE);
<a class="jxr_linenumber" name="877" href="#877">877</a>                 }
<a class="jxr_linenumber" name="878" href="#878">878</a>             }
<a class="jxr_linenumber" name="879" href="#879">879</a>         }
<a class="jxr_linenumber" name="880" href="#880">880</a> 
<a class="jxr_linenumber" name="881" href="#881">881</a>         writeExtensions(writer, source);
<a class="jxr_linenumber" name="882" href="#882">882</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="883" href="#883">883</a>     }
<a class="jxr_linenumber" name="884" href="#884">884</a> 
<a class="jxr_linenumber" name="885" href="#885">885</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeAcl(XMLStreamWriter writer, CmisVersion cmisVersion, <strong class="jxr_keyword">boolean</strong> root, Acl source)
<a class="jxr_linenumber" name="886" href="#886">886</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="887" href="#887">887</a>         <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="888" href="#888">888</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="889" href="#889">889</a>         }
<a class="jxr_linenumber" name="890" href="#890">890</a> 
<a class="jxr_linenumber" name="891" href="#891">891</a>         <strong class="jxr_keyword">if</strong> (root) {
<a class="jxr_linenumber" name="892" href="#892">892</a>             writer.writeStartElement(PREFIX_CMIS, <span class="jxr_string">"acl"</span>, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="893" href="#893">893</a>             writer.writeNamespace(PREFIX_CMIS, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="894" href="#894">894</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="895" href="#895">895</a>             writer.writeStartElement(PREFIX_CMIS, TAG_OBJECT_ACL, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="896" href="#896">896</a>         }
<a class="jxr_linenumber" name="897" href="#897">897</a> 
<a class="jxr_linenumber" name="898" href="#898">898</a>         <strong class="jxr_keyword">if</strong> (source.getAces() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="899" href="#899">899</a>             <strong class="jxr_keyword">for</strong> (Ace ace : source.getAces()) {
<a class="jxr_linenumber" name="900" href="#900">900</a>                 <strong class="jxr_keyword">if</strong> (ace != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="901" href="#901">901</a>                     writer.writeStartElement(PREFIX_CMIS, TAG_ACL_PERMISSISONS, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="902" href="#902">902</a> 
<a class="jxr_linenumber" name="903" href="#903">903</a>                     <strong class="jxr_keyword">if</strong> (ace.getPrincipal() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="904" href="#904">904</a>                         Principal principal = ace.getPrincipal();
<a class="jxr_linenumber" name="905" href="#905">905</a> 
<a class="jxr_linenumber" name="906" href="#906">906</a>                         writer.writeStartElement(PREFIX_CMIS, TAG_ACE_PRINCIPAL, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="907" href="#907">907</a> 
<a class="jxr_linenumber" name="908" href="#908">908</a>                         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_ACE_PRINCIPAL_ID, principal.getId());
<a class="jxr_linenumber" name="909" href="#909">909</a> 
<a class="jxr_linenumber" name="910" href="#910">910</a>                         writeExtensions(writer, principal);
<a class="jxr_linenumber" name="911" href="#911">911</a>                         writer.writeEndElement();
<a class="jxr_linenumber" name="912" href="#912">912</a>                     }
<a class="jxr_linenumber" name="913" href="#913">913</a>                     <strong class="jxr_keyword">if</strong> (ace.getPermissions() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="914" href="#914">914</a>                         <strong class="jxr_keyword">for</strong> (String perm : ace.getPermissions()) {
<a class="jxr_linenumber" name="915" href="#915">915</a>                             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_ACE_PERMISSIONS, perm);
<a class="jxr_linenumber" name="916" href="#916">916</a>                         }
<a class="jxr_linenumber" name="917" href="#917">917</a>                     }
<a class="jxr_linenumber" name="918" href="#918">918</a>                     XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_ACE_IS_DIRECT, ace.isDirect());
<a class="jxr_linenumber" name="919" href="#919">919</a> 
<a class="jxr_linenumber" name="920" href="#920">920</a>                     writeExtensions(writer, ace);
<a class="jxr_linenumber" name="921" href="#921">921</a>                     writer.writeEndElement();
<a class="jxr_linenumber" name="922" href="#922">922</a>                 }
<a class="jxr_linenumber" name="923" href="#923">923</a>             }
<a class="jxr_linenumber" name="924" href="#924">924</a>         }
<a class="jxr_linenumber" name="925" href="#925">925</a> 
<a class="jxr_linenumber" name="926" href="#926">926</a>         writeExtensions(writer, source);
<a class="jxr_linenumber" name="927" href="#927">927</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="928" href="#928">928</a>     }
<a class="jxr_linenumber" name="929" href="#929">929</a> 
<a class="jxr_linenumber" name="930" href="#930">930</a>     <em class="jxr_comment">// -------------</em>
<a class="jxr_linenumber" name="931" href="#931">931</a>     <em class="jxr_comment">// --- query ---</em>
<a class="jxr_linenumber" name="932" href="#932">932</a>     <em class="jxr_comment">// -------------</em>
<a class="jxr_linenumber" name="933" href="#933">933</a> 
<a class="jxr_linenumber" name="934" href="#934">934</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeQuery(XMLStreamWriter writer, CmisVersion cmisVersion, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/QueryTypeImpl.html">QueryTypeImpl</a> source)
<a class="jxr_linenumber" name="935" href="#935">935</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="936" href="#936">936</a>         <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="937" href="#937">937</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="938" href="#938">938</a>         }
<a class="jxr_linenumber" name="939" href="#939">939</a> 
<a class="jxr_linenumber" name="940" href="#940">940</a>         writer.writeStartElement(NAMESPACE_CMIS, TAG_QUERY);
<a class="jxr_linenumber" name="941" href="#941">941</a>         writer.writeNamespace(PREFIX_CMIS, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="942" href="#942">942</a> 
<a class="jxr_linenumber" name="943" href="#943">943</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_QUERY_STATEMENT, source.getStatement());
<a class="jxr_linenumber" name="944" href="#944">944</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_QUERY_SEARCHALLVERSIONS, source.getSearchAllVersions());
<a class="jxr_linenumber" name="945" href="#945">945</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_QUERY_INCLUDEALLOWABLEACTIONS,
<a class="jxr_linenumber" name="946" href="#946">946</a>                 source.getIncludeAllowableActions());
<a class="jxr_linenumber" name="947" href="#947">947</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_QUERY_INCLUDERELATIONSHIPS,
<a class="jxr_linenumber" name="948" href="#948">948</a>                 source.getIncludeRelationships());
<a class="jxr_linenumber" name="949" href="#949">949</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_QUERY_RENDITIONFILTER, source.getRenditionFilter());
<a class="jxr_linenumber" name="950" href="#950">950</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_QUERY_MAXITEMS, source.getMaxItems());
<a class="jxr_linenumber" name="951" href="#951">951</a>         XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_QUERY_SKIPCOUNT, source.getSkipCount());
<a class="jxr_linenumber" name="952" href="#952">952</a> 
<a class="jxr_linenumber" name="953" href="#953">953</a>         writeExtensions(writer, source);
<a class="jxr_linenumber" name="954" href="#954">954</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="955" href="#955">955</a>     }
<a class="jxr_linenumber" name="956" href="#956">956</a> 
<a class="jxr_linenumber" name="957" href="#957">957</a>     <em class="jxr_comment">// -------------------</em>
<a class="jxr_linenumber" name="958" href="#958">958</a>     <em class="jxr_comment">// --- bulk update ---</em>
<a class="jxr_linenumber" name="959" href="#959">959</a>     <em class="jxr_comment">// -------------------</em>
<a class="jxr_linenumber" name="960" href="#960">960</a> 
<a class="jxr_linenumber" name="961" href="#961">961</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeBulkUpdate(XMLStreamWriter writer, String namespace, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/BulkUpdateImpl.html">BulkUpdateImpl</a> bulkUpdate)
<a class="jxr_linenumber" name="962" href="#962">962</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="963" href="#963">963</a>         <strong class="jxr_keyword">if</strong> (bulkUpdate == <strong class="jxr_keyword">null</strong> || bulkUpdate.getObjectIdAndChangeToken() == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="964" href="#964">964</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="965" href="#965">965</a>         }
<a class="jxr_linenumber" name="966" href="#966">966</a> 
<a class="jxr_linenumber" name="967" href="#967">967</a>         writer.writeStartElement(namespace, TAG_BULK_UPDATE);
<a class="jxr_linenumber" name="968" href="#968">968</a> 
<a class="jxr_linenumber" name="969" href="#969">969</a>         <strong class="jxr_keyword">for</strong> (BulkUpdateObjectIdAndChangeToken idAndToken : bulkUpdate.getObjectIdAndChangeToken()) {
<a class="jxr_linenumber" name="970" href="#970">970</a>             <strong class="jxr_keyword">if</strong> (idAndToken == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="971" href="#971">971</a>                 <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="972" href="#972">972</a>             }
<a class="jxr_linenumber" name="973" href="#973">973</a> 
<a class="jxr_linenumber" name="974" href="#974">974</a>             writer.writeStartElement(PREFIX_CMIS, TAG_BULK_UPDATE_ID_AND_TOKEN, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="975" href="#975">975</a> 
<a class="jxr_linenumber" name="976" href="#976">976</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_IDANDTOKEN_ID, idAndToken.getId());
<a class="jxr_linenumber" name="977" href="#977">977</a>             XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_IDANDTOKEN_CHANGETOKEN, idAndToken.getChangeToken());
<a class="jxr_linenumber" name="978" href="#978">978</a> 
<a class="jxr_linenumber" name="979" href="#979">979</a>             writeExtensions(writer, idAndToken);
<a class="jxr_linenumber" name="980" href="#980">980</a>             writer.writeEndElement();
<a class="jxr_linenumber" name="981" href="#981">981</a>         }
<a class="jxr_linenumber" name="982" href="#982">982</a> 
<a class="jxr_linenumber" name="983" href="#983">983</a>         <strong class="jxr_keyword">if</strong> (bulkUpdate.getProperties() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="984" href="#984">984</a>             Properties properties = bulkUpdate.getProperties();
<a class="jxr_linenumber" name="985" href="#985">985</a>             writer.writeStartElement(PREFIX_CMIS, TAG_BULK_UPDATE_PROPERTIES, NAMESPACE_CMIS);
<a class="jxr_linenumber" name="986" href="#986">986</a> 
<a class="jxr_linenumber" name="987" href="#987">987</a>             <strong class="jxr_keyword">if</strong> (properties.getPropertyList() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="988" href="#988">988</a>                 <strong class="jxr_keyword">for</strong> (PropertyData&lt;?&gt; property : properties.getPropertyList()) {
<a class="jxr_linenumber" name="989" href="#989">989</a>                     writeProperty(writer, property, false);
<a class="jxr_linenumber" name="990" href="#990">990</a>                 }
<a class="jxr_linenumber" name="991" href="#991">991</a>             }
<a class="jxr_linenumber" name="992" href="#992">992</a> 
<a class="jxr_linenumber" name="993" href="#993">993</a>             writeExtensions(writer, properties);
<a class="jxr_linenumber" name="994" href="#994">994</a>             writer.writeEndElement();
<a class="jxr_linenumber" name="995" href="#995">995</a>         }
<a class="jxr_linenumber" name="996" href="#996">996</a> 
<a class="jxr_linenumber" name="997" href="#997">997</a>         <strong class="jxr_keyword">if</strong> (bulkUpdate.getAddSecondaryTypeIds() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="998" href="#998">998</a>             <strong class="jxr_keyword">for</strong> (String id : bulkUpdate.getAddSecondaryTypeIds()) {
<a class="jxr_linenumber" name="999" href="#999">999</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_BULK_UPDATE_ADD_SECONDARY_TYPES, id);
<a class="jxr_linenumber" name="1000" href="#1000">1000</a>             }
<a class="jxr_linenumber" name="1001" href="#1001">1001</a>         }
<a class="jxr_linenumber" name="1002" href="#1002">1002</a> 
<a class="jxr_linenumber" name="1003" href="#1003">1003</a>         <strong class="jxr_keyword">if</strong> (bulkUpdate.getRemoveSecondaryTypeIds() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1004" href="#1004">1004</a>             <strong class="jxr_keyword">for</strong> (String id : bulkUpdate.getRemoveSecondaryTypeIds()) {
<a class="jxr_linenumber" name="1005" href="#1005">1005</a>                 XMLUtils.write(writer, PREFIX_CMIS, NAMESPACE_CMIS, TAG_BULK_UPDATE_REMOVE_SECONDARY_TYPES, id);
<a class="jxr_linenumber" name="1006" href="#1006">1006</a>             }
<a class="jxr_linenumber" name="1007" href="#1007">1007</a>         }
<a class="jxr_linenumber" name="1008" href="#1008">1008</a> 
<a class="jxr_linenumber" name="1009" href="#1009">1009</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="1010" href="#1010">1010</a>     }
<a class="jxr_linenumber" name="1011" href="#1011">1011</a> 
<a class="jxr_linenumber" name="1012" href="#1012">1012</a>     <em class="jxr_comment">// -------------------------</em>
<a class="jxr_linenumber" name="1013" href="#1013">1013</a>     <em class="jxr_comment">// --- extension writers ---</em>
<a class="jxr_linenumber" name="1014" href="#1014">1014</a>     <em class="jxr_comment">// -------------------------</em>
<a class="jxr_linenumber" name="1015" href="#1015">1015</a> 
<a class="jxr_linenumber" name="1016" href="#1016">1016</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeExtensions(XMLStreamWriter writer, ExtensionsData source) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1017" href="#1017">1017</a>         <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1018" href="#1018">1018</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="1019" href="#1019">1019</a>         }
<a class="jxr_linenumber" name="1020" href="#1020">1020</a> 
<a class="jxr_linenumber" name="1021" href="#1021">1021</a>         LinkedList&lt;String&gt; ns = <strong class="jxr_keyword">new</strong> LinkedList&lt;String&gt;();
<a class="jxr_linenumber" name="1022" href="#1022">1022</a> 
<a class="jxr_linenumber" name="1023" href="#1023">1023</a>         <strong class="jxr_keyword">if</strong> (source.getExtensions() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1024" href="#1024">1024</a>             <strong class="jxr_keyword">for</strong> (CmisExtensionElement element : source.getExtensions()) {
<a class="jxr_linenumber" name="1025" href="#1025">1025</a>                 <strong class="jxr_keyword">if</strong> (element == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1026" href="#1026">1026</a>                     <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="1027" href="#1027">1027</a>                 }
<a class="jxr_linenumber" name="1028" href="#1028">1028</a> 
<a class="jxr_linenumber" name="1029" href="#1029">1029</a>                 writeExtensionElement(writer, element, ns);
<a class="jxr_linenumber" name="1030" href="#1030">1030</a>             }
<a class="jxr_linenumber" name="1031" href="#1031">1031</a>         }
<a class="jxr_linenumber" name="1032" href="#1032">1032</a>     }
<a class="jxr_linenumber" name="1033" href="#1033">1033</a> 
<a class="jxr_linenumber" name="1034" href="#1034">1034</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> writeExtensionElement(XMLStreamWriter writer, CmisExtensionElement source, LinkedList&lt;String&gt; ns)
<a class="jxr_linenumber" name="1035" href="#1035">1035</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1036" href="#1036">1036</a>         <strong class="jxr_keyword">if</strong> (source == <strong class="jxr_keyword">null</strong> || source.getName() == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1037" href="#1037">1037</a>             <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="1038" href="#1038">1038</a>         }
<a class="jxr_linenumber" name="1039" href="#1039">1039</a> 
<a class="jxr_linenumber" name="1040" href="#1040">1040</a>         <strong class="jxr_keyword">boolean</strong> addedNamespace = false;
<a class="jxr_linenumber" name="1041" href="#1041">1041</a> 
<a class="jxr_linenumber" name="1042" href="#1042">1042</a>         <strong class="jxr_keyword">if</strong> (source.getNamespace() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1043" href="#1043">1043</a>             String prefix = writer.getPrefix(source.getNamespace());
<a class="jxr_linenumber" name="1044" href="#1044">1044</a>             <strong class="jxr_keyword">if</strong> (prefix == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1045" href="#1045">1045</a>                 <strong class="jxr_keyword">int</strong> p = ns.indexOf(source.getNamespace());
<a class="jxr_linenumber" name="1046" href="#1046">1046</a> 
<a class="jxr_linenumber" name="1047" href="#1047">1047</a>                 <strong class="jxr_keyword">if</strong> (p == -1) {
<a class="jxr_linenumber" name="1048" href="#1048">1048</a>                     prefix = <span class="jxr_string">"e"</span> + (ns.size() + 1);
<a class="jxr_linenumber" name="1049" href="#1049">1049</a>                     ns.add(source.getNamespace());
<a class="jxr_linenumber" name="1050" href="#1050">1050</a>                     addedNamespace = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1051" href="#1051">1051</a>                 } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1052" href="#1052">1052</a>                     prefix = <span class="jxr_string">"e"</span> + (p + 1);
<a class="jxr_linenumber" name="1053" href="#1053">1053</a>                 }
<a class="jxr_linenumber" name="1054" href="#1054">1054</a>             }
<a class="jxr_linenumber" name="1055" href="#1055">1055</a> 
<a class="jxr_linenumber" name="1056" href="#1056">1056</a>             writer.writeStartElement(prefix, source.getName(), source.getNamespace());
<a class="jxr_linenumber" name="1057" href="#1057">1057</a> 
<a class="jxr_linenumber" name="1058" href="#1058">1058</a>             <strong class="jxr_keyword">if</strong> (addedNamespace) {
<a class="jxr_linenumber" name="1059" href="#1059">1059</a>                 writer.writeNamespace(prefix, source.getNamespace());
<a class="jxr_linenumber" name="1060" href="#1060">1060</a>             }
<a class="jxr_linenumber" name="1061" href="#1061">1061</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1062" href="#1062">1062</a>             writer.writeStartElement(source.getName());
<a class="jxr_linenumber" name="1063" href="#1063">1063</a>         }
<a class="jxr_linenumber" name="1064" href="#1064">1064</a> 
<a class="jxr_linenumber" name="1065" href="#1065">1065</a>         <strong class="jxr_keyword">if</strong> (source.getAttributes() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1066" href="#1066">1066</a>             <strong class="jxr_keyword">for</strong> (Map.Entry&lt;String, String&gt; attr : source.getAttributes().entrySet()) {
<a class="jxr_linenumber" name="1067" href="#1067">1067</a>                 writer.writeAttribute(attr.getKey(), attr.getValue());
<a class="jxr_linenumber" name="1068" href="#1068">1068</a>             }
<a class="jxr_linenumber" name="1069" href="#1069">1069</a>         }
<a class="jxr_linenumber" name="1070" href="#1070">1070</a> 
<a class="jxr_linenumber" name="1071" href="#1071">1071</a>         <strong class="jxr_keyword">if</strong> (source.getValue() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1072" href="#1072">1072</a>             writer.writeCharacters(source.getValue());
<a class="jxr_linenumber" name="1073" href="#1073">1073</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1074" href="#1074">1074</a>             <strong class="jxr_keyword">if</strong> (source.getChildren() != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1075" href="#1075">1075</a>                 <strong class="jxr_keyword">for</strong> (CmisExtensionElement child : source.getChildren()) {
<a class="jxr_linenumber" name="1076" href="#1076">1076</a>                     writeExtensionElement(writer, child, ns);
<a class="jxr_linenumber" name="1077" href="#1077">1077</a>                 }
<a class="jxr_linenumber" name="1078" href="#1078">1078</a>             }
<a class="jxr_linenumber" name="1079" href="#1079">1079</a>         }
<a class="jxr_linenumber" name="1080" href="#1080">1080</a> 
<a class="jxr_linenumber" name="1081" href="#1081">1081</a>         writer.writeEndElement();
<a class="jxr_linenumber" name="1082" href="#1082">1082</a> 
<a class="jxr_linenumber" name="1083" href="#1083">1083</a>         <strong class="jxr_keyword">if</strong> (addedNamespace) {
<a class="jxr_linenumber" name="1084" href="#1084">1084</a>             ns.removeLast();
<a class="jxr_linenumber" name="1085" href="#1085">1085</a>         }
<a class="jxr_linenumber" name="1086" href="#1086">1086</a>     }
<a class="jxr_linenumber" name="1087" href="#1087">1087</a> 
<a class="jxr_linenumber" name="1088" href="#1088">1088</a>     <em class="jxr_comment">// ---------------</em>
<a class="jxr_linenumber" name="1089" href="#1089">1089</a>     <em class="jxr_comment">// --- parsers ---</em>
<a class="jxr_linenumber" name="1090" href="#1090">1090</a>     <em class="jxr_comment">// ---------------</em>
<a class="jxr_linenumber" name="1091" href="#1091">1091</a> 
<a class="jxr_linenumber" name="1092" href="#1092">1092</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> RepositoryInfo convertRepositoryInfo(XMLStreamReader parser) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1093" href="#1093">1093</a>         <strong class="jxr_keyword">return</strong> REPOSITORY_INFO_PARSER.walk(parser);
<a class="jxr_linenumber" name="1094" href="#1094">1094</a>     }
<a class="jxr_linenumber" name="1095" href="#1095">1095</a> 
<a class="jxr_linenumber" name="1096" href="#1096">1096</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> TypeDefinition convertTypeDefinition(XMLStreamReader parser) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1097" href="#1097">1097</a>         <strong class="jxr_keyword">return</strong> TYPE_DEF_PARSER.walk(parser);
<a class="jxr_linenumber" name="1098" href="#1098">1098</a>     }
<a class="jxr_linenumber" name="1099" href="#1099">1099</a> 
<a class="jxr_linenumber" name="1100" href="#1100">1100</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> ObjectData convertObject(XMLStreamReader parser) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1101" href="#1101">1101</a>         <strong class="jxr_keyword">return</strong> OBJECT_PARSER.walk(parser);
<a class="jxr_linenumber" name="1102" href="#1102">1102</a>     }
<a class="jxr_linenumber" name="1103" href="#1103">1103</a> 
<a class="jxr_linenumber" name="1104" href="#1104">1104</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/QueryTypeImpl.html">QueryTypeImpl</a> convertQuery(XMLStreamReader parser) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1105" href="#1105">1105</a>         <strong class="jxr_keyword">return</strong> QUERY_PARSER.walk(parser);
<a class="jxr_linenumber" name="1106" href="#1106">1106</a>     }
<a class="jxr_linenumber" name="1107" href="#1107">1107</a> 
<a class="jxr_linenumber" name="1108" href="#1108">1108</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> AllowableActions convertAllowableActions(XMLStreamReader parser) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1109" href="#1109">1109</a>         <strong class="jxr_keyword">return</strong> ALLOWABLE_ACTIONS_PARSER.walk(parser);
<a class="jxr_linenumber" name="1110" href="#1110">1110</a>     }
<a class="jxr_linenumber" name="1111" href="#1111">1111</a> 
<a class="jxr_linenumber" name="1112" href="#1112">1112</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> Acl convertAcl(XMLStreamReader parser) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1113" href="#1113">1113</a>         <strong class="jxr_keyword">return</strong> ACL_PARSER.walk(parser);
<a class="jxr_linenumber" name="1114" href="#1114">1114</a>     }
<a class="jxr_linenumber" name="1115" href="#1115">1115</a> 
<a class="jxr_linenumber" name="1116" href="#1116">1116</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/BulkUpdateImpl.html">BulkUpdateImpl</a> convertBulkUpdate(XMLStreamReader parser) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1117" href="#1117">1117</a>         <strong class="jxr_keyword">return</strong> BULK_UPDATE_PARSER.walk(parser);
<a class="jxr_linenumber" name="1118" href="#1118">1118</a>     }
<a class="jxr_linenumber" name="1119" href="#1119">1119</a> 
<a class="jxr_linenumber" name="1120" href="#1120">1120</a>     <em class="jxr_comment">// ------------------------------</em>
<a class="jxr_linenumber" name="1121" href="#1121">1121</a>     <em class="jxr_comment">// --- repository info parser ---</em>
<a class="jxr_linenumber" name="1122" href="#1122">1122</a>     <em class="jxr_comment">// ------------------------------</em>
<a class="jxr_linenumber" name="1123" href="#1123">1123</a> 
<a class="jxr_linenumber" name="1124" href="#1124">1124</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;RepositoryInfoImpl&gt; REPOSITORY_INFO_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;RepositoryInfoImpl&gt;() {
<a class="jxr_linenumber" name="1125" href="#1125">1125</a>         @Override
<a class="jxr_linenumber" name="1126" href="#1126">1126</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryInfoImpl.html">RepositoryInfoImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1127" href="#1127">1127</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryInfoImpl.html">RepositoryInfoImpl</a>();
<a class="jxr_linenumber" name="1128" href="#1128">1128</a>         }
<a class="jxr_linenumber" name="1129" href="#1129">1129</a> 
<a class="jxr_linenumber" name="1130" href="#1130">1130</a>         @Override
<a class="jxr_linenumber" name="1131" href="#1131">1131</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryInfoImpl.html">RepositoryInfoImpl</a> target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1132" href="#1132">1132</a> 
<a class="jxr_linenumber" name="1133" href="#1133">1133</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="1134" href="#1134">1134</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_ID)) {
<a class="jxr_linenumber" name="1135" href="#1135">1135</a>                     target.setId(readText(parser));
<a class="jxr_linenumber" name="1136" href="#1136">1136</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1137" href="#1137">1137</a>                 }
<a class="jxr_linenumber" name="1138" href="#1138">1138</a> 
<a class="jxr_linenumber" name="1139" href="#1139">1139</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_NAME)) {
<a class="jxr_linenumber" name="1140" href="#1140">1140</a>                     target.setName(readText(parser));
<a class="jxr_linenumber" name="1141" href="#1141">1141</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1142" href="#1142">1142</a>                 }
<a class="jxr_linenumber" name="1143" href="#1143">1143</a> 
<a class="jxr_linenumber" name="1144" href="#1144">1144</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_DESCRIPTION)) {
<a class="jxr_linenumber" name="1145" href="#1145">1145</a>                     target.setDescription(readText(parser));
<a class="jxr_linenumber" name="1146" href="#1146">1146</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1147" href="#1147">1147</a>                 }
<a class="jxr_linenumber" name="1148" href="#1148">1148</a> 
<a class="jxr_linenumber" name="1149" href="#1149">1149</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_VENDOR)) {
<a class="jxr_linenumber" name="1150" href="#1150">1150</a>                     target.setVendorName(readText(parser));
<a class="jxr_linenumber" name="1151" href="#1151">1151</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1152" href="#1152">1152</a>                 }
<a class="jxr_linenumber" name="1153" href="#1153">1153</a> 
<a class="jxr_linenumber" name="1154" href="#1154">1154</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_PRODUCT)) {
<a class="jxr_linenumber" name="1155" href="#1155">1155</a>                     target.setProductName(readText(parser));
<a class="jxr_linenumber" name="1156" href="#1156">1156</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1157" href="#1157">1157</a>                 }
<a class="jxr_linenumber" name="1158" href="#1158">1158</a> 
<a class="jxr_linenumber" name="1159" href="#1159">1159</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_PRODUCT_VERSION)) {
<a class="jxr_linenumber" name="1160" href="#1160">1160</a>                     target.setProductVersion(readText(parser));
<a class="jxr_linenumber" name="1161" href="#1161">1161</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1162" href="#1162">1162</a>                 }
<a class="jxr_linenumber" name="1163" href="#1163">1163</a> 
<a class="jxr_linenumber" name="1164" href="#1164">1164</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_ROOT_FOLDER_ID)) {
<a class="jxr_linenumber" name="1165" href="#1165">1165</a>                     target.setRootFolder(readText(parser));
<a class="jxr_linenumber" name="1166" href="#1166">1166</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1167" href="#1167">1167</a>                 }
<a class="jxr_linenumber" name="1168" href="#1168">1168</a> 
<a class="jxr_linenumber" name="1169" href="#1169">1169</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_CHANGE_LOG_TOKEN)) {
<a class="jxr_linenumber" name="1170" href="#1170">1170</a>                     target.setLatestChangeLogToken(readText(parser));
<a class="jxr_linenumber" name="1171" href="#1171">1171</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1172" href="#1172">1172</a>                 }
<a class="jxr_linenumber" name="1173" href="#1173">1173</a> 
<a class="jxr_linenumber" name="1174" href="#1174">1174</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_CAPABILITIES)) {
<a class="jxr_linenumber" name="1175" href="#1175">1175</a>                     target.setCapabilities(CAPABILITIES_PARSER.walk(parser));
<a class="jxr_linenumber" name="1176" href="#1176">1176</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1177" href="#1177">1177</a>                 }
<a class="jxr_linenumber" name="1178" href="#1178">1178</a> 
<a class="jxr_linenumber" name="1179" href="#1179">1179</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_ACL_CAPABILITIES)) {
<a class="jxr_linenumber" name="1180" href="#1180">1180</a>                     target.setAclCapabilities(ACL_CAPABILITIES_PARSER.walk(parser));
<a class="jxr_linenumber" name="1181" href="#1181">1181</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1182" href="#1182">1182</a>                 }
<a class="jxr_linenumber" name="1183" href="#1183">1183</a> 
<a class="jxr_linenumber" name="1184" href="#1184">1184</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_CMIS_VERSION_SUPPORTED)) {
<a class="jxr_linenumber" name="1185" href="#1185">1185</a>                     target.setCmisVersionSupported(readText(parser));
<a class="jxr_linenumber" name="1186" href="#1186">1186</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1187" href="#1187">1187</a>                 }
<a class="jxr_linenumber" name="1188" href="#1188">1188</a> 
<a class="jxr_linenumber" name="1189" href="#1189">1189</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_THIN_CLIENT_URI)) {
<a class="jxr_linenumber" name="1190" href="#1190">1190</a>                     target.setThinClientUri(readText(parser));
<a class="jxr_linenumber" name="1191" href="#1191">1191</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1192" href="#1192">1192</a>                 }
<a class="jxr_linenumber" name="1193" href="#1193">1193</a> 
<a class="jxr_linenumber" name="1194" href="#1194">1194</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_CHANGES_INCOMPLETE)) {
<a class="jxr_linenumber" name="1195" href="#1195">1195</a>                     target.setChangesIncomplete(readBoolean(parser));
<a class="jxr_linenumber" name="1196" href="#1196">1196</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1197" href="#1197">1197</a>                 }
<a class="jxr_linenumber" name="1198" href="#1198">1198</a> 
<a class="jxr_linenumber" name="1199" href="#1199">1199</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_CHANGES_ON_TYPE)) {
<a class="jxr_linenumber" name="1200" href="#1200">1200</a>                     target.setChangesOnType(addToList(target.getChangesOnType(), readEnum(parser, BaseTypeId.<strong class="jxr_keyword">class</strong>)));
<a class="jxr_linenumber" name="1201" href="#1201">1201</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1202" href="#1202">1202</a>                 }
<a class="jxr_linenumber" name="1203" href="#1203">1203</a> 
<a class="jxr_linenumber" name="1204" href="#1204">1204</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_PRINCIPAL_ID_ANONYMOUS)) {
<a class="jxr_linenumber" name="1205" href="#1205">1205</a>                     target.setPrincipalAnonymous(readText(parser));
<a class="jxr_linenumber" name="1206" href="#1206">1206</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1207" href="#1207">1207</a>                 }
<a class="jxr_linenumber" name="1208" href="#1208">1208</a> 
<a class="jxr_linenumber" name="1209" href="#1209">1209</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_PRINCIPAL_ID_ANYONE)) {
<a class="jxr_linenumber" name="1210" href="#1210">1210</a>                     target.setPrincipalAnyone(readText(parser));
<a class="jxr_linenumber" name="1211" href="#1211">1211</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1212" href="#1212">1212</a>                 }
<a class="jxr_linenumber" name="1213" href="#1213">1213</a> 
<a class="jxr_linenumber" name="1214" href="#1214">1214</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_REPINFO_EXTENDED_FEATURES)) {
<a class="jxr_linenumber" name="1215" href="#1215">1215</a>                     target.setExtensionFeature(addToList(target.getExtensionFeatures(),
<a class="jxr_linenumber" name="1216" href="#1216">1216</a>                             EXTENDED_FEATURES_PARSER.walk(parser)));
<a class="jxr_linenumber" name="1217" href="#1217">1217</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1218" href="#1218">1218</a>                 }
<a class="jxr_linenumber" name="1219" href="#1219">1219</a>             }
<a class="jxr_linenumber" name="1220" href="#1220">1220</a> 
<a class="jxr_linenumber" name="1221" href="#1221">1221</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="1222" href="#1222">1222</a>         }
<a class="jxr_linenumber" name="1223" href="#1223">1223</a>     };
<a class="jxr_linenumber" name="1224" href="#1224">1224</a> 
<a class="jxr_linenumber" name="1225" href="#1225">1225</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;RepositoryCapabilitiesImpl&gt; CAPABILITIES_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;RepositoryCapabilitiesImpl&gt;() {
<a class="jxr_linenumber" name="1226" href="#1226">1226</a>         @Override
<a class="jxr_linenumber" name="1227" href="#1227">1227</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryCapabilitiesImpl.html">RepositoryCapabilitiesImpl</a> prepareTarget(XMLStreamReader parser, QName name)
<a class="jxr_linenumber" name="1228" href="#1228">1228</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1229" href="#1229">1229</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryCapabilitiesImpl.html">RepositoryCapabilitiesImpl</a>();
<a class="jxr_linenumber" name="1230" href="#1230">1230</a>         }
<a class="jxr_linenumber" name="1231" href="#1231">1231</a> 
<a class="jxr_linenumber" name="1232" href="#1232">1232</a>         @Override
<a class="jxr_linenumber" name="1233" href="#1233">1233</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryCapabilitiesImpl.html">RepositoryCapabilitiesImpl</a> target)
<a class="jxr_linenumber" name="1234" href="#1234">1234</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1235" href="#1235">1235</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="1236" href="#1236">1236</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_ACL)) {
<a class="jxr_linenumber" name="1237" href="#1237">1237</a>                     target.setCapabilityAcl(readEnum(parser, CapabilityAcl.<strong class="jxr_keyword">class</strong>));
<a class="jxr_linenumber" name="1238" href="#1238">1238</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1239" href="#1239">1239</a>                 }
<a class="jxr_linenumber" name="1240" href="#1240">1240</a> 
<a class="jxr_linenumber" name="1241" href="#1241">1241</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_ALL_VERSIONS_SEARCHABLE)) {
<a class="jxr_linenumber" name="1242" href="#1242">1242</a>                     target.setAllVersionsSearchable(readBoolean(parser));
<a class="jxr_linenumber" name="1243" href="#1243">1243</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1244" href="#1244">1244</a>                 }
<a class="jxr_linenumber" name="1245" href="#1245">1245</a> 
<a class="jxr_linenumber" name="1246" href="#1246">1246</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_CHANGES)) {
<a class="jxr_linenumber" name="1247" href="#1247">1247</a>                     target.setCapabilityChanges(readEnum(parser, CapabilityChanges.<strong class="jxr_keyword">class</strong>));
<a class="jxr_linenumber" name="1248" href="#1248">1248</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1249" href="#1249">1249</a>                 }
<a class="jxr_linenumber" name="1250" href="#1250">1250</a> 
<a class="jxr_linenumber" name="1251" href="#1251">1251</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_CONTENT_STREAM_UPDATABILITY)) {
<a class="jxr_linenumber" name="1252" href="#1252">1252</a>                     target.setCapabilityContentStreamUpdates(readEnum(parser, CapabilityContentStreamUpdates.<strong class="jxr_keyword">class</strong>));
<a class="jxr_linenumber" name="1253" href="#1253">1253</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1254" href="#1254">1254</a>                 }
<a class="jxr_linenumber" name="1255" href="#1255">1255</a> 
<a class="jxr_linenumber" name="1256" href="#1256">1256</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_GET_DESCENDANTS)) {
<a class="jxr_linenumber" name="1257" href="#1257">1257</a>                     target.setSupportsGetDescendants(readBoolean(parser));
<a class="jxr_linenumber" name="1258" href="#1258">1258</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1259" href="#1259">1259</a>                 }
<a class="jxr_linenumber" name="1260" href="#1260">1260</a> 
<a class="jxr_linenumber" name="1261" href="#1261">1261</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_GET_FOLDER_TREE)) {
<a class="jxr_linenumber" name="1262" href="#1262">1262</a>                     target.setSupportsGetFolderTree(readBoolean(parser));
<a class="jxr_linenumber" name="1263" href="#1263">1263</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1264" href="#1264">1264</a>                 }
<a class="jxr_linenumber" name="1265" href="#1265">1265</a> 
<a class="jxr_linenumber" name="1266" href="#1266">1266</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_ORDER_BY)) {
<a class="jxr_linenumber" name="1267" href="#1267">1267</a>                     target.setOrderByCapability(readEnum(parser, CapabilityOrderBy.<strong class="jxr_keyword">class</strong>));
<a class="jxr_linenumber" name="1268" href="#1268">1268</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1269" href="#1269">1269</a>                 }
<a class="jxr_linenumber" name="1270" href="#1270">1270</a> 
<a class="jxr_linenumber" name="1271" href="#1271">1271</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_MULTIFILING)) {
<a class="jxr_linenumber" name="1272" href="#1272">1272</a>                     target.setSupportsMultifiling(readBoolean(parser));
<a class="jxr_linenumber" name="1273" href="#1273">1273</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1274" href="#1274">1274</a>                 }
<a class="jxr_linenumber" name="1275" href="#1275">1275</a> 
<a class="jxr_linenumber" name="1276" href="#1276">1276</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_PWC_SEARCHABLE)) {
<a class="jxr_linenumber" name="1277" href="#1277">1277</a>                     target.setIsPwcSearchable(readBoolean(parser));
<a class="jxr_linenumber" name="1278" href="#1278">1278</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1279" href="#1279">1279</a>                 }
<a class="jxr_linenumber" name="1280" href="#1280">1280</a> 
<a class="jxr_linenumber" name="1281" href="#1281">1281</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_PWC_UPDATABLE)) {
<a class="jxr_linenumber" name="1282" href="#1282">1282</a>                     target.setIsPwcUpdatable(readBoolean(parser));
<a class="jxr_linenumber" name="1283" href="#1283">1283</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1284" href="#1284">1284</a>                 }
<a class="jxr_linenumber" name="1285" href="#1285">1285</a> 
<a class="jxr_linenumber" name="1286" href="#1286">1286</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_QUERY)) {
<a class="jxr_linenumber" name="1287" href="#1287">1287</a>                     target.setCapabilityQuery(readEnum(parser, CapabilityQuery.<strong class="jxr_keyword">class</strong>));
<a class="jxr_linenumber" name="1288" href="#1288">1288</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1289" href="#1289">1289</a>                 }
<a class="jxr_linenumber" name="1290" href="#1290">1290</a> 
<a class="jxr_linenumber" name="1291" href="#1291">1291</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_RENDITIONS)) {
<a class="jxr_linenumber" name="1292" href="#1292">1292</a>                     target.setCapabilityRendition(readEnum(parser, CapabilityRenditions.<strong class="jxr_keyword">class</strong>));
<a class="jxr_linenumber" name="1293" href="#1293">1293</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1294" href="#1294">1294</a>                 }
<a class="jxr_linenumber" name="1295" href="#1295">1295</a> 
<a class="jxr_linenumber" name="1296" href="#1296">1296</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_UNFILING)) {
<a class="jxr_linenumber" name="1297" href="#1297">1297</a>                     target.setSupportsUnfiling(readBoolean(parser));
<a class="jxr_linenumber" name="1298" href="#1298">1298</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1299" href="#1299">1299</a>                 }
<a class="jxr_linenumber" name="1300" href="#1300">1300</a> 
<a class="jxr_linenumber" name="1301" href="#1301">1301</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_VERSION_SPECIFIC_FILING)) {
<a class="jxr_linenumber" name="1302" href="#1302">1302</a>                     target.setSupportsVersionSpecificFiling(readBoolean(parser));
<a class="jxr_linenumber" name="1303" href="#1303">1303</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1304" href="#1304">1304</a>                 }
<a class="jxr_linenumber" name="1305" href="#1305">1305</a> 
<a class="jxr_linenumber" name="1306" href="#1306">1306</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_JOIN)) {
<a class="jxr_linenumber" name="1307" href="#1307">1307</a>                     target.setCapabilityJoin(readEnum(parser, CapabilityJoin.<strong class="jxr_keyword">class</strong>));
<a class="jxr_linenumber" name="1308" href="#1308">1308</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1309" href="#1309">1309</a>                 }
<a class="jxr_linenumber" name="1310" href="#1310">1310</a> 
<a class="jxr_linenumber" name="1311" href="#1311">1311</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_CREATABLE_PROPERTY_TYPES)) {
<a class="jxr_linenumber" name="1312" href="#1312">1312</a>                     target.setCreatablePropertyTypes(CREATABLE_PROPERTY_TYPES_PARSER.walk(parser));
<a class="jxr_linenumber" name="1313" href="#1313">1313</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1314" href="#1314">1314</a>                 }
<a class="jxr_linenumber" name="1315" href="#1315">1315</a> 
<a class="jxr_linenumber" name="1316" href="#1316">1316</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES)) {
<a class="jxr_linenumber" name="1317" href="#1317">1317</a>                     target.setNewTypeSettableAttributes(NEW_TYPES_SETTABLE_ATTRIBUTES_PARSER.walk(parser));
<a class="jxr_linenumber" name="1318" href="#1318">1318</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1319" href="#1319">1319</a>                 }
<a class="jxr_linenumber" name="1320" href="#1320">1320</a>             }
<a class="jxr_linenumber" name="1321" href="#1321">1321</a> 
<a class="jxr_linenumber" name="1322" href="#1322">1322</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="1323" href="#1323">1323</a>         }
<a class="jxr_linenumber" name="1324" href="#1324">1324</a>     };
<a class="jxr_linenumber" name="1325" href="#1325">1325</a> 
<a class="jxr_linenumber" name="1326" href="#1326">1326</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;CreatablePropertyTypesImpl&gt; CREATABLE_PROPERTY_TYPES_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;CreatablePropertyTypesImpl&gt;() {
<a class="jxr_linenumber" name="1327" href="#1327">1327</a>         @Override
<a class="jxr_linenumber" name="1328" href="#1328">1328</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/CreatablePropertyTypesImpl.html">CreatablePropertyTypesImpl</a> prepareTarget(XMLStreamReader parser, QName name)
<a class="jxr_linenumber" name="1329" href="#1329">1329</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1330" href="#1330">1330</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/CreatablePropertyTypesImpl.html">CreatablePropertyTypesImpl</a>();
<a class="jxr_linenumber" name="1331" href="#1331">1331</a>         }
<a class="jxr_linenumber" name="1332" href="#1332">1332</a> 
<a class="jxr_linenumber" name="1333" href="#1333">1333</a>         @Override
<a class="jxr_linenumber" name="1334" href="#1334">1334</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/CreatablePropertyTypesImpl.html">CreatablePropertyTypesImpl</a> target)
<a class="jxr_linenumber" name="1335" href="#1335">1335</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1336" href="#1336">1336</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="1337" href="#1337">1337</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_CREATABLE_PROPERTY_TYPES_CANCREATE)) {
<a class="jxr_linenumber" name="1338" href="#1338">1338</a>                     Set&lt;PropertyType&gt; ptSet = target.canCreate();
<a class="jxr_linenumber" name="1339" href="#1339">1339</a>                     <strong class="jxr_keyword">if</strong> (ptSet == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1340" href="#1340">1340</a>                         ptSet = EnumSet.noneOf(PropertyType.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="1341" href="#1341">1341</a>                         target.setCanCreate(ptSet);
<a class="jxr_linenumber" name="1342" href="#1342">1342</a>                     }
<a class="jxr_linenumber" name="1343" href="#1343">1343</a> 
<a class="jxr_linenumber" name="1344" href="#1344">1344</a>                     ptSet.add(readEnum(parser, PropertyType.<strong class="jxr_keyword">class</strong>));
<a class="jxr_linenumber" name="1345" href="#1345">1345</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1346" href="#1346">1346</a>                 }
<a class="jxr_linenumber" name="1347" href="#1347">1347</a>             }
<a class="jxr_linenumber" name="1348" href="#1348">1348</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="1349" href="#1349">1349</a>         }
<a class="jxr_linenumber" name="1350" href="#1350">1350</a>     };
<a class="jxr_linenumber" name="1351" href="#1351">1351</a> 
<a class="jxr_linenumber" name="1352" href="#1352">1352</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;NewTypeSettableAttributesImpl&gt; NEW_TYPES_SETTABLE_ATTRIBUTES_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;NewTypeSettableAttributesImpl&gt;() {
<a class="jxr_linenumber" name="1353" href="#1353">1353</a>         @Override
<a class="jxr_linenumber" name="1354" href="#1354">1354</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/NewTypeSettableAttributesImpl.html">NewTypeSettableAttributesImpl</a> prepareTarget(XMLStreamReader parser, QName name)
<a class="jxr_linenumber" name="1355" href="#1355">1355</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1356" href="#1356">1356</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/NewTypeSettableAttributesImpl.html">NewTypeSettableAttributesImpl</a>();
<a class="jxr_linenumber" name="1357" href="#1357">1357</a>         }
<a class="jxr_linenumber" name="1358" href="#1358">1358</a> 
<a class="jxr_linenumber" name="1359" href="#1359">1359</a>         @Override
<a class="jxr_linenumber" name="1360" href="#1360">1360</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/NewTypeSettableAttributesImpl.html">NewTypeSettableAttributesImpl</a> target)
<a class="jxr_linenumber" name="1361" href="#1361">1361</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1362" href="#1362">1362</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="1363" href="#1363">1363</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_ID)) {
<a class="jxr_linenumber" name="1364" href="#1364">1364</a>                     target.setCanSetId(readBoolean(parser));
<a class="jxr_linenumber" name="1365" href="#1365">1365</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1366" href="#1366">1366</a>                 }
<a class="jxr_linenumber" name="1367" href="#1367">1367</a> 
<a class="jxr_linenumber" name="1368" href="#1368">1368</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_LOCALNAME)) {
<a class="jxr_linenumber" name="1369" href="#1369">1369</a>                     target.setCanSetLocalName(readBoolean(parser));
<a class="jxr_linenumber" name="1370" href="#1370">1370</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1371" href="#1371">1371</a>                 }
<a class="jxr_linenumber" name="1372" href="#1372">1372</a> 
<a class="jxr_linenumber" name="1373" href="#1373">1373</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_LOCALNAMESPACE)) {
<a class="jxr_linenumber" name="1374" href="#1374">1374</a>                     target.setCanSetLocalNamespace(readBoolean(parser));
<a class="jxr_linenumber" name="1375" href="#1375">1375</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1376" href="#1376">1376</a>                 }
<a class="jxr_linenumber" name="1377" href="#1377">1377</a> 
<a class="jxr_linenumber" name="1378" href="#1378">1378</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_DISPLAYNAME)) {
<a class="jxr_linenumber" name="1379" href="#1379">1379</a>                     target.setCanSetDisplayName(readBoolean(parser));
<a class="jxr_linenumber" name="1380" href="#1380">1380</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1381" href="#1381">1381</a>                 }
<a class="jxr_linenumber" name="1382" href="#1382">1382</a> 
<a class="jxr_linenumber" name="1383" href="#1383">1383</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_QUERYNAME)) {
<a class="jxr_linenumber" name="1384" href="#1384">1384</a>                     target.setCanSetQueryName(readBoolean(parser));
<a class="jxr_linenumber" name="1385" href="#1385">1385</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1386" href="#1386">1386</a>                 }
<a class="jxr_linenumber" name="1387" href="#1387">1387</a> 
<a class="jxr_linenumber" name="1388" href="#1388">1388</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_DESCRIPTION)) {
<a class="jxr_linenumber" name="1389" href="#1389">1389</a>                     target.setCanSetDescription(readBoolean(parser));
<a class="jxr_linenumber" name="1390" href="#1390">1390</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1391" href="#1391">1391</a>                 }
<a class="jxr_linenumber" name="1392" href="#1392">1392</a> 
<a class="jxr_linenumber" name="1393" href="#1393">1393</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_CREATEABLE)) {
<a class="jxr_linenumber" name="1394" href="#1394">1394</a>                     target.setCanSetCreatable(readBoolean(parser));
<a class="jxr_linenumber" name="1395" href="#1395">1395</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1396" href="#1396">1396</a>                 }
<a class="jxr_linenumber" name="1397" href="#1397">1397</a> 
<a class="jxr_linenumber" name="1398" href="#1398">1398</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_FILEABLE)) {
<a class="jxr_linenumber" name="1399" href="#1399">1399</a>                     target.setCanSetFileable(readBoolean(parser));
<a class="jxr_linenumber" name="1400" href="#1400">1400</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1401" href="#1401">1401</a>                 }
<a class="jxr_linenumber" name="1402" href="#1402">1402</a> 
<a class="jxr_linenumber" name="1403" href="#1403">1403</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_QUERYABLE)) {
<a class="jxr_linenumber" name="1404" href="#1404">1404</a>                     target.setCanSetQueryable(readBoolean(parser));
<a class="jxr_linenumber" name="1405" href="#1405">1405</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1406" href="#1406">1406</a>                 }
<a class="jxr_linenumber" name="1407" href="#1407">1407</a> 
<a class="jxr_linenumber" name="1408" href="#1408">1408</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_FULLTEXTINDEXED)) {
<a class="jxr_linenumber" name="1409" href="#1409">1409</a>                     target.setCanSetFulltextIndexed(readBoolean(parser));
<a class="jxr_linenumber" name="1410" href="#1410">1410</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1411" href="#1411">1411</a>                 }
<a class="jxr_linenumber" name="1412" href="#1412">1412</a> 
<a class="jxr_linenumber" name="1413" href="#1413">1413</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_INCLUDEDINSUPERTYTPEQUERY)) {
<a class="jxr_linenumber" name="1414" href="#1414">1414</a>                     target.setCanSetIncludedInSupertypeQuery(readBoolean(parser));
<a class="jxr_linenumber" name="1415" href="#1415">1415</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1416" href="#1416">1416</a>                 }
<a class="jxr_linenumber" name="1417" href="#1417">1417</a> 
<a class="jxr_linenumber" name="1418" href="#1418">1418</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_CONTROLABLEPOLICY)) {
<a class="jxr_linenumber" name="1419" href="#1419">1419</a>                     target.setCanSetControllablePolicy(readBoolean(parser));
<a class="jxr_linenumber" name="1420" href="#1420">1420</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1421" href="#1421">1421</a>                 }
<a class="jxr_linenumber" name="1422" href="#1422">1422</a> 
<a class="jxr_linenumber" name="1423" href="#1423">1423</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CAP_NEW_TYPE_SETTABLE_ATTRIBUTES_CONTROLABLEACL)) {
<a class="jxr_linenumber" name="1424" href="#1424">1424</a>                     target.setCanSetControllableAcl(readBoolean(parser));
<a class="jxr_linenumber" name="1425" href="#1425">1425</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1426" href="#1426">1426</a>                 }
<a class="jxr_linenumber" name="1427" href="#1427">1427</a>             }
<a class="jxr_linenumber" name="1428" href="#1428">1428</a> 
<a class="jxr_linenumber" name="1429" href="#1429">1429</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="1430" href="#1430">1430</a>         }
<a class="jxr_linenumber" name="1431" href="#1431">1431</a>     };
<a class="jxr_linenumber" name="1432" href="#1432">1432</a> 
<a class="jxr_linenumber" name="1433" href="#1433">1433</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;AclCapabilitiesDataImpl&gt; ACL_CAPABILITIES_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;AclCapabilitiesDataImpl&gt;() {
<a class="jxr_linenumber" name="1434" href="#1434">1434</a>         @Override
<a class="jxr_linenumber" name="1435" href="#1435">1435</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AclCapabilitiesDataImpl.html">AclCapabilitiesDataImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1436" href="#1436">1436</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AclCapabilitiesDataImpl.html">AclCapabilitiesDataImpl</a>();
<a class="jxr_linenumber" name="1437" href="#1437">1437</a>         }
<a class="jxr_linenumber" name="1438" href="#1438">1438</a> 
<a class="jxr_linenumber" name="1439" href="#1439">1439</a>         @Override
<a class="jxr_linenumber" name="1440" href="#1440">1440</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AclCapabilitiesDataImpl.html">AclCapabilitiesDataImpl</a> target)
<a class="jxr_linenumber" name="1441" href="#1441">1441</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1442" href="#1442">1442</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="1443" href="#1443">1443</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_ACLCAP_SUPPORTED_PERMISSIONS)) {
<a class="jxr_linenumber" name="1444" href="#1444">1444</a>                     target.setSupportedPermissions(readEnum(parser, SupportedPermissions.<strong class="jxr_keyword">class</strong>));
<a class="jxr_linenumber" name="1445" href="#1445">1445</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1446" href="#1446">1446</a>                 }
<a class="jxr_linenumber" name="1447" href="#1447">1447</a> 
<a class="jxr_linenumber" name="1448" href="#1448">1448</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAGACLCAP_ACL_PROPAGATION)) {
<a class="jxr_linenumber" name="1449" href="#1449">1449</a>                     target.setAclPropagation(readEnum(parser, AclPropagation.<strong class="jxr_keyword">class</strong>));
<a class="jxr_linenumber" name="1450" href="#1450">1450</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1451" href="#1451">1451</a>                 }
<a class="jxr_linenumber" name="1452" href="#1452">1452</a> 
<a class="jxr_linenumber" name="1453" href="#1453">1453</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_ACLCAP_PERMISSIONS)) {
<a class="jxr_linenumber" name="1454" href="#1454">1454</a>                     target.setPermissionDefinitionData(addToList(target.getPermissions(),
<a class="jxr_linenumber" name="1455" href="#1455">1455</a>                             PERMISSION_DEFINITION_PARSER.walk(parser)));
<a class="jxr_linenumber" name="1456" href="#1456">1456</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1457" href="#1457">1457</a>                 }
<a class="jxr_linenumber" name="1458" href="#1458">1458</a> 
<a class="jxr_linenumber" name="1459" href="#1459">1459</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_ACLCAP_PERMISSION_MAPPING)) {
<a class="jxr_linenumber" name="1460" href="#1460">1460</a>                     Map&lt;String, PermissionMapping&gt; mapping = target.getPermissionMapping();
<a class="jxr_linenumber" name="1461" href="#1461">1461</a>                     <strong class="jxr_keyword">if</strong> (mapping == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1462" href="#1462">1462</a>                         mapping = <strong class="jxr_keyword">new</strong> HashMap&lt;String, PermissionMapping&gt;();
<a class="jxr_linenumber" name="1463" href="#1463">1463</a>                         target.setPermissionMappingData(mapping);
<a class="jxr_linenumber" name="1464" href="#1464">1464</a>                     }
<a class="jxr_linenumber" name="1465" href="#1465">1465</a> 
<a class="jxr_linenumber" name="1466" href="#1466">1466</a>                     PermissionMapping pm = PERMISSION_MAPPING_PARSER.walk(parser);
<a class="jxr_linenumber" name="1467" href="#1467">1467</a>                     mapping.put(pm.getKey(), pm);
<a class="jxr_linenumber" name="1468" href="#1468">1468</a> 
<a class="jxr_linenumber" name="1469" href="#1469">1469</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1470" href="#1470">1470</a>                 }
<a class="jxr_linenumber" name="1471" href="#1471">1471</a>             }
<a class="jxr_linenumber" name="1472" href="#1472">1472</a> 
<a class="jxr_linenumber" name="1473" href="#1473">1473</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="1474" href="#1474">1474</a>         }
<a class="jxr_linenumber" name="1475" href="#1475">1475</a>     };
<a class="jxr_linenumber" name="1476" href="#1476">1476</a> 
<a class="jxr_linenumber" name="1477" href="#1477">1477</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;PermissionDefinitionDataImpl&gt; PERMISSION_DEFINITION_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;PermissionDefinitionDataImpl&gt;() {
<a class="jxr_linenumber" name="1478" href="#1478">1478</a>         @Override
<a class="jxr_linenumber" name="1479" href="#1479">1479</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PermissionDefinitionDataImpl.html">PermissionDefinitionDataImpl</a> prepareTarget(XMLStreamReader parser, QName name)
<a class="jxr_linenumber" name="1480" href="#1480">1480</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1481" href="#1481">1481</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PermissionDefinitionDataImpl.html">PermissionDefinitionDataImpl</a>();
<a class="jxr_linenumber" name="1482" href="#1482">1482</a>         }
<a class="jxr_linenumber" name="1483" href="#1483">1483</a> 
<a class="jxr_linenumber" name="1484" href="#1484">1484</a>         @Override
<a class="jxr_linenumber" name="1485" href="#1485">1485</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PermissionDefinitionDataImpl.html">PermissionDefinitionDataImpl</a> target)
<a class="jxr_linenumber" name="1486" href="#1486">1486</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1487" href="#1487">1487</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="1488" href="#1488">1488</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_ACLCAP_PERMISSION_PERMISSION)) {
<a class="jxr_linenumber" name="1489" href="#1489">1489</a>                     target.setId(readText(parser));
<a class="jxr_linenumber" name="1490" href="#1490">1490</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1491" href="#1491">1491</a>                 }
<a class="jxr_linenumber" name="1492" href="#1492">1492</a> 
<a class="jxr_linenumber" name="1493" href="#1493">1493</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_ACLCAP_PERMISSION_DESCRIPTION)) {
<a class="jxr_linenumber" name="1494" href="#1494">1494</a>                     target.setDescription(readText(parser));
<a class="jxr_linenumber" name="1495" href="#1495">1495</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1496" href="#1496">1496</a>                 }
<a class="jxr_linenumber" name="1497" href="#1497">1497</a>             }
<a class="jxr_linenumber" name="1498" href="#1498">1498</a> 
<a class="jxr_linenumber" name="1499" href="#1499">1499</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="1500" href="#1500">1500</a>         }
<a class="jxr_linenumber" name="1501" href="#1501">1501</a>     };
<a class="jxr_linenumber" name="1502" href="#1502">1502</a> 
<a class="jxr_linenumber" name="1503" href="#1503">1503</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;PermissionMappingDataImpl&gt; PERMISSION_MAPPING_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;PermissionMappingDataImpl&gt;() {
<a class="jxr_linenumber" name="1504" href="#1504">1504</a>         @Override
<a class="jxr_linenumber" name="1505" href="#1505">1505</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PermissionMappingDataImpl.html">PermissionMappingDataImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1506" href="#1506">1506</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PermissionMappingDataImpl.html">PermissionMappingDataImpl</a>();
<a class="jxr_linenumber" name="1507" href="#1507">1507</a>         }
<a class="jxr_linenumber" name="1508" href="#1508">1508</a> 
<a class="jxr_linenumber" name="1509" href="#1509">1509</a>         @Override
<a class="jxr_linenumber" name="1510" href="#1510">1510</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PermissionMappingDataImpl.html">PermissionMappingDataImpl</a> target)
<a class="jxr_linenumber" name="1511" href="#1511">1511</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1512" href="#1512">1512</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="1513" href="#1513">1513</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_ACLCAP_MAPPING_KEY)) {
<a class="jxr_linenumber" name="1514" href="#1514">1514</a>                     target.setKey(readText(parser));
<a class="jxr_linenumber" name="1515" href="#1515">1515</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1516" href="#1516">1516</a>                 }
<a class="jxr_linenumber" name="1517" href="#1517">1517</a> 
<a class="jxr_linenumber" name="1518" href="#1518">1518</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_ACLCAP_MAPPING_PERMISSION)) {
<a class="jxr_linenumber" name="1519" href="#1519">1519</a>                     target.setPermissions(addToList(target.getPermissions(), readText(parser)));
<a class="jxr_linenumber" name="1520" href="#1520">1520</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1521" href="#1521">1521</a>                 }
<a class="jxr_linenumber" name="1522" href="#1522">1522</a>             }
<a class="jxr_linenumber" name="1523" href="#1523">1523</a> 
<a class="jxr_linenumber" name="1524" href="#1524">1524</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="1525" href="#1525">1525</a>         }
<a class="jxr_linenumber" name="1526" href="#1526">1526</a>     };
<a class="jxr_linenumber" name="1527" href="#1527">1527</a> 
<a class="jxr_linenumber" name="1528" href="#1528">1528</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;ExtensionFeatureImpl&gt; EXTENDED_FEATURES_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;ExtensionFeatureImpl&gt;() {
<a class="jxr_linenumber" name="1529" href="#1529">1529</a>         @Override
<a class="jxr_linenumber" name="1530" href="#1530">1530</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/ExtensionFeatureImpl.html">ExtensionFeatureImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1531" href="#1531">1531</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/ExtensionFeatureImpl.html">ExtensionFeatureImpl</a>();
<a class="jxr_linenumber" name="1532" href="#1532">1532</a>         }
<a class="jxr_linenumber" name="1533" href="#1533">1533</a> 
<a class="jxr_linenumber" name="1534" href="#1534">1534</a>         @Override
<a class="jxr_linenumber" name="1535" href="#1535">1535</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/ExtensionFeatureImpl.html">ExtensionFeatureImpl</a> target)
<a class="jxr_linenumber" name="1536" href="#1536">1536</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1537" href="#1537">1537</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="1538" href="#1538">1538</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_FEATURE_ID)) {
<a class="jxr_linenumber" name="1539" href="#1539">1539</a>                     target.setId(readText(parser));
<a class="jxr_linenumber" name="1540" href="#1540">1540</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1541" href="#1541">1541</a>                 }
<a class="jxr_linenumber" name="1542" href="#1542">1542</a> 
<a class="jxr_linenumber" name="1543" href="#1543">1543</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_FEATURE_URL)) {
<a class="jxr_linenumber" name="1544" href="#1544">1544</a>                     target.setUrl(readText(parser));
<a class="jxr_linenumber" name="1545" href="#1545">1545</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1546" href="#1546">1546</a>                 }
<a class="jxr_linenumber" name="1547" href="#1547">1547</a> 
<a class="jxr_linenumber" name="1548" href="#1548">1548</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_FEATURE_COMMON_NAME)) {
<a class="jxr_linenumber" name="1549" href="#1549">1549</a>                     target.setCommonName(readText(parser));
<a class="jxr_linenumber" name="1550" href="#1550">1550</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1551" href="#1551">1551</a>                 }
<a class="jxr_linenumber" name="1552" href="#1552">1552</a> 
<a class="jxr_linenumber" name="1553" href="#1553">1553</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_FEATURE_VERSION_LABEL)) {
<a class="jxr_linenumber" name="1554" href="#1554">1554</a>                     target.setVersionLabel(readText(parser));
<a class="jxr_linenumber" name="1555" href="#1555">1555</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1556" href="#1556">1556</a>                 }
<a class="jxr_linenumber" name="1557" href="#1557">1557</a> 
<a class="jxr_linenumber" name="1558" href="#1558">1558</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_FEATURE_DESCRIPTION)) {
<a class="jxr_linenumber" name="1559" href="#1559">1559</a>                     target.setDescription(readText(parser));
<a class="jxr_linenumber" name="1560" href="#1560">1560</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1561" href="#1561">1561</a>                 }
<a class="jxr_linenumber" name="1562" href="#1562">1562</a> 
<a class="jxr_linenumber" name="1563" href="#1563">1563</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_FEATURE_DATA)) {
<a class="jxr_linenumber" name="1564" href="#1564">1564</a>                     Map&lt;String, String&gt; featureData = target.getFeatureData();
<a class="jxr_linenumber" name="1565" href="#1565">1565</a>                     <strong class="jxr_keyword">if</strong> (featureData == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1566" href="#1566">1566</a>                         featureData = <strong class="jxr_keyword">new</strong> HashMap&lt;String, String&gt;();
<a class="jxr_linenumber" name="1567" href="#1567">1567</a>                         target.setFeatureData(featureData);
<a class="jxr_linenumber" name="1568" href="#1568">1568</a>                     }
<a class="jxr_linenumber" name="1569" href="#1569">1569</a> 
<a class="jxr_linenumber" name="1570" href="#1570">1570</a>                     String[] data = FEATURE_DATA_PARSER.walk(parser);
<a class="jxr_linenumber" name="1571" href="#1571">1571</a>                     featureData.put(data[0], data[1]);
<a class="jxr_linenumber" name="1572" href="#1572">1572</a> 
<a class="jxr_linenumber" name="1573" href="#1573">1573</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1574" href="#1574">1574</a>                 }
<a class="jxr_linenumber" name="1575" href="#1575">1575</a>             }
<a class="jxr_linenumber" name="1576" href="#1576">1576</a> 
<a class="jxr_linenumber" name="1577" href="#1577">1577</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="1578" href="#1578">1578</a>         }
<a class="jxr_linenumber" name="1579" href="#1579">1579</a>     };
<a class="jxr_linenumber" name="1580" href="#1580">1580</a> 
<a class="jxr_linenumber" name="1581" href="#1581">1581</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;String[]&gt; FEATURE_DATA_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;String[]&gt;() {
<a class="jxr_linenumber" name="1582" href="#1582">1582</a>         @Override
<a class="jxr_linenumber" name="1583" href="#1583">1583</a>         <strong class="jxr_keyword">protected</strong> String[] prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1584" href="#1584">1584</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> String[2];
<a class="jxr_linenumber" name="1585" href="#1585">1585</a>         }
<a class="jxr_linenumber" name="1586" href="#1586">1586</a> 
<a class="jxr_linenumber" name="1587" href="#1587">1587</a>         @Override
<a class="jxr_linenumber" name="1588" href="#1588">1588</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, String[] target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1589" href="#1589">1589</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="1590" href="#1590">1590</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_FEATURE_DATA_KEY)) {
<a class="jxr_linenumber" name="1591" href="#1591">1591</a>                     target[0] = readText(parser);
<a class="jxr_linenumber" name="1592" href="#1592">1592</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1593" href="#1593">1593</a>                 }
<a class="jxr_linenumber" name="1594" href="#1594">1594</a> 
<a class="jxr_linenumber" name="1595" href="#1595">1595</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_FEATURE_DATA_VALUE)) {
<a class="jxr_linenumber" name="1596" href="#1596">1596</a>                     target[1] = readText(parser);
<a class="jxr_linenumber" name="1597" href="#1597">1597</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1598" href="#1598">1598</a>                 }
<a class="jxr_linenumber" name="1599" href="#1599">1599</a>             }
<a class="jxr_linenumber" name="1600" href="#1600">1600</a> 
<a class="jxr_linenumber" name="1601" href="#1601">1601</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="1602" href="#1602">1602</a>         }
<a class="jxr_linenumber" name="1603" href="#1603">1603</a>     };
<a class="jxr_linenumber" name="1604" href="#1604">1604</a> 
<a class="jxr_linenumber" name="1605" href="#1605">1605</a>     <em class="jxr_comment">// --------------------------</em>
<a class="jxr_linenumber" name="1606" href="#1606">1606</a>     <em class="jxr_comment">// --- definition parsers ---</em>
<a class="jxr_linenumber" name="1607" href="#1607">1607</a>     <em class="jxr_comment">// --------------------------</em>
<a class="jxr_linenumber" name="1608" href="#1608">1608</a> 
<a class="jxr_linenumber" name="1609" href="#1609">1609</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;AbstractTypeDefinition&gt; TYPE_DEF_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;AbstractTypeDefinition&gt;() {
<a class="jxr_linenumber" name="1610" href="#1610">1610</a>         @Override
<a class="jxr_linenumber" name="1611" href="#1611">1611</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AbstractTypeDefinition.html">AbstractTypeDefinition</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1612" href="#1612">1612</a> 
<a class="jxr_linenumber" name="1613" href="#1613">1613</a>             <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AbstractTypeDefinition.html">AbstractTypeDefinition</a> result = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="1614" href="#1614">1614</a> 
<a class="jxr_linenumber" name="1615" href="#1615">1615</a>             String typeAttr = parser.getAttributeValue(NAMESPACE_XSI, <span class="jxr_string">"type"</span>);
<a class="jxr_linenumber" name="1616" href="#1616">1616</a>             <strong class="jxr_keyword">if</strong> (typeAttr != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1617" href="#1617">1617</a>                 <strong class="jxr_keyword">if</strong> (typeAttr.endsWith(ATTR_DOCUMENT_TYPE)) {
<a class="jxr_linenumber" name="1618" href="#1618">1618</a>                     result = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/DocumentTypeDefinitionImpl.html">DocumentTypeDefinitionImpl</a>();
<a class="jxr_linenumber" name="1619" href="#1619">1619</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (typeAttr.endsWith(ATTR_FOLDER_TYPE)) {
<a class="jxr_linenumber" name="1620" href="#1620">1620</a>                     result = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/FolderTypeDefinitionImpl.html">FolderTypeDefinitionImpl</a>();
<a class="jxr_linenumber" name="1621" href="#1621">1621</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (typeAttr.endsWith(ATTR_RELATIONSHIP_TYPE)) {
<a class="jxr_linenumber" name="1622" href="#1622">1622</a>                     result = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/RelationshipTypeDefinitionImpl.html">RelationshipTypeDefinitionImpl</a>();
<a class="jxr_linenumber" name="1623" href="#1623">1623</a>                     ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/RelationshipTypeDefinitionImpl.html">RelationshipTypeDefinitionImpl</a>) result).setAllowedSourceTypes(<strong class="jxr_keyword">new</strong> ArrayList&lt;String&gt;());
<a class="jxr_linenumber" name="1624" href="#1624">1624</a>                     ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/RelationshipTypeDefinitionImpl.html">RelationshipTypeDefinitionImpl</a>) result).setAllowedTargetTypes(<strong class="jxr_keyword">new</strong> ArrayList&lt;String&gt;());
<a class="jxr_linenumber" name="1625" href="#1625">1625</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (typeAttr.endsWith(ATTR_POLICY_TYPE)) {
<a class="jxr_linenumber" name="1626" href="#1626">1626</a>                     result = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PolicyTypeDefinitionImpl.html">PolicyTypeDefinitionImpl</a>();
<a class="jxr_linenumber" name="1627" href="#1627">1627</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (typeAttr.endsWith(ATTR_ITEM_TYPE)) {
<a class="jxr_linenumber" name="1628" href="#1628">1628</a>                     result = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/ItemTypeDefinitionImpl.html">ItemTypeDefinitionImpl</a>();
<a class="jxr_linenumber" name="1629" href="#1629">1629</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (typeAttr.endsWith(ATTR_SECONDARY_TYPE)) {
<a class="jxr_linenumber" name="1630" href="#1630">1630</a>                     result = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/SecondaryTypeDefinitionImpl.html">SecondaryTypeDefinitionImpl</a>();
<a class="jxr_linenumber" name="1631" href="#1631">1631</a>                 }
<a class="jxr_linenumber" name="1632" href="#1632">1632</a>             }
<a class="jxr_linenumber" name="1633" href="#1633">1633</a> 
<a class="jxr_linenumber" name="1634" href="#1634">1634</a>             <strong class="jxr_keyword">if</strong> (result == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1635" href="#1635">1635</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> CmisInvalidArgumentException(<span class="jxr_string">"Cannot read type definition!"</span>);
<a class="jxr_linenumber" name="1636" href="#1636">1636</a>             }
<a class="jxr_linenumber" name="1637" href="#1637">1637</a> 
<a class="jxr_linenumber" name="1638" href="#1638">1638</a>             <strong class="jxr_keyword">return</strong> result;
<a class="jxr_linenumber" name="1639" href="#1639">1639</a>         }
<a class="jxr_linenumber" name="1640" href="#1640">1640</a> 
<a class="jxr_linenumber" name="1641" href="#1641">1641</a>         @Override
<a class="jxr_linenumber" name="1642" href="#1642">1642</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AbstractTypeDefinition.html">AbstractTypeDefinition</a> target)
<a class="jxr_linenumber" name="1643" href="#1643">1643</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1644" href="#1644">1644</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="1645" href="#1645">1645</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_ID)) {
<a class="jxr_linenumber" name="1646" href="#1646">1646</a>                     target.setId(readText(parser));
<a class="jxr_linenumber" name="1647" href="#1647">1647</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1648" href="#1648">1648</a>                 }
<a class="jxr_linenumber" name="1649" href="#1649">1649</a> 
<a class="jxr_linenumber" name="1650" href="#1650">1650</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_LOCALNAME)) {
<a class="jxr_linenumber" name="1651" href="#1651">1651</a>                     target.setLocalName(readText(parser));
<a class="jxr_linenumber" name="1652" href="#1652">1652</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1653" href="#1653">1653</a>                 }
<a class="jxr_linenumber" name="1654" href="#1654">1654</a> 
<a class="jxr_linenumber" name="1655" href="#1655">1655</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_LOCALNAMESPACE)) {
<a class="jxr_linenumber" name="1656" href="#1656">1656</a>                     target.setLocalNamespace(readText(parser));
<a class="jxr_linenumber" name="1657" href="#1657">1657</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1658" href="#1658">1658</a>                 }
<a class="jxr_linenumber" name="1659" href="#1659">1659</a> 
<a class="jxr_linenumber" name="1660" href="#1660">1660</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_DISPLAYNAME)) {
<a class="jxr_linenumber" name="1661" href="#1661">1661</a>                     target.setDisplayName(readText(parser));
<a class="jxr_linenumber" name="1662" href="#1662">1662</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1663" href="#1663">1663</a>                 }
<a class="jxr_linenumber" name="1664" href="#1664">1664</a> 
<a class="jxr_linenumber" name="1665" href="#1665">1665</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_QUERYNAME)) {
<a class="jxr_linenumber" name="1666" href="#1666">1666</a>                     target.setQueryName(readText(parser));
<a class="jxr_linenumber" name="1667" href="#1667">1667</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1668" href="#1668">1668</a>                 }
<a class="jxr_linenumber" name="1669" href="#1669">1669</a> 
<a class="jxr_linenumber" name="1670" href="#1670">1670</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_DESCRIPTION)) {
<a class="jxr_linenumber" name="1671" href="#1671">1671</a>                     target.setDescription(readText(parser));
<a class="jxr_linenumber" name="1672" href="#1672">1672</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1673" href="#1673">1673</a>                 }
<a class="jxr_linenumber" name="1674" href="#1674">1674</a> 
<a class="jxr_linenumber" name="1675" href="#1675">1675</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_BASE_ID)) {
<a class="jxr_linenumber" name="1676" href="#1676">1676</a>                     BaseTypeId baseType = readEnum(parser, BaseTypeId.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="1677" href="#1677">1677</a>                     <strong class="jxr_keyword">if</strong> (baseType == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1678" href="#1678">1678</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> CmisInvalidArgumentException(<span class="jxr_string">"Invalid base type!"</span>);
<a class="jxr_linenumber" name="1679" href="#1679">1679</a>                     }
<a class="jxr_linenumber" name="1680" href="#1680">1680</a> 
<a class="jxr_linenumber" name="1681" href="#1681">1681</a>                     target.setBaseTypeId(baseType);
<a class="jxr_linenumber" name="1682" href="#1682">1682</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1683" href="#1683">1683</a>                 }
<a class="jxr_linenumber" name="1684" href="#1684">1684</a> 
<a class="jxr_linenumber" name="1685" href="#1685">1685</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_PARENT_ID)) {
<a class="jxr_linenumber" name="1686" href="#1686">1686</a>                     target.setParentTypeId(readText(parser));
<a class="jxr_linenumber" name="1687" href="#1687">1687</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1688" href="#1688">1688</a>                 }
<a class="jxr_linenumber" name="1689" href="#1689">1689</a> 
<a class="jxr_linenumber" name="1690" href="#1690">1690</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_CREATABLE)) {
<a class="jxr_linenumber" name="1691" href="#1691">1691</a>                     target.setIsCreatable(readBoolean(parser));
<a class="jxr_linenumber" name="1692" href="#1692">1692</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1693" href="#1693">1693</a>                 }
<a class="jxr_linenumber" name="1694" href="#1694">1694</a> 
<a class="jxr_linenumber" name="1695" href="#1695">1695</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_FILEABLE)) {
<a class="jxr_linenumber" name="1696" href="#1696">1696</a>                     target.setIsFileable(readBoolean(parser));
<a class="jxr_linenumber" name="1697" href="#1697">1697</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1698" href="#1698">1698</a>                 }
<a class="jxr_linenumber" name="1699" href="#1699">1699</a> 
<a class="jxr_linenumber" name="1700" href="#1700">1700</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_QUERYABLE)) {
<a class="jxr_linenumber" name="1701" href="#1701">1701</a>                     target.setIsQueryable(readBoolean(parser));
<a class="jxr_linenumber" name="1702" href="#1702">1702</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1703" href="#1703">1703</a>                 }
<a class="jxr_linenumber" name="1704" href="#1704">1704</a> 
<a class="jxr_linenumber" name="1705" href="#1705">1705</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_FULLTEXT_INDEXED)) {
<a class="jxr_linenumber" name="1706" href="#1706">1706</a>                     target.setIsFulltextIndexed(readBoolean(parser));
<a class="jxr_linenumber" name="1707" href="#1707">1707</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1708" href="#1708">1708</a>                 }
<a class="jxr_linenumber" name="1709" href="#1709">1709</a> 
<a class="jxr_linenumber" name="1710" href="#1710">1710</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_INCLUDE_IN_SUPERTYPE_QUERY)) {
<a class="jxr_linenumber" name="1711" href="#1711">1711</a>                     target.setIsIncludedInSupertypeQuery(readBoolean(parser));
<a class="jxr_linenumber" name="1712" href="#1712">1712</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1713" href="#1713">1713</a>                 }
<a class="jxr_linenumber" name="1714" href="#1714">1714</a> 
<a class="jxr_linenumber" name="1715" href="#1715">1715</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_CONTROLABLE_POLICY)) {
<a class="jxr_linenumber" name="1716" href="#1716">1716</a>                     target.setIsControllablePolicy(readBoolean(parser));
<a class="jxr_linenumber" name="1717" href="#1717">1717</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1718" href="#1718">1718</a>                 }
<a class="jxr_linenumber" name="1719" href="#1719">1719</a> 
<a class="jxr_linenumber" name="1720" href="#1720">1720</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_CONTROLABLE_ACL)) {
<a class="jxr_linenumber" name="1721" href="#1721">1721</a>                     target.setIsControllableAcl(readBoolean(parser));
<a class="jxr_linenumber" name="1722" href="#1722">1722</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1723" href="#1723">1723</a>                 }
<a class="jxr_linenumber" name="1724" href="#1724">1724</a> 
<a class="jxr_linenumber" name="1725" href="#1725">1725</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_TYPE_MUTABILITY)) {
<a class="jxr_linenumber" name="1726" href="#1726">1726</a>                     target.setTypeMutability(TYPE_MUTABILITY_PARSER.walk(parser));
<a class="jxr_linenumber" name="1727" href="#1727">1727</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1728" href="#1728">1728</a>                 }
<a class="jxr_linenumber" name="1729" href="#1729">1729</a> 
<a class="jxr_linenumber" name="1730" href="#1730">1730</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_PROP_DEF_STRING) || isTag(name, TAG_TYPE_PROP_DEF_ID)
<a class="jxr_linenumber" name="1731" href="#1731">1731</a>                         || isTag(name, TAG_TYPE_PROP_DEF_BOOLEAN) || isTag(name, TAG_TYPE_PROP_DEF_INTEGER)
<a class="jxr_linenumber" name="1732" href="#1732">1732</a>                         || isTag(name, TAG_TYPE_PROP_DEF_DATETIME) || isTag(name, TAG_TYPE_PROP_DEF_DECIMAL)
<a class="jxr_linenumber" name="1733" href="#1733">1733</a>                         || isTag(name, TAG_TYPE_PROP_DEF_HTML) || isTag(name, TAG_TYPE_PROP_DEF_URI)) {
<a class="jxr_linenumber" name="1734" href="#1734">1734</a>                     target.addPropertyDefinition(PROPERTY_TYPE_PARSER.walk(parser));
<a class="jxr_linenumber" name="1735" href="#1735">1735</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1736" href="#1736">1736</a>                 }
<a class="jxr_linenumber" name="1737" href="#1737">1737</a> 
<a class="jxr_linenumber" name="1738" href="#1738">1738</a>                 <strong class="jxr_keyword">if</strong> (target instanceof DocumentTypeDefinitionImpl) {
<a class="jxr_linenumber" name="1739" href="#1739">1739</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_VERSIONABLE)) {
<a class="jxr_linenumber" name="1740" href="#1740">1740</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/DocumentTypeDefinitionImpl.html">DocumentTypeDefinitionImpl</a>) target).setIsVersionable(readBoolean(parser));
<a class="jxr_linenumber" name="1741" href="#1741">1741</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1742" href="#1742">1742</a>                     }
<a class="jxr_linenumber" name="1743" href="#1743">1743</a> 
<a class="jxr_linenumber" name="1744" href="#1744">1744</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_CONTENTSTREAM_ALLOWED)) {
<a class="jxr_linenumber" name="1745" href="#1745">1745</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/DocumentTypeDefinitionImpl.html">DocumentTypeDefinitionImpl</a>) target).setContentStreamAllowed(readEnum(parser,
<a class="jxr_linenumber" name="1746" href="#1746">1746</a>                                 ContentStreamAllowed.<strong class="jxr_keyword">class</strong>));
<a class="jxr_linenumber" name="1747" href="#1747">1747</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1748" href="#1748">1748</a>                     }
<a class="jxr_linenumber" name="1749" href="#1749">1749</a>                 }
<a class="jxr_linenumber" name="1750" href="#1750">1750</a> 
<a class="jxr_linenumber" name="1751" href="#1751">1751</a>                 <strong class="jxr_keyword">if</strong> (target instanceof RelationshipTypeDefinitionImpl) {
<a class="jxr_linenumber" name="1752" href="#1752">1752</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_ALLOWED_SOURCE_TYPES)) {
<a class="jxr_linenumber" name="1753" href="#1753">1753</a>                         <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/RelationshipTypeDefinitionImpl.html">RelationshipTypeDefinitionImpl</a> relTarget = (RelationshipTypeDefinitionImpl) target;
<a class="jxr_linenumber" name="1754" href="#1754">1754</a>                         relTarget
<a class="jxr_linenumber" name="1755" href="#1755">1755</a>                                 .setAllowedSourceTypes(addToList(relTarget.getAllowedSourceTypeIds(), readText(parser)));
<a class="jxr_linenumber" name="1756" href="#1756">1756</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1757" href="#1757">1757</a>                     }
<a class="jxr_linenumber" name="1758" href="#1758">1758</a> 
<a class="jxr_linenumber" name="1759" href="#1759">1759</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_ALLOWED_TARGET_TYPES)) {
<a class="jxr_linenumber" name="1760" href="#1760">1760</a>                         <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/RelationshipTypeDefinitionImpl.html">RelationshipTypeDefinitionImpl</a> relTarget = (RelationshipTypeDefinitionImpl) target;
<a class="jxr_linenumber" name="1761" href="#1761">1761</a>                         relTarget
<a class="jxr_linenumber" name="1762" href="#1762">1762</a>                                 .setAllowedTargetTypes(addToList(relTarget.getAllowedTargetTypeIds(), readText(parser)));
<a class="jxr_linenumber" name="1763" href="#1763">1763</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1764" href="#1764">1764</a>                     }
<a class="jxr_linenumber" name="1765" href="#1765">1765</a>                 }
<a class="jxr_linenumber" name="1766" href="#1766">1766</a>             }
<a class="jxr_linenumber" name="1767" href="#1767">1767</a> 
<a class="jxr_linenumber" name="1768" href="#1768">1768</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="1769" href="#1769">1769</a>         }
<a class="jxr_linenumber" name="1770" href="#1770">1770</a>     };
<a class="jxr_linenumber" name="1771" href="#1771">1771</a> 
<a class="jxr_linenumber" name="1772" href="#1772">1772</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;TypeMutabilityImpl&gt; TYPE_MUTABILITY_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;TypeMutabilityImpl&gt;() {
<a class="jxr_linenumber" name="1773" href="#1773">1773</a>         @Override
<a class="jxr_linenumber" name="1774" href="#1774">1774</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/TypeMutabilityImpl.html">TypeMutabilityImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1775" href="#1775">1775</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/TypeMutabilityImpl.html">TypeMutabilityImpl</a>();
<a class="jxr_linenumber" name="1776" href="#1776">1776</a>         }
<a class="jxr_linenumber" name="1777" href="#1777">1777</a> 
<a class="jxr_linenumber" name="1778" href="#1778">1778</a>         @Override
<a class="jxr_linenumber" name="1779" href="#1779">1779</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/TypeMutabilityImpl.html">TypeMutabilityImpl</a> target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1780" href="#1780">1780</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="1781" href="#1781">1781</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_TYPE_MUTABILITY_CREATE)) {
<a class="jxr_linenumber" name="1782" href="#1782">1782</a>                     target.setCanCreate(readBoolean(parser));
<a class="jxr_linenumber" name="1783" href="#1783">1783</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1784" href="#1784">1784</a>                 }
<a class="jxr_linenumber" name="1785" href="#1785">1785</a> 
<a class="jxr_linenumber" name="1786" href="#1786">1786</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_TYPE_MUTABILITY_UPDATE)) {
<a class="jxr_linenumber" name="1787" href="#1787">1787</a>                     target.setCanUpdate(readBoolean(parser));
<a class="jxr_linenumber" name="1788" href="#1788">1788</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1789" href="#1789">1789</a>                 }
<a class="jxr_linenumber" name="1790" href="#1790">1790</a> 
<a class="jxr_linenumber" name="1791" href="#1791">1791</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_TYPE_MUTABILITY_DELETE)) {
<a class="jxr_linenumber" name="1792" href="#1792">1792</a>                     target.setCanDelete(readBoolean(parser));
<a class="jxr_linenumber" name="1793" href="#1793">1793</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1794" href="#1794">1794</a>                 }
<a class="jxr_linenumber" name="1795" href="#1795">1795</a>             }
<a class="jxr_linenumber" name="1796" href="#1796">1796</a> 
<a class="jxr_linenumber" name="1797" href="#1797">1797</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="1798" href="#1798">1798</a>         }
<a class="jxr_linenumber" name="1799" href="#1799">1799</a>     };
<a class="jxr_linenumber" name="1800" href="#1800">1800</a> 
<a class="jxr_linenumber" name="1801" href="#1801">1801</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;AbstractPropertyDefinition&lt;?&gt;&gt; PROPERTY_TYPE_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;AbstractPropertyDefinition&lt;?&gt;&gt;() {
<a class="jxr_linenumber" name="1802" href="#1802">1802</a>         @Override
<a class="jxr_linenumber" name="1803" href="#1803">1803</a>         <strong class="jxr_keyword">protected</strong> AbstractPropertyDefinition&lt;?&gt; prepareTarget(XMLStreamReader parser, QName name)
<a class="jxr_linenumber" name="1804" href="#1804">1804</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1805" href="#1805">1805</a>             AbstractPropertyDefinition&lt;?&gt; result = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="1806" href="#1806">1806</a> 
<a class="jxr_linenumber" name="1807" href="#1807">1807</a>             <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_PROP_DEF_STRING)) {
<a class="jxr_linenumber" name="1808" href="#1808">1808</a>                 result = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyStringDefinitionImpl.html">PropertyStringDefinitionImpl</a>();
<a class="jxr_linenumber" name="1809" href="#1809">1809</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_PROP_DEF_ID)) {
<a class="jxr_linenumber" name="1810" href="#1810">1810</a>                 result = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIdDefinitionImpl.html">PropertyIdDefinitionImpl</a>();
<a class="jxr_linenumber" name="1811" href="#1811">1811</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_PROP_DEF_BOOLEAN)) {
<a class="jxr_linenumber" name="1812" href="#1812">1812</a>                 result = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyBooleanDefinitionImpl.html">PropertyBooleanDefinitionImpl</a>();
<a class="jxr_linenumber" name="1813" href="#1813">1813</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_PROP_DEF_INTEGER)) {
<a class="jxr_linenumber" name="1814" href="#1814">1814</a>                 result = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIntegerDefinitionImpl.html">PropertyIntegerDefinitionImpl</a>();
<a class="jxr_linenumber" name="1815" href="#1815">1815</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_PROP_DEF_DATETIME)) {
<a class="jxr_linenumber" name="1816" href="#1816">1816</a>                 result = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDateTimeDefinitionImpl.html">PropertyDateTimeDefinitionImpl</a>();
<a class="jxr_linenumber" name="1817" href="#1817">1817</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_PROP_DEF_DECIMAL)) {
<a class="jxr_linenumber" name="1818" href="#1818">1818</a>                 result = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDecimalDefinitionImpl.html">PropertyDecimalDefinitionImpl</a>();
<a class="jxr_linenumber" name="1819" href="#1819">1819</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_PROP_DEF_HTML)) {
<a class="jxr_linenumber" name="1820" href="#1820">1820</a>                 result = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyHtmlDefinitionImpl.html">PropertyHtmlDefinitionImpl</a>();
<a class="jxr_linenumber" name="1821" href="#1821">1821</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (isTag(name, TAG_TYPE_PROP_DEF_URI)) {
<a class="jxr_linenumber" name="1822" href="#1822">1822</a>                 result = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyUriDefinitionImpl.html">PropertyUriDefinitionImpl</a>();
<a class="jxr_linenumber" name="1823" href="#1823">1823</a>             }
<a class="jxr_linenumber" name="1824" href="#1824">1824</a> 
<a class="jxr_linenumber" name="1825" href="#1825">1825</a>             <strong class="jxr_keyword">if</strong> (result == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1826" href="#1826">1826</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> CmisInvalidArgumentException(<span class="jxr_string">"Cannot read property type definition!"</span>);
<a class="jxr_linenumber" name="1827" href="#1827">1827</a>             }
<a class="jxr_linenumber" name="1828" href="#1828">1828</a> 
<a class="jxr_linenumber" name="1829" href="#1829">1829</a>             <strong class="jxr_keyword">return</strong> result;
<a class="jxr_linenumber" name="1830" href="#1830">1830</a>         }
<a class="jxr_linenumber" name="1831" href="#1831">1831</a> 
<a class="jxr_linenumber" name="1832" href="#1832">1832</a>         @Override
<a class="jxr_linenumber" name="1833" href="#1833">1833</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, AbstractPropertyDefinition&lt;?&gt; target)
<a class="jxr_linenumber" name="1834" href="#1834">1834</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="1835" href="#1835">1835</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="1836" href="#1836">1836</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_ID)) {
<a class="jxr_linenumber" name="1837" href="#1837">1837</a>                     target.setId(readText(parser));
<a class="jxr_linenumber" name="1838" href="#1838">1838</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1839" href="#1839">1839</a>                 }
<a class="jxr_linenumber" name="1840" href="#1840">1840</a> 
<a class="jxr_linenumber" name="1841" href="#1841">1841</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_LOCALNAME)) {
<a class="jxr_linenumber" name="1842" href="#1842">1842</a>                     target.setLocalName(readText(parser));
<a class="jxr_linenumber" name="1843" href="#1843">1843</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1844" href="#1844">1844</a>                 }
<a class="jxr_linenumber" name="1845" href="#1845">1845</a> 
<a class="jxr_linenumber" name="1846" href="#1846">1846</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_LOCALNAMESPACE)) {
<a class="jxr_linenumber" name="1847" href="#1847">1847</a>                     target.setLocalNamespace(readText(parser));
<a class="jxr_linenumber" name="1848" href="#1848">1848</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1849" href="#1849">1849</a>                 }
<a class="jxr_linenumber" name="1850" href="#1850">1850</a> 
<a class="jxr_linenumber" name="1851" href="#1851">1851</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_DISPLAYNAME)) {
<a class="jxr_linenumber" name="1852" href="#1852">1852</a>                     target.setDisplayName(readText(parser));
<a class="jxr_linenumber" name="1853" href="#1853">1853</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1854" href="#1854">1854</a>                 }
<a class="jxr_linenumber" name="1855" href="#1855">1855</a> 
<a class="jxr_linenumber" name="1856" href="#1856">1856</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_QUERYNAME)) {
<a class="jxr_linenumber" name="1857" href="#1857">1857</a>                     target.setQueryName(readText(parser));
<a class="jxr_linenumber" name="1858" href="#1858">1858</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1859" href="#1859">1859</a>                 }
<a class="jxr_linenumber" name="1860" href="#1860">1860</a> 
<a class="jxr_linenumber" name="1861" href="#1861">1861</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_DESCRIPTION)) {
<a class="jxr_linenumber" name="1862" href="#1862">1862</a>                     target.setDescription(readText(parser));
<a class="jxr_linenumber" name="1863" href="#1863">1863</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1864" href="#1864">1864</a>                 }
<a class="jxr_linenumber" name="1865" href="#1865">1865</a> 
<a class="jxr_linenumber" name="1866" href="#1866">1866</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_PROPERTY_TYPE)) {
<a class="jxr_linenumber" name="1867" href="#1867">1867</a>                     PropertyType propType = readEnum(parser, PropertyType.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="1868" href="#1868">1868</a>                     <strong class="jxr_keyword">if</strong> (propType == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1869" href="#1869">1869</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> CmisInvalidArgumentException(<span class="jxr_string">"Invalid property type!"</span>);
<a class="jxr_linenumber" name="1870" href="#1870">1870</a>                     }
<a class="jxr_linenumber" name="1871" href="#1871">1871</a> 
<a class="jxr_linenumber" name="1872" href="#1872">1872</a>                     target.setPropertyType(propType);
<a class="jxr_linenumber" name="1873" href="#1873">1873</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1874" href="#1874">1874</a>                 }
<a class="jxr_linenumber" name="1875" href="#1875">1875</a> 
<a class="jxr_linenumber" name="1876" href="#1876">1876</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_CARDINALITY)) {
<a class="jxr_linenumber" name="1877" href="#1877">1877</a>                     Cardinality cardinality = readEnum(parser, Cardinality.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="1878" href="#1878">1878</a>                     <strong class="jxr_keyword">if</strong> (cardinality == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1879" href="#1879">1879</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> CmisInvalidArgumentException(<span class="jxr_string">"Invalid cardinality!"</span>);
<a class="jxr_linenumber" name="1880" href="#1880">1880</a>                     }
<a class="jxr_linenumber" name="1881" href="#1881">1881</a> 
<a class="jxr_linenumber" name="1882" href="#1882">1882</a>                     target.setCardinality(cardinality);
<a class="jxr_linenumber" name="1883" href="#1883">1883</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1884" href="#1884">1884</a>                 }
<a class="jxr_linenumber" name="1885" href="#1885">1885</a> 
<a class="jxr_linenumber" name="1886" href="#1886">1886</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_UPDATABILITY)) {
<a class="jxr_linenumber" name="1887" href="#1887">1887</a>                     Updatability updatability = readEnum(parser, Updatability.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="1888" href="#1888">1888</a>                     <strong class="jxr_keyword">if</strong> (updatability == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="1889" href="#1889">1889</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> CmisInvalidArgumentException(<span class="jxr_string">"Invalid updatability!"</span>);
<a class="jxr_linenumber" name="1890" href="#1890">1890</a>                     }
<a class="jxr_linenumber" name="1891" href="#1891">1891</a> 
<a class="jxr_linenumber" name="1892" href="#1892">1892</a>                     target.setUpdatability(updatability);
<a class="jxr_linenumber" name="1893" href="#1893">1893</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1894" href="#1894">1894</a>                 }
<a class="jxr_linenumber" name="1895" href="#1895">1895</a> 
<a class="jxr_linenumber" name="1896" href="#1896">1896</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_INHERITED)) {
<a class="jxr_linenumber" name="1897" href="#1897">1897</a>                     target.setIsInherited(readBoolean(parser));
<a class="jxr_linenumber" name="1898" href="#1898">1898</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1899" href="#1899">1899</a>                 }
<a class="jxr_linenumber" name="1900" href="#1900">1900</a> 
<a class="jxr_linenumber" name="1901" href="#1901">1901</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_REQUIRED)) {
<a class="jxr_linenumber" name="1902" href="#1902">1902</a>                     target.setIsRequired(readBoolean(parser));
<a class="jxr_linenumber" name="1903" href="#1903">1903</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1904" href="#1904">1904</a>                 }
<a class="jxr_linenumber" name="1905" href="#1905">1905</a> 
<a class="jxr_linenumber" name="1906" href="#1906">1906</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_QUERYABLE)) {
<a class="jxr_linenumber" name="1907" href="#1907">1907</a>                     target.setIsQueryable(readBoolean(parser));
<a class="jxr_linenumber" name="1908" href="#1908">1908</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1909" href="#1909">1909</a>                 }
<a class="jxr_linenumber" name="1910" href="#1910">1910</a> 
<a class="jxr_linenumber" name="1911" href="#1911">1911</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_ORDERABLE)) {
<a class="jxr_linenumber" name="1912" href="#1912">1912</a>                     target.setIsOrderable(readBoolean(parser));
<a class="jxr_linenumber" name="1913" href="#1913">1913</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1914" href="#1914">1914</a>                 }
<a class="jxr_linenumber" name="1915" href="#1915">1915</a> 
<a class="jxr_linenumber" name="1916" href="#1916">1916</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_OPENCHOICE)) {
<a class="jxr_linenumber" name="1917" href="#1917">1917</a>                     target.setIsOpenChoice(readBoolean(parser));
<a class="jxr_linenumber" name="1918" href="#1918">1918</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1919" href="#1919">1919</a>                 }
<a class="jxr_linenumber" name="1920" href="#1920">1920</a> 
<a class="jxr_linenumber" name="1921" href="#1921">1921</a>                 <strong class="jxr_keyword">if</strong> (target instanceof PropertyStringDefinitionImpl) {
<a class="jxr_linenumber" name="1922" href="#1922">1922</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_DEAULT_VALUE)) {
<a class="jxr_linenumber" name="1923" href="#1923">1923</a>                         PropertyString prop = PROPERTY_STRING_PARSER.walk(parser);
<a class="jxr_linenumber" name="1924" href="#1924">1924</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyStringDefinitionImpl.html">PropertyStringDefinitionImpl</a>) target).setDefaultValue(prop.getValues());
<a class="jxr_linenumber" name="1925" href="#1925">1925</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1926" href="#1926">1926</a>                     }
<a class="jxr_linenumber" name="1927" href="#1927">1927</a> 
<a class="jxr_linenumber" name="1928" href="#1928">1928</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_CHOICE)) {
<a class="jxr_linenumber" name="1929" href="#1929">1929</a>                         CHOICE_STRING_PARSER.addToChoiceList(parser, (PropertyStringDefinitionImpl) target);
<a class="jxr_linenumber" name="1930" href="#1930">1930</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1931" href="#1931">1931</a>                     }
<a class="jxr_linenumber" name="1932" href="#1932">1932</a> 
<a class="jxr_linenumber" name="1933" href="#1933">1933</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_MAX_LENGTH)) {
<a class="jxr_linenumber" name="1934" href="#1934">1934</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyStringDefinitionImpl.html">PropertyStringDefinitionImpl</a>) target).setMaxLength(readInteger(parser));
<a class="jxr_linenumber" name="1935" href="#1935">1935</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1936" href="#1936">1936</a>                     }
<a class="jxr_linenumber" name="1937" href="#1937">1937</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (target instanceof PropertyIdDefinitionImpl) {
<a class="jxr_linenumber" name="1938" href="#1938">1938</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_DEAULT_VALUE)) {
<a class="jxr_linenumber" name="1939" href="#1939">1939</a>                         PropertyId prop = PROPERTY_ID_PARSER.walk(parser);
<a class="jxr_linenumber" name="1940" href="#1940">1940</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIdDefinitionImpl.html">PropertyIdDefinitionImpl</a>) target).setDefaultValue(prop.getValues());
<a class="jxr_linenumber" name="1941" href="#1941">1941</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1942" href="#1942">1942</a>                     }
<a class="jxr_linenumber" name="1943" href="#1943">1943</a> 
<a class="jxr_linenumber" name="1944" href="#1944">1944</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_CHOICE)) {
<a class="jxr_linenumber" name="1945" href="#1945">1945</a>                         CHOICE_STRING_PARSER.addToChoiceList(parser, (PropertyIdDefinitionImpl) target);
<a class="jxr_linenumber" name="1946" href="#1946">1946</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1947" href="#1947">1947</a>                     }
<a class="jxr_linenumber" name="1948" href="#1948">1948</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (target instanceof PropertyBooleanDefinitionImpl) {
<a class="jxr_linenumber" name="1949" href="#1949">1949</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_DEAULT_VALUE)) {
<a class="jxr_linenumber" name="1950" href="#1950">1950</a>                         PropertyBoolean prop = PROPERTY_BOOLEAN_PARSER.walk(parser);
<a class="jxr_linenumber" name="1951" href="#1951">1951</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyBooleanDefinitionImpl.html">PropertyBooleanDefinitionImpl</a>) target).setDefaultValue(prop.getValues());
<a class="jxr_linenumber" name="1952" href="#1952">1952</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1953" href="#1953">1953</a>                     }
<a class="jxr_linenumber" name="1954" href="#1954">1954</a> 
<a class="jxr_linenumber" name="1955" href="#1955">1955</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_CHOICE)) {
<a class="jxr_linenumber" name="1956" href="#1956">1956</a>                         CHOICE_BOOLEAN_PARSER.addToChoiceList(parser, (PropertyBooleanDefinitionImpl) target);
<a class="jxr_linenumber" name="1957" href="#1957">1957</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1958" href="#1958">1958</a>                     }
<a class="jxr_linenumber" name="1959" href="#1959">1959</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (target instanceof PropertyIntegerDefinitionImpl) {
<a class="jxr_linenumber" name="1960" href="#1960">1960</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_DEAULT_VALUE)) {
<a class="jxr_linenumber" name="1961" href="#1961">1961</a>                         PropertyInteger prop = PROPERTY_INTEGER_PARSER.walk(parser);
<a class="jxr_linenumber" name="1962" href="#1962">1962</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIntegerDefinitionImpl.html">PropertyIntegerDefinitionImpl</a>) target).setDefaultValue(prop.getValues());
<a class="jxr_linenumber" name="1963" href="#1963">1963</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1964" href="#1964">1964</a>                     }
<a class="jxr_linenumber" name="1965" href="#1965">1965</a> 
<a class="jxr_linenumber" name="1966" href="#1966">1966</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_CHOICE)) {
<a class="jxr_linenumber" name="1967" href="#1967">1967</a>                         CHOICE_INTEGER_PARSER.addToChoiceList(parser, (PropertyIntegerDefinitionImpl) target);
<a class="jxr_linenumber" name="1968" href="#1968">1968</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1969" href="#1969">1969</a>                     }
<a class="jxr_linenumber" name="1970" href="#1970">1970</a> 
<a class="jxr_linenumber" name="1971" href="#1971">1971</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_MAX_VALUE)) {
<a class="jxr_linenumber" name="1972" href="#1972">1972</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIntegerDefinitionImpl.html">PropertyIntegerDefinitionImpl</a>) target).setMaxValue(readInteger(parser));
<a class="jxr_linenumber" name="1973" href="#1973">1973</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1974" href="#1974">1974</a>                     }
<a class="jxr_linenumber" name="1975" href="#1975">1975</a> 
<a class="jxr_linenumber" name="1976" href="#1976">1976</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_MIN_VALUE)) {
<a class="jxr_linenumber" name="1977" href="#1977">1977</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIntegerDefinitionImpl.html">PropertyIntegerDefinitionImpl</a>) target).setMinValue(readInteger(parser));
<a class="jxr_linenumber" name="1978" href="#1978">1978</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1979" href="#1979">1979</a>                     }
<a class="jxr_linenumber" name="1980" href="#1980">1980</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (target instanceof PropertyDateTimeDefinitionImpl) {
<a class="jxr_linenumber" name="1981" href="#1981">1981</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_DEAULT_VALUE)) {
<a class="jxr_linenumber" name="1982" href="#1982">1982</a>                         PropertyDateTime prop = PROPERTY_DATETIME_PARSER.walk(parser);
<a class="jxr_linenumber" name="1983" href="#1983">1983</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDateTimeDefinitionImpl.html">PropertyDateTimeDefinitionImpl</a>) target).setDefaultValue(prop.getValues());
<a class="jxr_linenumber" name="1984" href="#1984">1984</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1985" href="#1985">1985</a>                     }
<a class="jxr_linenumber" name="1986" href="#1986">1986</a> 
<a class="jxr_linenumber" name="1987" href="#1987">1987</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_CHOICE)) {
<a class="jxr_linenumber" name="1988" href="#1988">1988</a>                         CHOICE_DATETIME_PARSER.addToChoiceList(parser, (PropertyDateTimeDefinitionImpl) target);
<a class="jxr_linenumber" name="1989" href="#1989">1989</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1990" href="#1990">1990</a>                     }
<a class="jxr_linenumber" name="1991" href="#1991">1991</a> 
<a class="jxr_linenumber" name="1992" href="#1992">1992</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_RESOLUTION)) {
<a class="jxr_linenumber" name="1993" href="#1993">1993</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDateTimeDefinitionImpl.html">PropertyDateTimeDefinitionImpl</a>) target).setDateTimeResolution(readEnum(parser,
<a class="jxr_linenumber" name="1994" href="#1994">1994</a>                                 DateTimeResolution.<strong class="jxr_keyword">class</strong>));
<a class="jxr_linenumber" name="1995" href="#1995">1995</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1996" href="#1996">1996</a>                     }
<a class="jxr_linenumber" name="1997" href="#1997">1997</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (target instanceof PropertyDecimalDefinitionImpl) {
<a class="jxr_linenumber" name="1998" href="#1998">1998</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_DEAULT_VALUE)) {
<a class="jxr_linenumber" name="1999" href="#1999">1999</a>                         PropertyDecimal prop = PROPERTY_DECIMAL_PARSER.walk(parser);
<a class="jxr_linenumber" name="2000" href="#2000">2000</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDecimalDefinitionImpl.html">PropertyDecimalDefinitionImpl</a>) target).setDefaultValue(prop.getValues());
<a class="jxr_linenumber" name="2001" href="#2001">2001</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2002" href="#2002">2002</a>                     }
<a class="jxr_linenumber" name="2003" href="#2003">2003</a> 
<a class="jxr_linenumber" name="2004" href="#2004">2004</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_CHOICE)) {
<a class="jxr_linenumber" name="2005" href="#2005">2005</a>                         CHOICE_DECIMAL_PARSER.addToChoiceList(parser, (PropertyDecimalDefinitionImpl) target);
<a class="jxr_linenumber" name="2006" href="#2006">2006</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2007" href="#2007">2007</a>                     }
<a class="jxr_linenumber" name="2008" href="#2008">2008</a> 
<a class="jxr_linenumber" name="2009" href="#2009">2009</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_MAX_VALUE)) {
<a class="jxr_linenumber" name="2010" href="#2010">2010</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDecimalDefinitionImpl.html">PropertyDecimalDefinitionImpl</a>) target).setMaxValue(readDecimal(parser));
<a class="jxr_linenumber" name="2011" href="#2011">2011</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2012" href="#2012">2012</a>                     }
<a class="jxr_linenumber" name="2013" href="#2013">2013</a> 
<a class="jxr_linenumber" name="2014" href="#2014">2014</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_MIN_VALUE)) {
<a class="jxr_linenumber" name="2015" href="#2015">2015</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDecimalDefinitionImpl.html">PropertyDecimalDefinitionImpl</a>) target).setMinValue(readDecimal(parser));
<a class="jxr_linenumber" name="2016" href="#2016">2016</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2017" href="#2017">2017</a>                     }
<a class="jxr_linenumber" name="2018" href="#2018">2018</a> 
<a class="jxr_linenumber" name="2019" href="#2019">2019</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_PRECISION)) {
<a class="jxr_linenumber" name="2020" href="#2020">2020</a>                         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="2021" href="#2021">2021</a>                             ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDecimalDefinitionImpl.html">PropertyDecimalDefinitionImpl</a>) target).setPrecision(DecimalPrecision
<a class="jxr_linenumber" name="2022" href="#2022">2022</a>                                     .fromValue(readInteger(parser)));
<a class="jxr_linenumber" name="2023" href="#2023">2023</a>                         } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException e) {
<a class="jxr_linenumber" name="2024" href="#2024">2024</a>                             <em class="jxr_comment">// invalid enum value - ignore</em>
<a class="jxr_linenumber" name="2025" href="#2025">2025</a>                         }
<a class="jxr_linenumber" name="2026" href="#2026">2026</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2027" href="#2027">2027</a>                     }
<a class="jxr_linenumber" name="2028" href="#2028">2028</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (target instanceof PropertyHtmlDefinitionImpl) {
<a class="jxr_linenumber" name="2029" href="#2029">2029</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_DEAULT_VALUE)) {
<a class="jxr_linenumber" name="2030" href="#2030">2030</a>                         PropertyHtml prop = PROPERTY_HTML_PARSER.walk(parser);
<a class="jxr_linenumber" name="2031" href="#2031">2031</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyHtmlDefinitionImpl.html">PropertyHtmlDefinitionImpl</a>) target).setDefaultValue(prop.getValues());
<a class="jxr_linenumber" name="2032" href="#2032">2032</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2033" href="#2033">2033</a>                     }
<a class="jxr_linenumber" name="2034" href="#2034">2034</a> 
<a class="jxr_linenumber" name="2035" href="#2035">2035</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_CHOICE)) {
<a class="jxr_linenumber" name="2036" href="#2036">2036</a>                         CHOICE_STRING_PARSER.addToChoiceList(parser, (PropertyHtmlDefinitionImpl) target);
<a class="jxr_linenumber" name="2037" href="#2037">2037</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2038" href="#2038">2038</a>                     }
<a class="jxr_linenumber" name="2039" href="#2039">2039</a>                 } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (target instanceof PropertyUriDefinitionImpl) {
<a class="jxr_linenumber" name="2040" href="#2040">2040</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_DEAULT_VALUE)) {
<a class="jxr_linenumber" name="2041" href="#2041">2041</a>                         PropertyUri prop = PROPERTY_URI_PARSER.walk(parser);
<a class="jxr_linenumber" name="2042" href="#2042">2042</a>                         ((<a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyUriDefinitionImpl.html">PropertyUriDefinitionImpl</a>) target).setDefaultValue(prop.getValues());
<a class="jxr_linenumber" name="2043" href="#2043">2043</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2044" href="#2044">2044</a>                     }
<a class="jxr_linenumber" name="2045" href="#2045">2045</a> 
<a class="jxr_linenumber" name="2046" href="#2046">2046</a>                     <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_CHOICE)) {
<a class="jxr_linenumber" name="2047" href="#2047">2047</a>                         CHOICE_STRING_PARSER.addToChoiceList(parser, (PropertyUriDefinitionImpl) target);
<a class="jxr_linenumber" name="2048" href="#2048">2048</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2049" href="#2049">2049</a>                     }
<a class="jxr_linenumber" name="2050" href="#2050">2050</a>                 }
<a class="jxr_linenumber" name="2051" href="#2051">2051</a>             }
<a class="jxr_linenumber" name="2052" href="#2052">2052</a> 
<a class="jxr_linenumber" name="2053" href="#2053">2053</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2054" href="#2054">2054</a>         }
<a class="jxr_linenumber" name="2055" href="#2055">2055</a>     };
<a class="jxr_linenumber" name="2056" href="#2056">2056</a> 
<a class="jxr_linenumber" name="2057" href="#2057">2057</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> ChoiceXMLWalker&lt;String&gt; CHOICE_STRING_PARSER = <strong class="jxr_keyword">new</strong> ChoiceXMLWalker&lt;String&gt;() {
<a class="jxr_linenumber" name="2058" href="#2058">2058</a>         @Override
<a class="jxr_linenumber" name="2059" href="#2059">2059</a>         <strong class="jxr_keyword">protected</strong> ChoiceImpl&lt;String&gt; createTarget(XMLStreamReader parser, QName name) {
<a class="jxr_linenumber" name="2060" href="#2060">2060</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> ChoiceImpl&lt;String&gt;();
<a class="jxr_linenumber" name="2061" href="#2061">2061</a>         }
<a class="jxr_linenumber" name="2062" href="#2062">2062</a> 
<a class="jxr_linenumber" name="2063" href="#2063">2063</a>         @Override
<a class="jxr_linenumber" name="2064" href="#2064">2064</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addValue(XMLStreamReader parser, ChoiceImpl&lt;String&gt; target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2065" href="#2065">2065</a>             target.setValue(addToList(target.getValue(), readText(parser)));
<a class="jxr_linenumber" name="2066" href="#2066">2066</a>         }
<a class="jxr_linenumber" name="2067" href="#2067">2067</a> 
<a class="jxr_linenumber" name="2068" href="#2068">2068</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addChoice(XMLStreamReader parser, ChoiceImpl&lt;String&gt; target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2069" href="#2069">2069</a>             target.setChoice(addToList(target.getChoice(), CHOICE_STRING_PARSER.walk(parser)));
<a class="jxr_linenumber" name="2070" href="#2070">2070</a>         }
<a class="jxr_linenumber" name="2071" href="#2071">2071</a>     };
<a class="jxr_linenumber" name="2072" href="#2072">2072</a> 
<a class="jxr_linenumber" name="2073" href="#2073">2073</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> ChoiceXMLWalker&lt;Boolean&gt; CHOICE_BOOLEAN_PARSER = <strong class="jxr_keyword">new</strong> ChoiceXMLWalker&lt;Boolean&gt;() {
<a class="jxr_linenumber" name="2074" href="#2074">2074</a>         @Override
<a class="jxr_linenumber" name="2075" href="#2075">2075</a>         <strong class="jxr_keyword">protected</strong> ChoiceImpl&lt;Boolean&gt; createTarget(XMLStreamReader parser, QName name) {
<a class="jxr_linenumber" name="2076" href="#2076">2076</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> ChoiceImpl&lt;Boolean&gt;();
<a class="jxr_linenumber" name="2077" href="#2077">2077</a>         }
<a class="jxr_linenumber" name="2078" href="#2078">2078</a> 
<a class="jxr_linenumber" name="2079" href="#2079">2079</a>         @Override
<a class="jxr_linenumber" name="2080" href="#2080">2080</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addValue(XMLStreamReader parser, ChoiceImpl&lt;Boolean&gt; target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2081" href="#2081">2081</a>             target.setValue(addToList(target.getValue(), readBoolean(parser)));
<a class="jxr_linenumber" name="2082" href="#2082">2082</a>         }
<a class="jxr_linenumber" name="2083" href="#2083">2083</a> 
<a class="jxr_linenumber" name="2084" href="#2084">2084</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addChoice(XMLStreamReader parser, ChoiceImpl&lt;Boolean&gt; target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2085" href="#2085">2085</a>             target.setChoice(addToList(target.getChoice(), CHOICE_BOOLEAN_PARSER.walk(parser)));
<a class="jxr_linenumber" name="2086" href="#2086">2086</a>         }
<a class="jxr_linenumber" name="2087" href="#2087">2087</a>     };
<a class="jxr_linenumber" name="2088" href="#2088">2088</a> 
<a class="jxr_linenumber" name="2089" href="#2089">2089</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> ChoiceXMLWalker&lt;BigInteger&gt; CHOICE_INTEGER_PARSER = <strong class="jxr_keyword">new</strong> ChoiceXMLWalker&lt;BigInteger&gt;() {
<a class="jxr_linenumber" name="2090" href="#2090">2090</a>         @Override
<a class="jxr_linenumber" name="2091" href="#2091">2091</a>         <strong class="jxr_keyword">protected</strong> ChoiceImpl&lt;BigInteger&gt; createTarget(XMLStreamReader parser, QName name) {
<a class="jxr_linenumber" name="2092" href="#2092">2092</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> ChoiceImpl&lt;BigInteger&gt;();
<a class="jxr_linenumber" name="2093" href="#2093">2093</a>         }
<a class="jxr_linenumber" name="2094" href="#2094">2094</a> 
<a class="jxr_linenumber" name="2095" href="#2095">2095</a>         @Override
<a class="jxr_linenumber" name="2096" href="#2096">2096</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addValue(XMLStreamReader parser, ChoiceImpl&lt;BigInteger&gt; target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2097" href="#2097">2097</a>             target.setValue(addToList(target.getValue(), readInteger(parser)));
<a class="jxr_linenumber" name="2098" href="#2098">2098</a>         }
<a class="jxr_linenumber" name="2099" href="#2099">2099</a> 
<a class="jxr_linenumber" name="2100" href="#2100">2100</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addChoice(XMLStreamReader parser, ChoiceImpl&lt;BigInteger&gt; target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2101" href="#2101">2101</a>             target.setChoice(addToList(target.getChoice(), CHOICE_INTEGER_PARSER.walk(parser)));
<a class="jxr_linenumber" name="2102" href="#2102">2102</a>         }
<a class="jxr_linenumber" name="2103" href="#2103">2103</a>     };
<a class="jxr_linenumber" name="2104" href="#2104">2104</a> 
<a class="jxr_linenumber" name="2105" href="#2105">2105</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> ChoiceXMLWalker&lt;GregorianCalendar&gt; CHOICE_DATETIME_PARSER = <strong class="jxr_keyword">new</strong> ChoiceXMLWalker&lt;GregorianCalendar&gt;() {
<a class="jxr_linenumber" name="2106" href="#2106">2106</a>         @Override
<a class="jxr_linenumber" name="2107" href="#2107">2107</a>         <strong class="jxr_keyword">protected</strong> ChoiceImpl&lt;GregorianCalendar&gt; createTarget(XMLStreamReader parser, QName name) {
<a class="jxr_linenumber" name="2108" href="#2108">2108</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> ChoiceImpl&lt;GregorianCalendar&gt;();
<a class="jxr_linenumber" name="2109" href="#2109">2109</a>         }
<a class="jxr_linenumber" name="2110" href="#2110">2110</a> 
<a class="jxr_linenumber" name="2111" href="#2111">2111</a>         @Override
<a class="jxr_linenumber" name="2112" href="#2112">2112</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addValue(XMLStreamReader parser, ChoiceImpl&lt;GregorianCalendar&gt; target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2113" href="#2113">2113</a>             target.setValue(addToList(target.getValue(), readDateTime(parser)));
<a class="jxr_linenumber" name="2114" href="#2114">2114</a>         }
<a class="jxr_linenumber" name="2115" href="#2115">2115</a> 
<a class="jxr_linenumber" name="2116" href="#2116">2116</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addChoice(XMLStreamReader parser, ChoiceImpl&lt;GregorianCalendar&gt; target)
<a class="jxr_linenumber" name="2117" href="#2117">2117</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2118" href="#2118">2118</a>             target.setChoice(addToList(target.getChoice(), CHOICE_DATETIME_PARSER.walk(parser)));
<a class="jxr_linenumber" name="2119" href="#2119">2119</a>         }
<a class="jxr_linenumber" name="2120" href="#2120">2120</a>     };
<a class="jxr_linenumber" name="2121" href="#2121">2121</a> 
<a class="jxr_linenumber" name="2122" href="#2122">2122</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> ChoiceXMLWalker&lt;BigDecimal&gt; CHOICE_DECIMAL_PARSER = <strong class="jxr_keyword">new</strong> ChoiceXMLWalker&lt;BigDecimal&gt;() {
<a class="jxr_linenumber" name="2123" href="#2123">2123</a>         @Override
<a class="jxr_linenumber" name="2124" href="#2124">2124</a>         <strong class="jxr_keyword">protected</strong> ChoiceImpl&lt;BigDecimal&gt; createTarget(XMLStreamReader parser, QName name) {
<a class="jxr_linenumber" name="2125" href="#2125">2125</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> ChoiceImpl&lt;BigDecimal&gt;();
<a class="jxr_linenumber" name="2126" href="#2126">2126</a>         }
<a class="jxr_linenumber" name="2127" href="#2127">2127</a> 
<a class="jxr_linenumber" name="2128" href="#2128">2128</a>         @Override
<a class="jxr_linenumber" name="2129" href="#2129">2129</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addValue(XMLStreamReader parser, ChoiceImpl&lt;BigDecimal&gt; target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2130" href="#2130">2130</a>             target.setValue(addToList(target.getValue(), readDecimal(parser)));
<a class="jxr_linenumber" name="2131" href="#2131">2131</a>         }
<a class="jxr_linenumber" name="2132" href="#2132">2132</a> 
<a class="jxr_linenumber" name="2133" href="#2133">2133</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addChoice(XMLStreamReader parser, ChoiceImpl&lt;BigDecimal&gt; target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2134" href="#2134">2134</a>             target.setChoice(addToList(target.getChoice(), CHOICE_DECIMAL_PARSER.walk(parser)));
<a class="jxr_linenumber" name="2135" href="#2135">2135</a>         }
<a class="jxr_linenumber" name="2136" href="#2136">2136</a>     };
<a class="jxr_linenumber" name="2137" href="#2137">2137</a> 
<a class="jxr_linenumber" name="2138" href="#2138">2138</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> ChoiceXMLWalker&lt;T&gt; <strong class="jxr_keyword">extends</strong> XMLWalker&lt;ChoiceImpl&lt;T&gt;&gt; {
<a class="jxr_linenumber" name="2139" href="#2139">2139</a> 
<a class="jxr_linenumber" name="2140" href="#2140">2140</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addToChoiceList(XMLStreamReader parser, AbstractPropertyDefinition&lt;T&gt; propDef)
<a class="jxr_linenumber" name="2141" href="#2141">2141</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2142" href="#2142">2142</a>             propDef.setChoices(addToList(propDef.getChoices(), walk(parser)));
<a class="jxr_linenumber" name="2143" href="#2143">2143</a>         }
<a class="jxr_linenumber" name="2144" href="#2144">2144</a> 
<a class="jxr_linenumber" name="2145" href="#2145">2145</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> ChoiceImpl&lt;T&gt; createTarget(XMLStreamReader parser, QName name);
<a class="jxr_linenumber" name="2146" href="#2146">2146</a> 
<a class="jxr_linenumber" name="2147" href="#2147">2147</a>         @Override
<a class="jxr_linenumber" name="2148" href="#2148">2148</a>         <strong class="jxr_keyword">protected</strong> ChoiceImpl&lt;T&gt; prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2149" href="#2149">2149</a>             ChoiceImpl&lt;T&gt; result = createTarget(parser, name);
<a class="jxr_linenumber" name="2150" href="#2150">2150</a> 
<a class="jxr_linenumber" name="2151" href="#2151">2151</a>             <strong class="jxr_keyword">if</strong> (parser.getAttributeCount() &gt; 0) {
<a class="jxr_linenumber" name="2152" href="#2152">2152</a>                 <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; parser.getAttributeCount(); i++) {
<a class="jxr_linenumber" name="2153" href="#2153">2153</a>                     String attr = parser.getAttributeLocalName(i);
<a class="jxr_linenumber" name="2154" href="#2154">2154</a>                     <strong class="jxr_keyword">if</strong> (ATTR_PROPERTY_TYPE_CHOICE_DISPLAYNAME.equals(attr)) {
<a class="jxr_linenumber" name="2155" href="#2155">2155</a>                         result.setDisplayName(parser.getAttributeValue(i));
<a class="jxr_linenumber" name="2156" href="#2156">2156</a>                     }
<a class="jxr_linenumber" name="2157" href="#2157">2157</a>                 }
<a class="jxr_linenumber" name="2158" href="#2158">2158</a>             }
<a class="jxr_linenumber" name="2159" href="#2159">2159</a> 
<a class="jxr_linenumber" name="2160" href="#2160">2160</a>             <strong class="jxr_keyword">return</strong> result;
<a class="jxr_linenumber" name="2161" href="#2161">2161</a>         }
<a class="jxr_linenumber" name="2162" href="#2162">2162</a> 
<a class="jxr_linenumber" name="2163" href="#2163">2163</a>         @Override
<a class="jxr_linenumber" name="2164" href="#2164">2164</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, ChoiceImpl&lt;T&gt; target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2165" href="#2165">2165</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="2166" href="#2166">2166</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_CHOICE_VALUE)) {
<a class="jxr_linenumber" name="2167" href="#2167">2167</a>                     addValue(parser, target);
<a class="jxr_linenumber" name="2168" href="#2168">2168</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2169" href="#2169">2169</a>                 }
<a class="jxr_linenumber" name="2170" href="#2170">2170</a> 
<a class="jxr_linenumber" name="2171" href="#2171">2171</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_TYPE_CHOICE_CHOICE)) {
<a class="jxr_linenumber" name="2172" href="#2172">2172</a>                     addChoice(parser, target);
<a class="jxr_linenumber" name="2173" href="#2173">2173</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2174" href="#2174">2174</a>                 }
<a class="jxr_linenumber" name="2175" href="#2175">2175</a>             }
<a class="jxr_linenumber" name="2176" href="#2176">2176</a> 
<a class="jxr_linenumber" name="2177" href="#2177">2177</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2178" href="#2178">2178</a>         }
<a class="jxr_linenumber" name="2179" href="#2179">2179</a> 
<a class="jxr_linenumber" name="2180" href="#2180">2180</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> addValue(XMLStreamReader parser, ChoiceImpl&lt;T&gt; target) <strong class="jxr_keyword">throws</strong> XMLStreamException;
<a class="jxr_linenumber" name="2181" href="#2181">2181</a> 
<a class="jxr_linenumber" name="2182" href="#2182">2182</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> addChoice(XMLStreamReader parser, ChoiceImpl&lt;T&gt; target) <strong class="jxr_keyword">throws</strong> XMLStreamException;
<a class="jxr_linenumber" name="2183" href="#2183">2183</a>     };
<a class="jxr_linenumber" name="2184" href="#2184">2184</a> 
<a class="jxr_linenumber" name="2185" href="#2185">2185</a>     <em class="jxr_comment">// ---------------------------------</em>
<a class="jxr_linenumber" name="2186" href="#2186">2186</a>     <em class="jxr_comment">// --- objects and lists parsers ---</em>
<a class="jxr_linenumber" name="2187" href="#2187">2187</a>     <em class="jxr_comment">// ---------------------------------</em>
<a class="jxr_linenumber" name="2188" href="#2188">2188</a> 
<a class="jxr_linenumber" name="2189" href="#2189">2189</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;ObjectDataImpl&gt; OBJECT_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;ObjectDataImpl&gt;() {
<a class="jxr_linenumber" name="2190" href="#2190">2190</a>         @Override
<a class="jxr_linenumber" name="2191" href="#2191">2191</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/ObjectDataImpl.html">ObjectDataImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2192" href="#2192">2192</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/ObjectDataImpl.html">ObjectDataImpl</a>();
<a class="jxr_linenumber" name="2193" href="#2193">2193</a>         }
<a class="jxr_linenumber" name="2194" href="#2194">2194</a> 
<a class="jxr_linenumber" name="2195" href="#2195">2195</a>         @Override
<a class="jxr_linenumber" name="2196" href="#2196">2196</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/ObjectDataImpl.html">ObjectDataImpl</a> target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2197" href="#2197">2197</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="2198" href="#2198">2198</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_OBJECT_PROPERTIES)) {
<a class="jxr_linenumber" name="2199" href="#2199">2199</a>                     target.setProperties(PROPERTIES_PARSER.walk(parser));
<a class="jxr_linenumber" name="2200" href="#2200">2200</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2201" href="#2201">2201</a>                 }
<a class="jxr_linenumber" name="2202" href="#2202">2202</a> 
<a class="jxr_linenumber" name="2203" href="#2203">2203</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_OBJECT_ALLOWABLE_ACTIONS)) {
<a class="jxr_linenumber" name="2204" href="#2204">2204</a>                     target.setAllowableActions(ALLOWABLE_ACTIONS_PARSER.walk(parser));
<a class="jxr_linenumber" name="2205" href="#2205">2205</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2206" href="#2206">2206</a>                 }
<a class="jxr_linenumber" name="2207" href="#2207">2207</a> 
<a class="jxr_linenumber" name="2208" href="#2208">2208</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_OBJECT_RELATIONSHIP)) {
<a class="jxr_linenumber" name="2209" href="#2209">2209</a>                     target.setRelationships(addToList(target.getRelationships(), OBJECT_PARSER.walk(parser)));
<a class="jxr_linenumber" name="2210" href="#2210">2210</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2211" href="#2211">2211</a>                 }
<a class="jxr_linenumber" name="2212" href="#2212">2212</a> 
<a class="jxr_linenumber" name="2213" href="#2213">2213</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_OBJECT_CHANGE_EVENT_INFO)) {
<a class="jxr_linenumber" name="2214" href="#2214">2214</a>                     target.setChangeEventInfo(CHANGE_EVENT_PARSER.walk(parser));
<a class="jxr_linenumber" name="2215" href="#2215">2215</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2216" href="#2216">2216</a>                 }
<a class="jxr_linenumber" name="2217" href="#2217">2217</a> 
<a class="jxr_linenumber" name="2218" href="#2218">2218</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_OBJECT_ACL)) {
<a class="jxr_linenumber" name="2219" href="#2219">2219</a>                     target.setAcl(ACL_PARSER.walk(parser));
<a class="jxr_linenumber" name="2220" href="#2220">2220</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2221" href="#2221">2221</a>                 }
<a class="jxr_linenumber" name="2222" href="#2222">2222</a> 
<a class="jxr_linenumber" name="2223" href="#2223">2223</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_OBJECT_EXACT_ACL)) {
<a class="jxr_linenumber" name="2224" href="#2224">2224</a>                     target.setIsExactAcl(readBoolean(parser));
<a class="jxr_linenumber" name="2225" href="#2225">2225</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2226" href="#2226">2226</a>                 }
<a class="jxr_linenumber" name="2227" href="#2227">2227</a> 
<a class="jxr_linenumber" name="2228" href="#2228">2228</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_OBJECT_POLICY_IDS)) {
<a class="jxr_linenumber" name="2229" href="#2229">2229</a>                     target.setPolicyIds(POLICY_IDS_PARSER.walk(parser));
<a class="jxr_linenumber" name="2230" href="#2230">2230</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2231" href="#2231">2231</a>                 }
<a class="jxr_linenumber" name="2232" href="#2232">2232</a> 
<a class="jxr_linenumber" name="2233" href="#2233">2233</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_OBJECT_RENDITION)) {
<a class="jxr_linenumber" name="2234" href="#2234">2234</a>                     target.setRenditions(addToList(target.getRenditions(), RENDITION_PARSER.walk(parser)));
<a class="jxr_linenumber" name="2235" href="#2235">2235</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2236" href="#2236">2236</a>                 }
<a class="jxr_linenumber" name="2237" href="#2237">2237</a>             }
<a class="jxr_linenumber" name="2238" href="#2238">2238</a> 
<a class="jxr_linenumber" name="2239" href="#2239">2239</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2240" href="#2240">2240</a>         }
<a class="jxr_linenumber" name="2241" href="#2241">2241</a>     };
<a class="jxr_linenumber" name="2242" href="#2242">2242</a> 
<a class="jxr_linenumber" name="2243" href="#2243">2243</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;PropertiesImpl&gt; PROPERTIES_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;PropertiesImpl&gt;() {
<a class="jxr_linenumber" name="2244" href="#2244">2244</a>         @Override
<a class="jxr_linenumber" name="2245" href="#2245">2245</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertiesImpl.html">PropertiesImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2246" href="#2246">2246</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertiesImpl.html">PropertiesImpl</a>();
<a class="jxr_linenumber" name="2247" href="#2247">2247</a>         }
<a class="jxr_linenumber" name="2248" href="#2248">2248</a> 
<a class="jxr_linenumber" name="2249" href="#2249">2249</a>         @Override
<a class="jxr_linenumber" name="2250" href="#2250">2250</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertiesImpl.html">PropertiesImpl</a> target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2251" href="#2251">2251</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="2252" href="#2252">2252</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROP_STRING)) {
<a class="jxr_linenumber" name="2253" href="#2253">2253</a>                     target.addProperty(PROPERTY_STRING_PARSER.walk(parser));
<a class="jxr_linenumber" name="2254" href="#2254">2254</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2255" href="#2255">2255</a>                 }
<a class="jxr_linenumber" name="2256" href="#2256">2256</a> 
<a class="jxr_linenumber" name="2257" href="#2257">2257</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROP_ID)) {
<a class="jxr_linenumber" name="2258" href="#2258">2258</a>                     target.addProperty(PROPERTY_ID_PARSER.walk(parser));
<a class="jxr_linenumber" name="2259" href="#2259">2259</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2260" href="#2260">2260</a>                 }
<a class="jxr_linenumber" name="2261" href="#2261">2261</a> 
<a class="jxr_linenumber" name="2262" href="#2262">2262</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROP_BOOLEAN)) {
<a class="jxr_linenumber" name="2263" href="#2263">2263</a>                     target.addProperty(PROPERTY_BOOLEAN_PARSER.walk(parser));
<a class="jxr_linenumber" name="2264" href="#2264">2264</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2265" href="#2265">2265</a>                 }
<a class="jxr_linenumber" name="2266" href="#2266">2266</a> 
<a class="jxr_linenumber" name="2267" href="#2267">2267</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROP_INTEGER)) {
<a class="jxr_linenumber" name="2268" href="#2268">2268</a>                     target.addProperty(PROPERTY_INTEGER_PARSER.walk(parser));
<a class="jxr_linenumber" name="2269" href="#2269">2269</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2270" href="#2270">2270</a>                 }
<a class="jxr_linenumber" name="2271" href="#2271">2271</a> 
<a class="jxr_linenumber" name="2272" href="#2272">2272</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROP_DATETIME)) {
<a class="jxr_linenumber" name="2273" href="#2273">2273</a>                     target.addProperty(PROPERTY_DATETIME_PARSER.walk(parser));
<a class="jxr_linenumber" name="2274" href="#2274">2274</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2275" href="#2275">2275</a>                 }
<a class="jxr_linenumber" name="2276" href="#2276">2276</a> 
<a class="jxr_linenumber" name="2277" href="#2277">2277</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROP_DECIMAL)) {
<a class="jxr_linenumber" name="2278" href="#2278">2278</a>                     target.addProperty(PROPERTY_DECIMAL_PARSER.walk(parser));
<a class="jxr_linenumber" name="2279" href="#2279">2279</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2280" href="#2280">2280</a>                 }
<a class="jxr_linenumber" name="2281" href="#2281">2281</a> 
<a class="jxr_linenumber" name="2282" href="#2282">2282</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROP_HTML)) {
<a class="jxr_linenumber" name="2283" href="#2283">2283</a>                     target.addProperty(PROPERTY_HTML_PARSER.walk(parser));
<a class="jxr_linenumber" name="2284" href="#2284">2284</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2285" href="#2285">2285</a>                 }
<a class="jxr_linenumber" name="2286" href="#2286">2286</a> 
<a class="jxr_linenumber" name="2287" href="#2287">2287</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROP_URI)) {
<a class="jxr_linenumber" name="2288" href="#2288">2288</a>                     target.addProperty(PROPERTY_URI_PARSER.walk(parser));
<a class="jxr_linenumber" name="2289" href="#2289">2289</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2290" href="#2290">2290</a>                 }
<a class="jxr_linenumber" name="2291" href="#2291">2291</a>             }
<a class="jxr_linenumber" name="2292" href="#2292">2292</a> 
<a class="jxr_linenumber" name="2293" href="#2293">2293</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2294" href="#2294">2294</a>         }
<a class="jxr_linenumber" name="2295" href="#2295">2295</a>     };
<a class="jxr_linenumber" name="2296" href="#2296">2296</a> 
<a class="jxr_linenumber" name="2297" href="#2297">2297</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;AllowableActionsImpl&gt; ALLOWABLE_ACTIONS_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;AllowableActionsImpl&gt;() {
<a class="jxr_linenumber" name="2298" href="#2298">2298</a>         @Override
<a class="jxr_linenumber" name="2299" href="#2299">2299</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AllowableActionsImpl.html">AllowableActionsImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2300" href="#2300">2300</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AllowableActionsImpl.html">AllowableActionsImpl</a>();
<a class="jxr_linenumber" name="2301" href="#2301">2301</a>         }
<a class="jxr_linenumber" name="2302" href="#2302">2302</a> 
<a class="jxr_linenumber" name="2303" href="#2303">2303</a>         @Override
<a class="jxr_linenumber" name="2304" href="#2304">2304</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AllowableActionsImpl.html">AllowableActionsImpl</a> target)
<a class="jxr_linenumber" name="2305" href="#2305">2305</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2306" href="#2306">2306</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="2307" href="#2307">2307</a>                 <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="2308" href="#2308">2308</a>                     Action action = Action.fromValue(name.getLocalPart());
<a class="jxr_linenumber" name="2309" href="#2309">2309</a> 
<a class="jxr_linenumber" name="2310" href="#2310">2310</a>                     Set&lt;Action&gt; actions = target.getAllowableActions();
<a class="jxr_linenumber" name="2311" href="#2311">2311</a>                     <strong class="jxr_keyword">if</strong> (actions == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="2312" href="#2312">2312</a>                         actions = EnumSet.noneOf(Action.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="2313" href="#2313">2313</a>                         target.setAllowableActions(actions);
<a class="jxr_linenumber" name="2314" href="#2314">2314</a>                     }
<a class="jxr_linenumber" name="2315" href="#2315">2315</a> 
<a class="jxr_linenumber" name="2316" href="#2316">2316</a>                     <strong class="jxr_keyword">if</strong> (Boolean.TRUE.equals(readBoolean(parser))) {
<a class="jxr_linenumber" name="2317" href="#2317">2317</a>                         actions.add(action);
<a class="jxr_linenumber" name="2318" href="#2318">2318</a>                     }
<a class="jxr_linenumber" name="2319" href="#2319">2319</a> 
<a class="jxr_linenumber" name="2320" href="#2320">2320</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2321" href="#2321">2321</a>                 } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException e) {
<a class="jxr_linenumber" name="2322" href="#2322">2322</a>                     <em class="jxr_comment">// extension tag -&gt; ignore</em>
<a class="jxr_linenumber" name="2323" href="#2323">2323</a>                 }
<a class="jxr_linenumber" name="2324" href="#2324">2324</a>             }
<a class="jxr_linenumber" name="2325" href="#2325">2325</a> 
<a class="jxr_linenumber" name="2326" href="#2326">2326</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2327" href="#2327">2327</a>         }
<a class="jxr_linenumber" name="2328" href="#2328">2328</a>     };
<a class="jxr_linenumber" name="2329" href="#2329">2329</a> 
<a class="jxr_linenumber" name="2330" href="#2330">2330</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;ChangeEventInfoDataImpl&gt; CHANGE_EVENT_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;ChangeEventInfoDataImpl&gt;() {
<a class="jxr_linenumber" name="2331" href="#2331">2331</a>         @Override
<a class="jxr_linenumber" name="2332" href="#2332">2332</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/ChangeEventInfoDataImpl.html">ChangeEventInfoDataImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2333" href="#2333">2333</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/ChangeEventInfoDataImpl.html">ChangeEventInfoDataImpl</a>();
<a class="jxr_linenumber" name="2334" href="#2334">2334</a>         }
<a class="jxr_linenumber" name="2335" href="#2335">2335</a> 
<a class="jxr_linenumber" name="2336" href="#2336">2336</a>         @Override
<a class="jxr_linenumber" name="2337" href="#2337">2337</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/ChangeEventInfoDataImpl.html">ChangeEventInfoDataImpl</a> target)
<a class="jxr_linenumber" name="2338" href="#2338">2338</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2339" href="#2339">2339</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="2340" href="#2340">2340</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CHANGE_EVENT_TYPE)) {
<a class="jxr_linenumber" name="2341" href="#2341">2341</a>                     target.setChangeType(readEnum(parser, ChangeType.<strong class="jxr_keyword">class</strong>));
<a class="jxr_linenumber" name="2342" href="#2342">2342</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2343" href="#2343">2343</a>                 }
<a class="jxr_linenumber" name="2344" href="#2344">2344</a> 
<a class="jxr_linenumber" name="2345" href="#2345">2345</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_CHANGE_EVENT_TIME)) {
<a class="jxr_linenumber" name="2346" href="#2346">2346</a>                     target.setChangeTime(readDateTime(parser));
<a class="jxr_linenumber" name="2347" href="#2347">2347</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2348" href="#2348">2348</a>                 }
<a class="jxr_linenumber" name="2349" href="#2349">2349</a>             }
<a class="jxr_linenumber" name="2350" href="#2350">2350</a> 
<a class="jxr_linenumber" name="2351" href="#2351">2351</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2352" href="#2352">2352</a>         }
<a class="jxr_linenumber" name="2353" href="#2353">2353</a>     };
<a class="jxr_linenumber" name="2354" href="#2354">2354</a> 
<a class="jxr_linenumber" name="2355" href="#2355">2355</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;AccessControlListImpl&gt; ACL_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;AccessControlListImpl&gt;() {
<a class="jxr_linenumber" name="2356" href="#2356">2356</a>         @Override
<a class="jxr_linenumber" name="2357" href="#2357">2357</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AccessControlListImpl.html">AccessControlListImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2358" href="#2358">2358</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AccessControlListImpl.html">AccessControlListImpl</a>();
<a class="jxr_linenumber" name="2359" href="#2359">2359</a>         }
<a class="jxr_linenumber" name="2360" href="#2360">2360</a> 
<a class="jxr_linenumber" name="2361" href="#2361">2361</a>         @Override
<a class="jxr_linenumber" name="2362" href="#2362">2362</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AccessControlListImpl.html">AccessControlListImpl</a> target)
<a class="jxr_linenumber" name="2363" href="#2363">2363</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2364" href="#2364">2364</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="2365" href="#2365">2365</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_ACL_PERMISSISONS)) {
<a class="jxr_linenumber" name="2366" href="#2366">2366</a>                     target.setAces(addToList(target.getAces(), ACE_PARSER.walk(parser)));
<a class="jxr_linenumber" name="2367" href="#2367">2367</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2368" href="#2368">2368</a>                 }
<a class="jxr_linenumber" name="2369" href="#2369">2369</a>             }
<a class="jxr_linenumber" name="2370" href="#2370">2370</a> 
<a class="jxr_linenumber" name="2371" href="#2371">2371</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2372" href="#2372">2372</a>         }
<a class="jxr_linenumber" name="2373" href="#2373">2373</a>     };
<a class="jxr_linenumber" name="2374" href="#2374">2374</a> 
<a class="jxr_linenumber" name="2375" href="#2375">2375</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;AccessControlEntryImpl&gt; ACE_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;AccessControlEntryImpl&gt;() {
<a class="jxr_linenumber" name="2376" href="#2376">2376</a>         @Override
<a class="jxr_linenumber" name="2377" href="#2377">2377</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AccessControlEntryImpl.html">AccessControlEntryImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2378" href="#2378">2378</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AccessControlEntryImpl.html">AccessControlEntryImpl</a>();
<a class="jxr_linenumber" name="2379" href="#2379">2379</a>         }
<a class="jxr_linenumber" name="2380" href="#2380">2380</a> 
<a class="jxr_linenumber" name="2381" href="#2381">2381</a>         @Override
<a class="jxr_linenumber" name="2382" href="#2382">2382</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AccessControlEntryImpl.html">AccessControlEntryImpl</a> target)
<a class="jxr_linenumber" name="2383" href="#2383">2383</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2384" href="#2384">2384</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="2385" href="#2385">2385</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_ACE_PRINCIPAL)) {
<a class="jxr_linenumber" name="2386" href="#2386">2386</a>                     target.setPrincipal(PRINCIPAL_PARSER.walk(parser));
<a class="jxr_linenumber" name="2387" href="#2387">2387</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2388" href="#2388">2388</a>                 }
<a class="jxr_linenumber" name="2389" href="#2389">2389</a> 
<a class="jxr_linenumber" name="2390" href="#2390">2390</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_ACE_PERMISSIONS)) {
<a class="jxr_linenumber" name="2391" href="#2391">2391</a>                     target.setPermissions(addToList(target.getPermissions(), readText(parser)));
<a class="jxr_linenumber" name="2392" href="#2392">2392</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2393" href="#2393">2393</a>                 }
<a class="jxr_linenumber" name="2394" href="#2394">2394</a> 
<a class="jxr_linenumber" name="2395" href="#2395">2395</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_ACE_IS_DIRECT)) {
<a class="jxr_linenumber" name="2396" href="#2396">2396</a>                     target.setDirect(readBoolean(parser));
<a class="jxr_linenumber" name="2397" href="#2397">2397</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2398" href="#2398">2398</a>                 }
<a class="jxr_linenumber" name="2399" href="#2399">2399</a>             }
<a class="jxr_linenumber" name="2400" href="#2400">2400</a> 
<a class="jxr_linenumber" name="2401" href="#2401">2401</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2402" href="#2402">2402</a>         }
<a class="jxr_linenumber" name="2403" href="#2403">2403</a>     };
<a class="jxr_linenumber" name="2404" href="#2404">2404</a> 
<a class="jxr_linenumber" name="2405" href="#2405">2405</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;AccessControlPrincipalDataImpl&gt; PRINCIPAL_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;AccessControlPrincipalDataImpl&gt;() {
<a class="jxr_linenumber" name="2406" href="#2406">2406</a>         @Override
<a class="jxr_linenumber" name="2407" href="#2407">2407</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AccessControlPrincipalDataImpl.html">AccessControlPrincipalDataImpl</a> prepareTarget(XMLStreamReader parser, QName name)
<a class="jxr_linenumber" name="2408" href="#2408">2408</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2409" href="#2409">2409</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AccessControlPrincipalDataImpl.html">AccessControlPrincipalDataImpl</a>();
<a class="jxr_linenumber" name="2410" href="#2410">2410</a>         }
<a class="jxr_linenumber" name="2411" href="#2411">2411</a> 
<a class="jxr_linenumber" name="2412" href="#2412">2412</a>         @Override
<a class="jxr_linenumber" name="2413" href="#2413">2413</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/AccessControlPrincipalDataImpl.html">AccessControlPrincipalDataImpl</a> target)
<a class="jxr_linenumber" name="2414" href="#2414">2414</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2415" href="#2415">2415</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="2416" href="#2416">2416</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_ACE_PRINCIPAL_ID)) {
<a class="jxr_linenumber" name="2417" href="#2417">2417</a>                     target.setPrincipalId(readText(parser));
<a class="jxr_linenumber" name="2418" href="#2418">2418</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2419" href="#2419">2419</a>                 }
<a class="jxr_linenumber" name="2420" href="#2420">2420</a>             }
<a class="jxr_linenumber" name="2421" href="#2421">2421</a> 
<a class="jxr_linenumber" name="2422" href="#2422">2422</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2423" href="#2423">2423</a>         }
<a class="jxr_linenumber" name="2424" href="#2424">2424</a>     };
<a class="jxr_linenumber" name="2425" href="#2425">2425</a> 
<a class="jxr_linenumber" name="2426" href="#2426">2426</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;PolicyIdListImpl&gt; POLICY_IDS_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;PolicyIdListImpl&gt;() {
<a class="jxr_linenumber" name="2427" href="#2427">2427</a>         @Override
<a class="jxr_linenumber" name="2428" href="#2428">2428</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PolicyIdListImpl.html">PolicyIdListImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2429" href="#2429">2429</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PolicyIdListImpl.html">PolicyIdListImpl</a>();
<a class="jxr_linenumber" name="2430" href="#2430">2430</a>         }
<a class="jxr_linenumber" name="2431" href="#2431">2431</a> 
<a class="jxr_linenumber" name="2432" href="#2432">2432</a>         @Override
<a class="jxr_linenumber" name="2433" href="#2433">2433</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PolicyIdListImpl.html">PolicyIdListImpl</a> target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2434" href="#2434">2434</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="2435" href="#2435">2435</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_POLICY_ID)) {
<a class="jxr_linenumber" name="2436" href="#2436">2436</a>                     target.setPolicyIds(addToList(target.getPolicyIds(), readText(parser)));
<a class="jxr_linenumber" name="2437" href="#2437">2437</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2438" href="#2438">2438</a>                 }
<a class="jxr_linenumber" name="2439" href="#2439">2439</a>             }
<a class="jxr_linenumber" name="2440" href="#2440">2440</a> 
<a class="jxr_linenumber" name="2441" href="#2441">2441</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2442" href="#2442">2442</a>         }
<a class="jxr_linenumber" name="2443" href="#2443">2443</a>     };
<a class="jxr_linenumber" name="2444" href="#2444">2444</a> 
<a class="jxr_linenumber" name="2445" href="#2445">2445</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;RenditionDataImpl&gt; RENDITION_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;RenditionDataImpl&gt;() {
<a class="jxr_linenumber" name="2446" href="#2446">2446</a>         @Override
<a class="jxr_linenumber" name="2447" href="#2447">2447</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/RenditionDataImpl.html">RenditionDataImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2448" href="#2448">2448</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/RenditionDataImpl.html">RenditionDataImpl</a>();
<a class="jxr_linenumber" name="2449" href="#2449">2449</a>         }
<a class="jxr_linenumber" name="2450" href="#2450">2450</a> 
<a class="jxr_linenumber" name="2451" href="#2451">2451</a>         @Override
<a class="jxr_linenumber" name="2452" href="#2452">2452</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/RenditionDataImpl.html">RenditionDataImpl</a> target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2453" href="#2453">2453</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="2454" href="#2454">2454</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_RENDITION_STREAM_ID)) {
<a class="jxr_linenumber" name="2455" href="#2455">2455</a>                     target.setStreamId(readText(parser));
<a class="jxr_linenumber" name="2456" href="#2456">2456</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2457" href="#2457">2457</a>                 }
<a class="jxr_linenumber" name="2458" href="#2458">2458</a> 
<a class="jxr_linenumber" name="2459" href="#2459">2459</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_RENDITION_MIMETYPE)) {
<a class="jxr_linenumber" name="2460" href="#2460">2460</a>                     target.setMimeType(readText(parser));
<a class="jxr_linenumber" name="2461" href="#2461">2461</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2462" href="#2462">2462</a>                 }
<a class="jxr_linenumber" name="2463" href="#2463">2463</a> 
<a class="jxr_linenumber" name="2464" href="#2464">2464</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_RENDITION_LENGTH)) {
<a class="jxr_linenumber" name="2465" href="#2465">2465</a>                     target.setBigLength(readInteger(parser));
<a class="jxr_linenumber" name="2466" href="#2466">2466</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2467" href="#2467">2467</a>                 }
<a class="jxr_linenumber" name="2468" href="#2468">2468</a> 
<a class="jxr_linenumber" name="2469" href="#2469">2469</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_RENDITION_KIND)) {
<a class="jxr_linenumber" name="2470" href="#2470">2470</a>                     target.setKind(readText(parser));
<a class="jxr_linenumber" name="2471" href="#2471">2471</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2472" href="#2472">2472</a>                 }
<a class="jxr_linenumber" name="2473" href="#2473">2473</a> 
<a class="jxr_linenumber" name="2474" href="#2474">2474</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_RENDITION_TITLE)) {
<a class="jxr_linenumber" name="2475" href="#2475">2475</a>                     target.setTitle(readText(parser));
<a class="jxr_linenumber" name="2476" href="#2476">2476</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2477" href="#2477">2477</a>                 }
<a class="jxr_linenumber" name="2478" href="#2478">2478</a> 
<a class="jxr_linenumber" name="2479" href="#2479">2479</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_RENDITION_HEIGHT)) {
<a class="jxr_linenumber" name="2480" href="#2480">2480</a>                     target.setBigHeight(readInteger(parser));
<a class="jxr_linenumber" name="2481" href="#2481">2481</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2482" href="#2482">2482</a>                 }
<a class="jxr_linenumber" name="2483" href="#2483">2483</a> 
<a class="jxr_linenumber" name="2484" href="#2484">2484</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_RENDITION_WIDTH)) {
<a class="jxr_linenumber" name="2485" href="#2485">2485</a>                     target.setBigWidth(readInteger(parser));
<a class="jxr_linenumber" name="2486" href="#2486">2486</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2487" href="#2487">2487</a>                 }
<a class="jxr_linenumber" name="2488" href="#2488">2488</a> 
<a class="jxr_linenumber" name="2489" href="#2489">2489</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_RENDITION_DOCUMENT_ID)) {
<a class="jxr_linenumber" name="2490" href="#2490">2490</a>                     target.setRenditionDocumentId(readText(parser));
<a class="jxr_linenumber" name="2491" href="#2491">2491</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2492" href="#2492">2492</a>                 }
<a class="jxr_linenumber" name="2493" href="#2493">2493</a>             }
<a class="jxr_linenumber" name="2494" href="#2494">2494</a> 
<a class="jxr_linenumber" name="2495" href="#2495">2495</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2496" href="#2496">2496</a>         }
<a class="jxr_linenumber" name="2497" href="#2497">2497</a>     };
<a class="jxr_linenumber" name="2498" href="#2498">2498</a> 
<a class="jxr_linenumber" name="2499" href="#2499">2499</a>     <em class="jxr_comment">// ------------------------</em>
<a class="jxr_linenumber" name="2500" href="#2500">2500</a>     <em class="jxr_comment">// --- property parsers ---</em>
<a class="jxr_linenumber" name="2501" href="#2501">2501</a>     <em class="jxr_comment">// ------------------------</em>
<a class="jxr_linenumber" name="2502" href="#2502">2502</a> 
<a class="jxr_linenumber" name="2503" href="#2503">2503</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> PropertyXMLWalker&lt;PropertyStringImpl&gt; PROPERTY_STRING_PARSER = <strong class="jxr_keyword">new</strong> PropertyStringXMLWalker&lt;PropertyStringImpl&gt;() {
<a class="jxr_linenumber" name="2504" href="#2504">2504</a>         @Override
<a class="jxr_linenumber" name="2505" href="#2505">2505</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyStringImpl.html">PropertyStringImpl</a> createTarget(XMLStreamReader parser, QName name) {
<a class="jxr_linenumber" name="2506" href="#2506">2506</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyStringImpl.html">PropertyStringImpl</a>();
<a class="jxr_linenumber" name="2507" href="#2507">2507</a>         }
<a class="jxr_linenumber" name="2508" href="#2508">2508</a>     };
<a class="jxr_linenumber" name="2509" href="#2509">2509</a> 
<a class="jxr_linenumber" name="2510" href="#2510">2510</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> PropertyXMLWalker&lt;PropertyIdImpl&gt; PROPERTY_ID_PARSER = <strong class="jxr_keyword">new</strong> PropertyStringXMLWalker&lt;PropertyIdImpl&gt;() {
<a class="jxr_linenumber" name="2511" href="#2511">2511</a>         @Override
<a class="jxr_linenumber" name="2512" href="#2512">2512</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIdImpl.html">PropertyIdImpl</a> createTarget(XMLStreamReader parser, QName name) {
<a class="jxr_linenumber" name="2513" href="#2513">2513</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIdImpl.html">PropertyIdImpl</a>();
<a class="jxr_linenumber" name="2514" href="#2514">2514</a>         }
<a class="jxr_linenumber" name="2515" href="#2515">2515</a>     };
<a class="jxr_linenumber" name="2516" href="#2516">2516</a> 
<a class="jxr_linenumber" name="2517" href="#2517">2517</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> PropertyXMLWalker&lt;PropertyHtmlImpl&gt; PROPERTY_HTML_PARSER = <strong class="jxr_keyword">new</strong> PropertyStringXMLWalker&lt;PropertyHtmlImpl&gt;() {
<a class="jxr_linenumber" name="2518" href="#2518">2518</a>         @Override
<a class="jxr_linenumber" name="2519" href="#2519">2519</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyHtmlImpl.html">PropertyHtmlImpl</a> createTarget(XMLStreamReader parser, QName name) {
<a class="jxr_linenumber" name="2520" href="#2520">2520</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyHtmlImpl.html">PropertyHtmlImpl</a>();
<a class="jxr_linenumber" name="2521" href="#2521">2521</a>         }
<a class="jxr_linenumber" name="2522" href="#2522">2522</a>     };
<a class="jxr_linenumber" name="2523" href="#2523">2523</a> 
<a class="jxr_linenumber" name="2524" href="#2524">2524</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> PropertyXMLWalker&lt;PropertyUriImpl&gt; PROPERTY_URI_PARSER = <strong class="jxr_keyword">new</strong> PropertyStringXMLWalker&lt;PropertyUriImpl&gt;() {
<a class="jxr_linenumber" name="2525" href="#2525">2525</a>         @Override
<a class="jxr_linenumber" name="2526" href="#2526">2526</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyUriImpl.html">PropertyUriImpl</a> createTarget(XMLStreamReader parser, QName name) {
<a class="jxr_linenumber" name="2527" href="#2527">2527</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyUriImpl.html">PropertyUriImpl</a>();
<a class="jxr_linenumber" name="2528" href="#2528">2528</a>         }
<a class="jxr_linenumber" name="2529" href="#2529">2529</a>     };
<a class="jxr_linenumber" name="2530" href="#2530">2530</a> 
<a class="jxr_linenumber" name="2531" href="#2531">2531</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> PropertyXMLWalker&lt;PropertyBooleanImpl&gt; PROPERTY_BOOLEAN_PARSER = <strong class="jxr_keyword">new</strong> PropertyXMLWalker&lt;PropertyBooleanImpl&gt;() {
<a class="jxr_linenumber" name="2532" href="#2532">2532</a>         @Override
<a class="jxr_linenumber" name="2533" href="#2533">2533</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyBooleanImpl.html">PropertyBooleanImpl</a> createTarget(XMLStreamReader parser, QName name) {
<a class="jxr_linenumber" name="2534" href="#2534">2534</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyBooleanImpl.html">PropertyBooleanImpl</a>();
<a class="jxr_linenumber" name="2535" href="#2535">2535</a>         }
<a class="jxr_linenumber" name="2536" href="#2536">2536</a> 
<a class="jxr_linenumber" name="2537" href="#2537">2537</a>         @Override
<a class="jxr_linenumber" name="2538" href="#2538">2538</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addValue(XMLStreamReader parser, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyBooleanImpl.html">PropertyBooleanImpl</a> target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2539" href="#2539">2539</a>             target.setValues(addToList(target.getValues(), readBoolean(parser)));
<a class="jxr_linenumber" name="2540" href="#2540">2540</a>         }
<a class="jxr_linenumber" name="2541" href="#2541">2541</a>     };
<a class="jxr_linenumber" name="2542" href="#2542">2542</a> 
<a class="jxr_linenumber" name="2543" href="#2543">2543</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> PropertyXMLWalker&lt;PropertyIntegerImpl&gt; PROPERTY_INTEGER_PARSER = <strong class="jxr_keyword">new</strong> PropertyXMLWalker&lt;PropertyIntegerImpl&gt;() {
<a class="jxr_linenumber" name="2544" href="#2544">2544</a>         @Override
<a class="jxr_linenumber" name="2545" href="#2545">2545</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIntegerImpl.html">PropertyIntegerImpl</a> createTarget(XMLStreamReader parser, QName name) {
<a class="jxr_linenumber" name="2546" href="#2546">2546</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIntegerImpl.html">PropertyIntegerImpl</a>();
<a class="jxr_linenumber" name="2547" href="#2547">2547</a>         }
<a class="jxr_linenumber" name="2548" href="#2548">2548</a> 
<a class="jxr_linenumber" name="2549" href="#2549">2549</a>         @Override
<a class="jxr_linenumber" name="2550" href="#2550">2550</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addValue(XMLStreamReader parser, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyIntegerImpl.html">PropertyIntegerImpl</a> target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2551" href="#2551">2551</a>             target.setValues(addToList(target.getValues(), readInteger(parser)));
<a class="jxr_linenumber" name="2552" href="#2552">2552</a>         }
<a class="jxr_linenumber" name="2553" href="#2553">2553</a>     };
<a class="jxr_linenumber" name="2554" href="#2554">2554</a> 
<a class="jxr_linenumber" name="2555" href="#2555">2555</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> PropertyXMLWalker&lt;PropertyDecimalImpl&gt; PROPERTY_DECIMAL_PARSER = <strong class="jxr_keyword">new</strong> PropertyXMLWalker&lt;PropertyDecimalImpl&gt;() {
<a class="jxr_linenumber" name="2556" href="#2556">2556</a>         @Override
<a class="jxr_linenumber" name="2557" href="#2557">2557</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDecimalImpl.html">PropertyDecimalImpl</a> createTarget(XMLStreamReader parser, QName name) {
<a class="jxr_linenumber" name="2558" href="#2558">2558</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDecimalImpl.html">PropertyDecimalImpl</a>();
<a class="jxr_linenumber" name="2559" href="#2559">2559</a>         }
<a class="jxr_linenumber" name="2560" href="#2560">2560</a> 
<a class="jxr_linenumber" name="2561" href="#2561">2561</a>         @Override
<a class="jxr_linenumber" name="2562" href="#2562">2562</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addValue(XMLStreamReader parser, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDecimalImpl.html">PropertyDecimalImpl</a> target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2563" href="#2563">2563</a>             target.setValues(addToList(target.getValues(), readDecimal(parser)));
<a class="jxr_linenumber" name="2564" href="#2564">2564</a>         }
<a class="jxr_linenumber" name="2565" href="#2565">2565</a>     };
<a class="jxr_linenumber" name="2566" href="#2566">2566</a> 
<a class="jxr_linenumber" name="2567" href="#2567">2567</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> PropertyXMLWalker&lt;PropertyDateTimeImpl&gt; PROPERTY_DATETIME_PARSER = <strong class="jxr_keyword">new</strong> PropertyXMLWalker&lt;PropertyDateTimeImpl&gt;() {
<a class="jxr_linenumber" name="2568" href="#2568">2568</a>         @Override
<a class="jxr_linenumber" name="2569" href="#2569">2569</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDateTimeImpl.html">PropertyDateTimeImpl</a> createTarget(XMLStreamReader parser, QName name) {
<a class="jxr_linenumber" name="2570" href="#2570">2570</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDateTimeImpl.html">PropertyDateTimeImpl</a>();
<a class="jxr_linenumber" name="2571" href="#2571">2571</a>         }
<a class="jxr_linenumber" name="2572" href="#2572">2572</a> 
<a class="jxr_linenumber" name="2573" href="#2573">2573</a>         @Override
<a class="jxr_linenumber" name="2574" href="#2574">2574</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addValue(XMLStreamReader parser, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/PropertyDateTimeImpl.html">PropertyDateTimeImpl</a> target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2575" href="#2575">2575</a>             target.setValues(addToList(target.getValues(), readDateTime(parser)));
<a class="jxr_linenumber" name="2576" href="#2576">2576</a>         }
<a class="jxr_linenumber" name="2577" href="#2577">2577</a>     };
<a class="jxr_linenumber" name="2578" href="#2578">2578</a> 
<a class="jxr_linenumber" name="2579" href="#2579">2579</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> PropertyXMLWalker&lt;T <strong class="jxr_keyword">extends</strong> AbstractPropertyData&lt;?&gt;&gt; <strong class="jxr_keyword">extends</strong> XMLWalker&lt;T&gt; {
<a class="jxr_linenumber" name="2580" href="#2580">2580</a> 
<a class="jxr_linenumber" name="2581" href="#2581">2581</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> T createTarget(XMLStreamReader parser, QName name);
<a class="jxr_linenumber" name="2582" href="#2582">2582</a> 
<a class="jxr_linenumber" name="2583" href="#2583">2583</a>         @Override
<a class="jxr_linenumber" name="2584" href="#2584">2584</a>         <strong class="jxr_keyword">protected</strong> T prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2585" href="#2585">2585</a>             T result = createTarget(parser, name);
<a class="jxr_linenumber" name="2586" href="#2586">2586</a> 
<a class="jxr_linenumber" name="2587" href="#2587">2587</a>             <strong class="jxr_keyword">if</strong> (parser.getAttributeCount() &gt; 0) {
<a class="jxr_linenumber" name="2588" href="#2588">2588</a>                 <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; parser.getAttributeCount(); i++) {
<a class="jxr_linenumber" name="2589" href="#2589">2589</a>                     String attr = parser.getAttributeLocalName(i);
<a class="jxr_linenumber" name="2590" href="#2590">2590</a>                     <strong class="jxr_keyword">if</strong> (ATTR_PROPERTY_ID.equals(attr)) {
<a class="jxr_linenumber" name="2591" href="#2591">2591</a>                         result.setId(parser.getAttributeValue(i));
<a class="jxr_linenumber" name="2592" href="#2592">2592</a>                     } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (ATTR_PROPERTY_LOCALNAME.equals(attr)) {
<a class="jxr_linenumber" name="2593" href="#2593">2593</a>                         result.setLocalName(parser.getAttributeValue(i));
<a class="jxr_linenumber" name="2594" href="#2594">2594</a>                     } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (ATTR_PROPERTY_DISPLAYNAME.equals(attr)) {
<a class="jxr_linenumber" name="2595" href="#2595">2595</a>                         result.setDisplayName(parser.getAttributeValue(i));
<a class="jxr_linenumber" name="2596" href="#2596">2596</a>                     } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (ATTR_PROPERTY_QUERYNAME.equals(attr)) {
<a class="jxr_linenumber" name="2597" href="#2597">2597</a>                         result.setQueryName(parser.getAttributeValue(i));
<a class="jxr_linenumber" name="2598" href="#2598">2598</a>                     }
<a class="jxr_linenumber" name="2599" href="#2599">2599</a>                 }
<a class="jxr_linenumber" name="2600" href="#2600">2600</a>             }
<a class="jxr_linenumber" name="2601" href="#2601">2601</a> 
<a class="jxr_linenumber" name="2602" href="#2602">2602</a>             <strong class="jxr_keyword">return</strong> result;
<a class="jxr_linenumber" name="2603" href="#2603">2603</a>         }
<a class="jxr_linenumber" name="2604" href="#2604">2604</a> 
<a class="jxr_linenumber" name="2605" href="#2605">2605</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> addValue(XMLStreamReader parser, T target) <strong class="jxr_keyword">throws</strong> XMLStreamException;
<a class="jxr_linenumber" name="2606" href="#2606">2606</a> 
<a class="jxr_linenumber" name="2607" href="#2607">2607</a>         @Override
<a class="jxr_linenumber" name="2608" href="#2608">2608</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, T target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2609" href="#2609">2609</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="2610" href="#2610">2610</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_PROPERTY_VALUE)) {
<a class="jxr_linenumber" name="2611" href="#2611">2611</a>                     addValue(parser, target);
<a class="jxr_linenumber" name="2612" href="#2612">2612</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2613" href="#2613">2613</a>                 }
<a class="jxr_linenumber" name="2614" href="#2614">2614</a>             }
<a class="jxr_linenumber" name="2615" href="#2615">2615</a> 
<a class="jxr_linenumber" name="2616" href="#2616">2616</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2617" href="#2617">2617</a>         }
<a class="jxr_linenumber" name="2618" href="#2618">2618</a> 
<a class="jxr_linenumber" name="2619" href="#2619">2619</a>     };
<a class="jxr_linenumber" name="2620" href="#2620">2620</a> 
<a class="jxr_linenumber" name="2621" href="#2621">2621</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> PropertyStringXMLWalker&lt;T <strong class="jxr_keyword">extends</strong> AbstractPropertyData&lt;String&gt;&gt; <strong class="jxr_keyword">extends</strong>
<a class="jxr_linenumber" name="2622" href="#2622">2622</a>             PropertyXMLWalker&lt;T&gt; {
<a class="jxr_linenumber" name="2623" href="#2623">2623</a>         @Override
<a class="jxr_linenumber" name="2624" href="#2624">2624</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> addValue(XMLStreamReader parser, T target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2625" href="#2625">2625</a>             target.setValues(addToList(target.getValues(), readText(parser)));
<a class="jxr_linenumber" name="2626" href="#2626">2626</a>         }
<a class="jxr_linenumber" name="2627" href="#2627">2627</a>     }
<a class="jxr_linenumber" name="2628" href="#2628">2628</a> 
<a class="jxr_linenumber" name="2629" href="#2629">2629</a>     <em class="jxr_comment">// --------------------</em>
<a class="jxr_linenumber" name="2630" href="#2630">2630</a>     <em class="jxr_comment">// --- query parser ---</em>
<a class="jxr_linenumber" name="2631" href="#2631">2631</a>     <em class="jxr_comment">// --------------------</em>
<a class="jxr_linenumber" name="2632" href="#2632">2632</a> 
<a class="jxr_linenumber" name="2633" href="#2633">2633</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;QueryTypeImpl&gt; QUERY_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;QueryTypeImpl&gt;() {
<a class="jxr_linenumber" name="2634" href="#2634">2634</a>         @Override
<a class="jxr_linenumber" name="2635" href="#2635">2635</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/QueryTypeImpl.html">QueryTypeImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2636" href="#2636">2636</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/QueryTypeImpl.html">QueryTypeImpl</a>();
<a class="jxr_linenumber" name="2637" href="#2637">2637</a>         }
<a class="jxr_linenumber" name="2638" href="#2638">2638</a> 
<a class="jxr_linenumber" name="2639" href="#2639">2639</a>         @Override
<a class="jxr_linenumber" name="2640" href="#2640">2640</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/QueryTypeImpl.html">QueryTypeImpl</a> target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2641" href="#2641">2641</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="2642" href="#2642">2642</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_QUERY_STATEMENT)) {
<a class="jxr_linenumber" name="2643" href="#2643">2643</a>                     target.setStatement(readText(parser));
<a class="jxr_linenumber" name="2644" href="#2644">2644</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2645" href="#2645">2645</a>                 }
<a class="jxr_linenumber" name="2646" href="#2646">2646</a> 
<a class="jxr_linenumber" name="2647" href="#2647">2647</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_QUERY_SEARCHALLVERSIONS)) {
<a class="jxr_linenumber" name="2648" href="#2648">2648</a>                     target.setSearchAllVersions(readBoolean(parser));
<a class="jxr_linenumber" name="2649" href="#2649">2649</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2650" href="#2650">2650</a>                 }
<a class="jxr_linenumber" name="2651" href="#2651">2651</a> 
<a class="jxr_linenumber" name="2652" href="#2652">2652</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_QUERY_INCLUDEALLOWABLEACTIONS)) {
<a class="jxr_linenumber" name="2653" href="#2653">2653</a>                     target.setIncludeAllowableActions(readBoolean(parser));
<a class="jxr_linenumber" name="2654" href="#2654">2654</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2655" href="#2655">2655</a>                 }
<a class="jxr_linenumber" name="2656" href="#2656">2656</a> 
<a class="jxr_linenumber" name="2657" href="#2657">2657</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_QUERY_INCLUDERELATIONSHIPS)) {
<a class="jxr_linenumber" name="2658" href="#2658">2658</a>                     target.setIncludeRelationships(readEnum(parser, IncludeRelationships.<strong class="jxr_keyword">class</strong>));
<a class="jxr_linenumber" name="2659" href="#2659">2659</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2660" href="#2660">2660</a>                 }
<a class="jxr_linenumber" name="2661" href="#2661">2661</a> 
<a class="jxr_linenumber" name="2662" href="#2662">2662</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_QUERY_RENDITIONFILTER)) {
<a class="jxr_linenumber" name="2663" href="#2663">2663</a>                     target.setRenditionFilter(readText(parser));
<a class="jxr_linenumber" name="2664" href="#2664">2664</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2665" href="#2665">2665</a>                 }
<a class="jxr_linenumber" name="2666" href="#2666">2666</a> 
<a class="jxr_linenumber" name="2667" href="#2667">2667</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_QUERY_MAXITEMS)) {
<a class="jxr_linenumber" name="2668" href="#2668">2668</a>                     target.setMaxItems(readInteger(parser));
<a class="jxr_linenumber" name="2669" href="#2669">2669</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2670" href="#2670">2670</a>                 }
<a class="jxr_linenumber" name="2671" href="#2671">2671</a> 
<a class="jxr_linenumber" name="2672" href="#2672">2672</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_QUERY_SKIPCOUNT)) {
<a class="jxr_linenumber" name="2673" href="#2673">2673</a>                     target.setSkipCount(readInteger(parser));
<a class="jxr_linenumber" name="2674" href="#2674">2674</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2675" href="#2675">2675</a>                 }
<a class="jxr_linenumber" name="2676" href="#2676">2676</a>             }
<a class="jxr_linenumber" name="2677" href="#2677">2677</a> 
<a class="jxr_linenumber" name="2678" href="#2678">2678</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2679" href="#2679">2679</a>         }
<a class="jxr_linenumber" name="2680" href="#2680">2680</a>     };
<a class="jxr_linenumber" name="2681" href="#2681">2681</a> 
<a class="jxr_linenumber" name="2682" href="#2682">2682</a>     <em class="jxr_comment">// --------------------------</em>
<a class="jxr_linenumber" name="2683" href="#2683">2683</a>     <em class="jxr_comment">// --- bulk update parser ---</em>
<a class="jxr_linenumber" name="2684" href="#2684">2684</a>     <em class="jxr_comment">// --------------------------</em>
<a class="jxr_linenumber" name="2685" href="#2685">2685</a> 
<a class="jxr_linenumber" name="2686" href="#2686">2686</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;BulkUpdateImpl&gt; BULK_UPDATE_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;BulkUpdateImpl&gt;() {
<a class="jxr_linenumber" name="2687" href="#2687">2687</a>         @Override
<a class="jxr_linenumber" name="2688" href="#2688">2688</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/BulkUpdateImpl.html">BulkUpdateImpl</a> prepareTarget(XMLStreamReader parser, QName name) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2689" href="#2689">2689</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/BulkUpdateImpl.html">BulkUpdateImpl</a>();
<a class="jxr_linenumber" name="2690" href="#2690">2690</a>         }
<a class="jxr_linenumber" name="2691" href="#2691">2691</a> 
<a class="jxr_linenumber" name="2692" href="#2692">2692</a>         @Override
<a class="jxr_linenumber" name="2693" href="#2693">2693</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/BulkUpdateImpl.html">BulkUpdateImpl</a> target) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2694" href="#2694">2694</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="2695" href="#2695">2695</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_BULK_UPDATE_ID_AND_TOKEN)) {
<a class="jxr_linenumber" name="2696" href="#2696">2696</a>                     target.setObjectIdAndChangeToken(addToList(target.getObjectIdAndChangeToken(),
<a class="jxr_linenumber" name="2697" href="#2697">2697</a>                             ID_AND_TOKEN_PARSER.walk(parser)));
<a class="jxr_linenumber" name="2698" href="#2698">2698</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2699" href="#2699">2699</a>                 }
<a class="jxr_linenumber" name="2700" href="#2700">2700</a> 
<a class="jxr_linenumber" name="2701" href="#2701">2701</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_BULK_UPDATE_PROPERTIES)) {
<a class="jxr_linenumber" name="2702" href="#2702">2702</a>                     target.setProperties(PROPERTIES_PARSER.walk(parser));
<a class="jxr_linenumber" name="2703" href="#2703">2703</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2704" href="#2704">2704</a>                 }
<a class="jxr_linenumber" name="2705" href="#2705">2705</a> 
<a class="jxr_linenumber" name="2706" href="#2706">2706</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_BULK_UPDATE_ADD_SECONDARY_TYPES)) {
<a class="jxr_linenumber" name="2707" href="#2707">2707</a>                     target.setAddSecondaryTypeIds(addToList(target.getAddSecondaryTypeIds(), readText(parser)));
<a class="jxr_linenumber" name="2708" href="#2708">2708</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2709" href="#2709">2709</a>                 }
<a class="jxr_linenumber" name="2710" href="#2710">2710</a> 
<a class="jxr_linenumber" name="2711" href="#2711">2711</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_BULK_UPDATE_REMOVE_SECONDARY_TYPES)) {
<a class="jxr_linenumber" name="2712" href="#2712">2712</a>                     target.setRemoveSecondaryTypeIds(addToList(target.getRemoveSecondaryTypeIds(), readText(parser)));
<a class="jxr_linenumber" name="2713" href="#2713">2713</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2714" href="#2714">2714</a>                 }
<a class="jxr_linenumber" name="2715" href="#2715">2715</a>             }
<a class="jxr_linenumber" name="2716" href="#2716">2716</a> 
<a class="jxr_linenumber" name="2717" href="#2717">2717</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2718" href="#2718">2718</a>         }
<a class="jxr_linenumber" name="2719" href="#2719">2719</a>     };
<a class="jxr_linenumber" name="2720" href="#2720">2720</a> 
<a class="jxr_linenumber" name="2721" href="#2721">2721</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> XMLWalker&lt;BulkUpdateObjectIdAndChangeTokenImpl&gt; ID_AND_TOKEN_PARSER = <strong class="jxr_keyword">new</strong> XMLWalker&lt;BulkUpdateObjectIdAndChangeTokenImpl&gt;() {
<a class="jxr_linenumber" name="2722" href="#2722">2722</a>         @Override
<a class="jxr_linenumber" name="2723" href="#2723">2723</a>         <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/BulkUpdateObjectIdAndChangeTokenImpl.html">BulkUpdateObjectIdAndChangeTokenImpl</a> prepareTarget(XMLStreamReader parser, QName name)
<a class="jxr_linenumber" name="2724" href="#2724">2724</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2725" href="#2725">2725</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/BulkUpdateObjectIdAndChangeTokenImpl.html">BulkUpdateObjectIdAndChangeTokenImpl</a>();
<a class="jxr_linenumber" name="2726" href="#2726">2726</a>         }
<a class="jxr_linenumber" name="2727" href="#2727">2727</a> 
<a class="jxr_linenumber" name="2728" href="#2728">2728</a>         @Override
<a class="jxr_linenumber" name="2729" href="#2729">2729</a>         <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> read(XMLStreamReader parser, QName name, <a href="../../../../../../org/apache/chemistry/opencmis/commons/impl/dataobjects/BulkUpdateObjectIdAndChangeTokenImpl.html">BulkUpdateObjectIdAndChangeTokenImpl</a> target)
<a class="jxr_linenumber" name="2730" href="#2730">2730</a>                 <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a class="jxr_linenumber" name="2731" href="#2731">2731</a>             <strong class="jxr_keyword">if</strong> (isCmisNamespace(name)) {
<a class="jxr_linenumber" name="2732" href="#2732">2732</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_IDANDTOKEN_ID)) {
<a class="jxr_linenumber" name="2733" href="#2733">2733</a>                     target.setId(readText(parser));
<a class="jxr_linenumber" name="2734" href="#2734">2734</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2735" href="#2735">2735</a>                 }
<a class="jxr_linenumber" name="2736" href="#2736">2736</a> 
<a class="jxr_linenumber" name="2737" href="#2737">2737</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_IDANDTOKEN_NEWID)) {
<a class="jxr_linenumber" name="2738" href="#2738">2738</a>                     target.setNewId(readText(parser));
<a class="jxr_linenumber" name="2739" href="#2739">2739</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2740" href="#2740">2740</a>                 }
<a class="jxr_linenumber" name="2741" href="#2741">2741</a> 
<a class="jxr_linenumber" name="2742" href="#2742">2742</a>                 <strong class="jxr_keyword">if</strong> (isTag(name, TAG_IDANDTOKEN_CHANGETOKEN)) {
<a class="jxr_linenumber" name="2743" href="#2743">2743</a>                     target.setChangeToken(readText(parser));
<a class="jxr_linenumber" name="2744" href="#2744">2744</a>                     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="2745" href="#2745">2745</a>                 }
<a class="jxr_linenumber" name="2746" href="#2746">2746</a>             }
<a class="jxr_linenumber" name="2747" href="#2747">2747</a> 
<a class="jxr_linenumber" name="2748" href="#2748">2748</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2749" href="#2749">2749</a>         }
<a class="jxr_linenumber" name="2750" href="#2750">2750</a>     };
<a class="jxr_linenumber" name="2751" href="#2751">2751</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

