<!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=ISO-8859-1" />
<title>DocumentTypeCreationHelper xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" />
</head>
<body>
<pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a 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 name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> * under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> */</em>
<a name="19" href="#19">19</a>  
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.chemistry.opencmis.inmemory.types;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.LinkedList;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.PropertyIds;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.Cardinality;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.Updatability;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyBooleanDefinitionImpl;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyDateTimeDefinitionImpl;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyIdDefinitionImpl;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyIntegerDefinitionImpl;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyStringDefinitionImpl;
<a name="36" href="#36">36</a>  
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/chemistry/opencmis/inmemory/types/DocumentTypeCreationHelper.html">DocumentTypeCreationHelper</a> {
<a name="38" href="#38">38</a>  
<a name="39" href="#39">39</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> List&lt;TypeDefinition&gt; defaultTypes = createCmisDefaultTypes();
<a name="40" href="#40">40</a>  
<a name="41" href="#41">41</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/chemistry/opencmis/inmemory/types/DocumentTypeCreationHelper.html">DocumentTypeCreationHelper</a>() {
<a name="42" href="#42">42</a>      }
<a name="43" href="#43">43</a>  
<a name="44" href="#44">44</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> List&lt;TypeDefinition&gt; createMapWithDefaultTypes() {
<a name="45" href="#45">45</a>          List&lt;TypeDefinition&gt; typesList = <strong class="jxr_keyword">new</strong> LinkedList&lt;TypeDefinition&gt;();
<a name="46" href="#46">46</a>          typesList.addAll(defaultTypes);
<a name="47" href="#47">47</a>          <strong class="jxr_keyword">return</strong> typesList;
<a name="48" href="#48">48</a>      }
<a name="49" href="#49">49</a>  
<a name="50" href="#50">50</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> List&lt;TypeDefinition&gt; getDefaultTypes() {
<a name="51" href="#51">51</a>          <strong class="jxr_keyword">return</strong> defaultTypes;
<a name="52" href="#52">52</a>      }
<a name="53" href="#53">53</a>  
<a name="54" href="#54">54</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> List&lt;TypeDefinition&gt; createCmisDefaultTypes() {
<a name="55" href="#55">55</a>          List&lt;TypeDefinition&gt; typesList = <strong class="jxr_keyword">new</strong> LinkedList&lt;TypeDefinition&gt;();
<a name="56" href="#56">56</a>  
<a name="57" href="#57">57</a>          <em class="jxr_comment">// create root types:</em>
<a name="58" href="#58">58</a>          TypeDefinition cmisType = InMemoryDocumentTypeDefinition.getRootDocumentType();
<a name="59" href="#59">59</a>          typesList.add(cmisType);
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>          cmisType = InMemoryFolderTypeDefinition.getRootFolderType();
<a name="62" href="#62">62</a>          typesList.add(cmisType);
<a name="63" href="#63">63</a>  
<a name="64" href="#64">64</a>          <em class="jxr_comment">// cmisType = RelationshipTypeDefinition.getRootRelationshipType();</em>
<a name="65" href="#65">65</a>          <em class="jxr_comment">// typesList.add(cmisType);</em>
<a name="66" href="#66">66</a>          <em class="jxr_comment">//</em>
<a name="67" href="#67">67</a>          <em class="jxr_comment">// cmisType = PolicyTypeDefinition.getRootPolicyType();</em>
<a name="68" href="#68">68</a>          <em class="jxr_comment">// typesList.add(cmisType);</em>
<a name="69" href="#69">69</a>  
<a name="70" href="#70">70</a>          <strong class="jxr_keyword">return</strong> typesList;
<a name="71" href="#71">71</a>      }
<a name="72" href="#72">72</a>  
<a name="73" href="#73">73</a>      <em class="jxr_javadoccomment">/**</em>
<a name="74" href="#74">74</a>  <em class="jxr_javadoccomment">     * create root types and a collection of sample types</em>
<a name="75" href="#75">75</a>  <em class="jxr_javadoccomment">     *</em>
<a name="76" href="#76">76</a>  <em class="jxr_javadoccomment">     * @return typesMap map filled with created types</em>
<a name="77" href="#77">77</a>  <em class="jxr_javadoccomment">     */</em>
<a name="78" href="#78">78</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> List&lt;TypeDefinition&gt; createDefaultTypes() {
<a name="79" href="#79">79</a>          List&lt;TypeDefinition&gt; typesList = createCmisDefaultTypes();
<a name="80" href="#80">80</a>  
<a name="81" href="#81">81</a>          <strong class="jxr_keyword">return</strong> typesList;
<a name="82" href="#82">82</a>      }
<a name="83" href="#83">83</a>  
<a name="84" href="#84">84</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> setBasicPropertyDefinitions(Map&lt;String, PropertyDefinition&lt;?&gt;&gt; propertyDefinitions) {
<a name="85" href="#85">85</a>  
<a name="86" href="#86">86</a>          PropertyStringDefinitionImpl propS = PropertyCreationHelper.createStringDefinition(PropertyIds.NAME,
<a name="87" href="#87">87</a>                  <span class="jxr_string">"Name"</span>, Updatability.READWRITE);
<a name="88" href="#88">88</a>          propS.setIsRequired(<strong class="jxr_keyword">true</strong>);
<a name="89" href="#89">89</a>          propertyDefinitions.put(propS.getId(), propS);
<a name="90" href="#90">90</a>  
<a name="91" href="#91">91</a>          PropertyIdDefinitionImpl propId = PropertyCreationHelper.createIdDefinition(PropertyIds.OBJECT_ID,
<a name="92" href="#92">92</a>                  <span class="jxr_string">"Object Id"</span>, Updatability.READONLY);
<a name="93" href="#93">93</a>          propertyDefinitions.put(propId.getId(), propId);
<a name="94" href="#94">94</a>  
<a name="95" href="#95">95</a>          propId = PropertyCreationHelper.createIdDefinition(PropertyIds.OBJECT_TYPE_ID, <span class="jxr_string">"Type-Id"</span>, Updatability.ONCREATE);
<a name="96" href="#96">96</a>          propId.setIsRequired(<strong class="jxr_keyword">true</strong>);
<a name="97" href="#97">97</a>          propertyDefinitions.put(propId.getId(), propId);
<a name="98" href="#98">98</a>  
<a name="99" href="#99">99</a>          propId = PropertyCreationHelper.createIdDefinition(PropertyIds.BASE_TYPE_ID, <span class="jxr_string">"Base-Type-Id"</span>, Updatability.READONLY);
<a name="100" href="#100">100</a>         propertyDefinitions.put(propId.getId(), propId);
<a name="101" href="#101">101</a> 
<a name="102" href="#102">102</a>         propS = PropertyCreationHelper.createStringDefinition(PropertyIds.CREATED_BY, <span class="jxr_string">"Created By"</span>, Updatability.READONLY);
<a name="103" href="#103">103</a>         propertyDefinitions.put(propS.getId(), propS);
<a name="104" href="#104">104</a> 
<a name="105" href="#105">105</a>         PropertyDateTimeDefinitionImpl propD = PropertyCreationHelper.createDateTimeDefinition(
<a name="106" href="#106">106</a>                 PropertyIds.CREATION_DATE, <span class="jxr_string">"Creation Date"</span>, Updatability.READONLY);
<a name="107" href="#107">107</a>         propertyDefinitions.put(propD.getId(), propD);
<a name="108" href="#108">108</a> 
<a name="109" href="#109">109</a>         propS = PropertyCreationHelper.createStringDefinition(PropertyIds.LAST_MODIFIED_BY,
<a name="110" href="#110">110</a>                 <span class="jxr_string">"Modified By"</span>, Updatability.READONLY);
<a name="111" href="#111">111</a>         propertyDefinitions.put(propS.getId(), propS);
<a name="112" href="#112">112</a> 
<a name="113" href="#113">113</a>         propD = PropertyCreationHelper.createDateTimeDefinition(PropertyIds.LAST_MODIFICATION_DATE,
<a name="114" href="#114">114</a>                 <span class="jxr_string">"Modification Date"</span>, Updatability.READONLY);
<a name="115" href="#115">115</a>         propertyDefinitions.put(propD.getId(), propD);
<a name="116" href="#116">116</a> 
<a name="117" href="#117">117</a>         propS = PropertyCreationHelper.createStringDefinition(PropertyIds.CHANGE_TOKEN, <span class="jxr_string">"Change Token"</span>, Updatability.READONLY);
<a name="118" href="#118">118</a>         propertyDefinitions.put(propS.getId(), propS);
<a name="119" href="#119">119</a>     }
<a name="120" href="#120">120</a> 
<a name="121" href="#121">121</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> setBasicDocumentPropertyDefinitions(Map&lt;String, PropertyDefinition&lt;?&gt;&gt; propertyDefinitions) {
<a name="122" href="#122">122</a> 
<a name="123" href="#123">123</a>         setBasicPropertyDefinitions(propertyDefinitions);
<a name="124" href="#124">124</a>         PropertyBooleanDefinitionImpl propB = PropertyCreationHelper.createBooleanDefinition(PropertyIds.IS_IMMUTABLE,
<a name="125" href="#125">125</a>                 <span class="jxr_string">"Immutable"</span>, Updatability.READONLY);
<a name="126" href="#126">126</a>         propertyDefinitions.put(propB.getId(), propB);
<a name="127" href="#127">127</a> 
<a name="128" href="#128">128</a>         propB = PropertyCreationHelper.createBooleanDefinition(PropertyIds.IS_LATEST_VERSION,
<a name="129" href="#129">129</a>                 <span class="jxr_string">"Is Latest Version"</span>, Updatability.READONLY);
<a name="130" href="#130">130</a>         propertyDefinitions.put(propB.getId(), propB);
<a name="131" href="#131">131</a> 
<a name="132" href="#132">132</a>         propB = PropertyCreationHelper.createBooleanDefinition(PropertyIds.IS_MAJOR_VERSION,
<a name="133" href="#133">133</a>                 <span class="jxr_string">"Is Major Version"</span>, Updatability.READONLY);
<a name="134" href="#134">134</a>         propertyDefinitions.put(propB.getId(), propB);
<a name="135" href="#135">135</a> 
<a name="136" href="#136">136</a>         propB = PropertyCreationHelper.createBooleanDefinition(PropertyIds.IS_LATEST_MAJOR_VERSION,
<a name="137" href="#137">137</a>                 <span class="jxr_string">"Is Latest Major Version"</span>, Updatability.READONLY);
<a name="138" href="#138">138</a>         propertyDefinitions.put(propB.getId(), propB);
<a name="139" href="#139">139</a> 
<a name="140" href="#140">140</a>         PropertyStringDefinitionImpl propS = PropertyCreationHelper.createStringDefinition(PropertyIds.VERSION_LABEL,
<a name="141" href="#141">141</a>                 <span class="jxr_string">"Version Label"</span>, Updatability.READONLY);
<a name="142" href="#142">142</a>         propertyDefinitions.put(propS.getId(), propS);
<a name="143" href="#143">143</a> 
<a name="144" href="#144">144</a>         PropertyIdDefinitionImpl propId = PropertyCreationHelper.createIdDefinition(PropertyIds.VERSION_SERIES_ID,
<a name="145" href="#145">145</a>                 <span class="jxr_string">"Version Series Id"</span>, Updatability.READONLY);
<a name="146" href="#146">146</a>         propertyDefinitions.put(propId.getId(), propId);
<a name="147" href="#147">147</a> 
<a name="148" href="#148">148</a>         propB = PropertyCreationHelper.createBooleanDefinition(PropertyIds.IS_VERSION_SERIES_CHECKED_OUT,
<a name="149" href="#149">149</a>                 <span class="jxr_string">"Checked Out"</span>, Updatability.READONLY);
<a name="150" href="#150">150</a>         propertyDefinitions.put(propB.getId(), propB);
<a name="151" href="#151">151</a> 
<a name="152" href="#152">152</a>         propS = PropertyCreationHelper.createStringDefinition(PropertyIds.VERSION_SERIES_CHECKED_OUT_BY,
<a name="153" href="#153">153</a>                 <span class="jxr_string">"Checked Out By"</span>, Updatability.READONLY);
<a name="154" href="#154">154</a>         propertyDefinitions.put(propS.getId(), propS);
<a name="155" href="#155">155</a> 
<a name="156" href="#156">156</a>         propId = PropertyCreationHelper.createIdDefinition(PropertyIds.VERSION_SERIES_CHECKED_OUT_ID,
<a name="157" href="#157">157</a>                 <span class="jxr_string">"Checked Out Id"</span>, Updatability.READONLY);
<a name="158" href="#158">158</a>         propertyDefinitions.put(propId.getId(), propId);
<a name="159" href="#159">159</a> 
<a name="160" href="#160">160</a>         propS = PropertyCreationHelper.createStringDefinition(PropertyIds.CHECKIN_COMMENT,
<a name="161" href="#161">161</a>                 <span class="jxr_string">"Checkin Comment"</span>, Updatability.READONLY);
<a name="162" href="#162">162</a>         <em class="jxr_comment">// read-only, because</em>
<a name="163" href="#163">163</a>         <em class="jxr_comment">// not set as property</em>
<a name="164" href="#164">164</a>         propertyDefinitions.put(propS.getId(), propS);
<a name="165" href="#165">165</a> 
<a name="166" href="#166">166</a>         PropertyIntegerDefinitionImpl propI = PropertyCreationHelper.createIntegerDefinition(
<a name="167" href="#167">167</a>                 PropertyIds.CONTENT_STREAM_LENGTH, <span class="jxr_string">"Content Length"</span>, Updatability.READONLY);
<a name="168" href="#168">168</a>         propertyDefinitions.put(propI.getId(), propI);
<a name="169" href="#169">169</a> 
<a name="170" href="#170">170</a>         propS = PropertyCreationHelper.createStringDefinition(PropertyIds.CONTENT_STREAM_MIME_TYPE,
<a name="171" href="#171">171</a>                 <span class="jxr_string">"Mime Type"</span>, Updatability.READONLY);
<a name="172" href="#172">172</a>         propertyDefinitions.put(propS.getId(), propS);
<a name="173" href="#173">173</a> 
<a name="174" href="#174">174</a>         propS = PropertyCreationHelper.createStringDefinition(PropertyIds.CONTENT_STREAM_FILE_NAME,
<a name="175" href="#175">175</a>                 <span class="jxr_string">"File Name"</span>, Updatability.READONLY);
<a name="176" href="#176">176</a>         propertyDefinitions.put(propS.getId(), propS);
<a name="177" href="#177">177</a> 
<a name="178" href="#178">178</a>         propId = PropertyCreationHelper.createIdDefinition(PropertyIds.CONTENT_STREAM_ID, <span class="jxr_string">"Stream Id"</span>, Updatability.READONLY);
<a name="179" href="#179">179</a>         propertyDefinitions.put(propId.getId(), propId);
<a name="180" href="#180">180</a> 
<a name="181" href="#181">181</a>     }
<a name="182" href="#182">182</a> 
<a name="183" href="#183">183</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> setBasicFolderPropertyDefinitions(Map&lt;String, PropertyDefinition&lt;?&gt;&gt; propertyDefinitions) {
<a name="184" href="#184">184</a> 
<a name="185" href="#185">185</a>         setBasicPropertyDefinitions(propertyDefinitions);
<a name="186" href="#186">186</a>         PropertyIdDefinitionImpl propId = PropertyCreationHelper.createIdDefinition(PropertyIds.PARENT_ID,
<a name="187" href="#187">187</a>                 <span class="jxr_string">"Parent Id"</span>, Updatability.READONLY);
<a name="188" href="#188">188</a>         propertyDefinitions.put(propId.getId(), propId);
<a name="189" href="#189">189</a> 
<a name="190" href="#190">190</a>         propId = PropertyCreationHelper.createIdDefinition(PropertyIds.ALLOWED_CHILD_OBJECT_TYPE_IDS,
<a name="191" href="#191">191</a>                 <span class="jxr_string">"Allowed Child Types"</span>, Updatability.READONLY);
<a name="192" href="#192">192</a>         propId.setCardinality(Cardinality.MULTI);
<a name="193" href="#193">193</a>         propertyDefinitions.put(propId.getId(), propId);
<a name="194" href="#194">194</a> 
<a name="195" href="#195">195</a>         PropertyStringDefinitionImpl propS = PropertyCreationHelper.createStringDefinition(PropertyIds.PATH,
<a name="196" href="#196">196</a>                 <span class="jxr_string">"Path"</span>, Updatability.READONLY);
<a name="197" href="#197">197</a>         propertyDefinitions.put(propS.getId(), propS);
<a name="198" href="#198">198</a> 
<a name="199" href="#199">199</a>     }
<a name="200" href="#200">200</a> 
<a name="201" href="#201">201</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> setBasicPolicyPropertyDefinitions(Map&lt;String, PropertyDefinition&lt;?&gt;&gt; propertyDefinitions) {
<a name="202" href="#202">202</a> 
<a name="203" href="#203">203</a>         setBasicPropertyDefinitions(propertyDefinitions);
<a name="204" href="#204">204</a>         PropertyStringDefinitionImpl propS = PropertyCreationHelper.createStringDefinition(PropertyIds.POLICY_TEXT,
<a name="205" href="#205">205</a>                 <span class="jxr_string">"Policy Text"</span>, Updatability.READONLY);
<a name="206" href="#206">206</a>         propS.setIsRequired(<strong class="jxr_keyword">true</strong>);
<a name="207" href="#207">207</a>         propertyDefinitions.put(propS.getId(), propS);
<a name="208" href="#208">208</a>     }
<a name="209" href="#209">209</a> 
<a name="210" href="#210">210</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> setBasicRelationshipPropertyDefinitions(Map&lt;String, PropertyDefinition&lt;?&gt;&gt; propertyDefinitions) {
<a name="211" href="#211">211</a> 
<a name="212" href="#212">212</a>         setBasicPropertyDefinitions(propertyDefinitions);
<a name="213" href="#213">213</a>         PropertyIdDefinitionImpl propId = PropertyCreationHelper.createIdDefinition(PropertyIds.SOURCE_ID,
<a name="214" href="#214">214</a>                 <span class="jxr_string">"Source Id"</span>, Updatability.READONLY);
<a name="215" href="#215">215</a>         propId.setIsRequired(<strong class="jxr_keyword">true</strong>);
<a name="216" href="#216">216</a>         propertyDefinitions.put(propId.getId(), propId);
<a name="217" href="#217">217</a> 
<a name="218" href="#218">218</a>         propId = PropertyCreationHelper.createIdDefinition(PropertyIds.TARGET_ID, <span class="jxr_string">"Target Id"</span>, Updatability.READONLY);
<a name="219" href="#219">219</a>         propId.setIsRequired(<strong class="jxr_keyword">true</strong>);
<a name="220" href="#220">220</a>         propertyDefinitions.put(propId.getId(), propId);
<a name="221" href="#221">221</a>     }
<a name="222" href="#222">222</a> 
<a name="223" href="#223">223</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> mergePropertyDefinitions(Map&lt;String, PropertyDefinition&lt;?&gt;&gt; existingPpropertyDefinitions,
<a name="224" href="#224">224</a>             Map&lt;String, PropertyDefinition&lt;?&gt;&gt; newPropertyDefinitions) {
<a name="225" href="#225">225</a>         <strong class="jxr_keyword">for</strong> (String propId : newPropertyDefinitions.keySet()) {
<a name="226" href="#226">226</a>             <strong class="jxr_keyword">if</strong> (existingPpropertyDefinitions.containsKey(propId)) {
<a name="227" href="#227">227</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(<span class="jxr_string">"You can't set a property with id "</span> + propId
<a name="228" href="#228">228</a>                         + <span class="jxr_string">". This property id already exists already or exists in supertype"</span>);
<a name="229" href="#229">229</a>             }
<a name="230" href="#230">230</a>         }
<a name="231" href="#231">231</a>         existingPpropertyDefinitions.putAll(newPropertyDefinitions);
<a name="232" href="#232">232</a>     }
<a name="233" href="#233">233</a> 
<a name="234" href="#234">234</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

