<!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>VersionTestTypeSystemCreator 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>  <strong class="jxr_keyword">package</strong> org.apache.chemistry.opencmis.inmemory;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<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.definitions.PropertyDefinition;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.Updatability;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyStringDefinitionImpl;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.inmemory.types.InMemoryDocumentTypeDefinition;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.inmemory.types.PropertyCreationHelper;
<a name="32" href="#32">32</a>  
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/chemistry/opencmis/inmemory/VersionTestTypeSystemCreator.html">VersionTestTypeSystemCreator</a> implements TypeCreator {
<a name="34" href="#34">34</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String VERSION_TEST_DOCUMENT_TYPE_ID = <span class="jxr_string">"MyVersionedType"</span>;
<a name="35" href="#35">35</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PROPERTY_ID = <span class="jxr_string">"StringProp"</span>;
<a name="36" href="#36">36</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> List&lt;TypeDefinition&gt; singletonTypes = buildTypesList();
<a name="37" href="#37">37</a>  
<a name="38" href="#38">38</a>      <em class="jxr_javadoccomment">/**</em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment">     * in the public interface of this class we return the singleton containing</em>
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment">     * the required types for testing</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment">     */</em>
<a name="42" href="#42">42</a>      <strong class="jxr_keyword">public</strong> List&lt;TypeDefinition&gt; createTypesList() {
<a name="43" href="#43">43</a>          <strong class="jxr_keyword">return</strong> singletonTypes;
<a name="44" href="#44">44</a>      }
<a name="45" href="#45">45</a>  
<a name="46" href="#46">46</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> List&lt;TypeDefinition&gt; getTypesList() {
<a name="47" href="#47">47</a>          <strong class="jxr_keyword">return</strong> singletonTypes;
<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> TypeDefinition getTypeById(String typeId) {
<a name="51" href="#51">51</a>          <strong class="jxr_keyword">for</strong> (TypeDefinition typeDef : singletonTypes) {
<a name="52" href="#52">52</a>              <strong class="jxr_keyword">if</strong> (typeDef.getId().equals(typeId)) {
<a name="53" href="#53">53</a>                  <strong class="jxr_keyword">return</strong> typeDef;
<a name="54" href="#54">54</a>              }
<a name="55" href="#55">55</a>          }
<a name="56" href="#56">56</a>          <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="57" href="#57">57</a>      }
<a name="58" href="#58">58</a>  
<a name="59" href="#59">59</a>      <em class="jxr_javadoccomment">/**</em>
<a name="60" href="#60">60</a>  <em class="jxr_javadoccomment">     * create root types and a collection of sample types</em>
<a name="61" href="#61">61</a>  <em class="jxr_javadoccomment">     *</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment">     * @return typesMap map filled with created types</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment">     */</em>
<a name="64" href="#64">64</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> List&lt;TypeDefinition&gt; buildTypesList() {
<a name="65" href="#65">65</a>          <em class="jxr_comment">// always add CMIS default types</em>
<a name="66" href="#66">66</a>          List&lt;TypeDefinition&gt; typesList = <strong class="jxr_keyword">new</strong> LinkedList&lt;TypeDefinition&gt;();
<a name="67" href="#67">67</a>  
<a name="68" href="#68">68</a>          <em class="jxr_comment">// create a complex type with properties</em>
<a name="69" href="#69">69</a>          InMemoryDocumentTypeDefinition cmisComplexType = <strong class="jxr_keyword">new</strong> InMemoryDocumentTypeDefinition(
<a name="70" href="#70">70</a>                  VERSION_TEST_DOCUMENT_TYPE_ID, <span class="jxr_string">"VersionedType"</span>, InMemoryDocumentTypeDefinition.getRootDocumentType());
<a name="71" href="#71">71</a>  
<a name="72" href="#72">72</a>          <em class="jxr_comment">// create a boolean property definition</em>
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>          Map&lt;String, PropertyDefinition&lt;?&gt;&gt; propertyDefinitions = <strong class="jxr_keyword">new</strong> HashMap&lt;String, PropertyDefinition&lt;?&gt;&gt;();
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>          PropertyStringDefinitionImpl prop1 = PropertyCreationHelper.createStringDefinition(PROPERTY_ID,
<a name="77" href="#77">77</a>                  <span class="jxr_string">"Sample String Property"</span>, Updatability.WHENCHECKEDOUT);
<a name="78" href="#78">78</a>          propertyDefinitions.put(prop1.getId(), prop1);
<a name="79" href="#79">79</a>  
<a name="80" href="#80">80</a>          cmisComplexType.addCustomPropertyDefinitions(propertyDefinitions);
<a name="81" href="#81">81</a>          cmisComplexType.setIsVersionable(<strong class="jxr_keyword">true</strong>); <em class="jxr_comment">// make it a versionable type;</em>
<a name="82" href="#82">82</a>  
<a name="83" href="#83">83</a>          <em class="jxr_comment">// add type to types collection</em>
<a name="84" href="#84">84</a>          typesList.add(cmisComplexType);
<a name="85" href="#85">85</a>  
<a name="86" href="#86">86</a>          <strong class="jxr_keyword">return</strong> typesList;
<a name="87" href="#87">87</a>      }
<a name="88" href="#88">88</a>  
<a name="89" href="#89">89</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

