<!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>Session 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.client.api;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.io.Serializable;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.Locale;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
<a name="26" href="#26">26</a>  
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.Ace;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.Acl;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.ContentStream;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.RepositoryInfo;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.AclPropagation;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.RelationshipDirection;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.VersioningState;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.exceptions.CmisBaseException;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.spi.CmisBinding;
<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"> * A session is a connection to a CMIS repository with a specific user.</em>
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> * </em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * Not all operations might be supported the connected repository. Either</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> * OpenCMIS or the repository will throw an exception if an unsupported</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * operation is called. The capabilities of the repository can be discovered by</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * evaluating the repository info (see {@link #getRepositoryInfo()}).</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * &lt;/p&gt;</em>
<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * </em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * Almost all methods might throw exceptions derived from</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> * {@link CmisBaseException} which is a runtime exception!</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> * &lt;/p&gt;</em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment"> * </em>
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;</em>
<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment"> * (Please refer to the &lt;a</em>
<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment"> * href="<a href="http://docs.oasis-open.org/cmis/CMIS/v1.0/os/" target="alexandria_uri">http://docs.oasis-open.org/cmis/CMIS/v1.0/os/</a>"&gt;CMIS specification&lt;/a&gt;</em>
<a name="56" href="#56">56</a>  <em class="jxr_javadoccomment"> * for details about the domain model, terms, concepts, base types, properties,</em>
<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment"> * ids and query names, query language, etc.)</em>
<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment"> * &lt;/p&gt;</em>
<a name="59" href="#59">59</a>  <em class="jxr_javadoccomment"> */</em>
<a name="60" href="#60">60</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../../../org/apache/chemistry/opencmis/client/api/Session.html">Session</a> <strong class="jxr_keyword">extends</strong> Serializable {
<a name="61" href="#61">61</a>  
<a name="62" href="#62">62</a>      <em class="jxr_javadoccomment">/**</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment">     * Clears all cached data. This implies that all data will be reloaded from</em>
<a name="64" href="#64">64</a>  <em class="jxr_javadoccomment">     * the repository (depending on the implementation, reloading might be done</em>
<a name="65" href="#65">65</a>  <em class="jxr_javadoccomment">     * immediately or be deferred).</em>
<a name="66" href="#66">66</a>  <em class="jxr_javadoccomment">     */</em>
<a name="67" href="#67">67</a>      <strong class="jxr_keyword">void</strong> clear();
<a name="68" href="#68">68</a>  
<a name="69" href="#69">69</a>      <em class="jxr_comment">// session context</em>
<a name="70" href="#70">70</a>  
<a name="71" href="#71">71</a>      <em class="jxr_javadoccomment">/**</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     * Returns the underlying binding object.</em>
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment">     */</em>
<a name="74" href="#74">74</a>      CmisBinding getBinding();
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>      <em class="jxr_javadoccomment">/**</em>
<a name="77" href="#77">77</a>  <em class="jxr_javadoccomment">     * Returns the current default operation parameters for filtering, paging</em>
<a name="78" href="#78">78</a>  <em class="jxr_javadoccomment">     * and caching.</em>
<a name="79" href="#79">79</a>  <em class="jxr_javadoccomment">     * </em>
<a name="80" href="#80">80</a>  <em class="jxr_javadoccomment">     * &lt;p&gt;</em>
<a name="81" href="#81">81</a>  <em class="jxr_javadoccomment">     * &lt;em&gt;Please note:&lt;/em&gt; The returned object is not thread-safe and should</em>
<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment">     * only be modified right after the session has been created and before the</em>
<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment">     * session object has been used. In order to change the default context in</em>
<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment">     * thread-safe manner, create a new {@link OperationContext} object and use</em>
<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment">     * {@link #setDefaultContext(OperationContext)} to apply it.</em>
<a name="86" href="#86">86</a>  <em class="jxr_javadoccomment">     * &lt;/p&gt;</em>
<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment">     */</em>
<a name="88" href="#88">88</a>      <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> getDefaultContext();
<a name="89" href="#89">89</a>  
<a name="90" href="#90">90</a>      <em class="jxr_javadoccomment">/**</em>
<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment">     * Sets the current session parameters for filtering, paging and caching.</em>
<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment">     * </em>
<a name="93" href="#93">93</a>  <em class="jxr_javadoccomment">     * @param context</em>
<a name="94" href="#94">94</a>  <em class="jxr_javadoccomment">     *            the &lt;code&gt;OperationContext&lt;/code&gt; to be used for the session;</em>
<a name="95" href="#95">95</a>  <em class="jxr_javadoccomment">     *            if &lt;code&gt;null&lt;/code&gt;, a default context is used</em>
<a name="96" href="#96">96</a>  <em class="jxr_javadoccomment">     */</em>
<a name="97" href="#97">97</a>      <strong class="jxr_keyword">void</strong> setDefaultContext(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="98" href="#98">98</a>  
<a name="99" href="#99">99</a>      <em class="jxr_javadoccomment">/**</em>
<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">     * Creates a new operation context object.</em>
<a name="101" href="#101">101</a> <em class="jxr_javadoccomment">     */</em>
<a name="102" href="#102">102</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> createOperationContext();
<a name="103" href="#103">103</a> 
<a name="104" href="#104">104</a>     <em class="jxr_javadoccomment">/**</em>
<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">     * Creates a new operation context object with the given properties.</em>
<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     * </em>
<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">     * @see OperationContext</em>
<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">     */</em>
<a name="109" href="#109">109</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> createOperationContext(Set&lt;String&gt; filter, <strong class="jxr_keyword">boolean</strong> includeAcls, <strong class="jxr_keyword">boolean</strong> includeAllowableActions,
<a name="110" href="#110">110</a>             <strong class="jxr_keyword">boolean</strong> includePolicies, IncludeRelationships includeRelationships, Set&lt;String&gt; renditionFilter,
<a name="111" href="#111">111</a>             <strong class="jxr_keyword">boolean</strong> includePathSegments, String orderBy, <strong class="jxr_keyword">boolean</strong> cacheEnabled, <strong class="jxr_keyword">int</strong> maxItemsPerPage);
<a name="112" href="#112">112</a> 
<a name="113" href="#113">113</a>     <em class="jxr_javadoccomment">/**</em>
<a name="114" href="#114">114</a> <em class="jxr_javadoccomment">     * Creates an object id from a String.</em>
<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">     */</em>
<a name="116" href="#116">116</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> createObjectId(String id);
<a name="117" href="#117">117</a> 
<a name="118" href="#118">118</a>     <em class="jxr_comment">// localization</em>
<a name="119" href="#119">119</a> 
<a name="120" href="#120">120</a>     <em class="jxr_javadoccomment">/**</em>
<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">     * Get the current locale to be used for this session.</em>
<a name="122" href="#122">122</a> <em class="jxr_javadoccomment">     */</em>
<a name="123" href="#123">123</a>     Locale getLocale();
<a name="124" href="#124">124</a> 
<a name="125" href="#125">125</a>     <em class="jxr_comment">// services</em>
<a name="126" href="#126">126</a> 
<a name="127" href="#127">127</a>     <em class="jxr_javadoccomment">/**</em>
<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     * Returns the repository info of the repository associated with this</em>
<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">     * session.</em>
<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     */</em>
<a name="131" href="#131">131</a>     RepositoryInfo getRepositoryInfo();
<a name="132" href="#132">132</a> 
<a name="133" href="#133">133</a>     <em class="jxr_javadoccomment">/**</em>
<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">     * Gets a factory object that provides methods to create the objects used by</em>
<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">     * this API.</em>
<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">     */</em>
<a name="137" href="#137">137</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectFactory.html">ObjectFactory</a> getObjectFactory();
<a name="138" href="#138">138</a> 
<a name="139" href="#139">139</a>     <em class="jxr_comment">// types</em>
<a name="140" href="#140">140</a> 
<a name="141" href="#141">141</a>     <em class="jxr_javadoccomment">/**</em>
<a name="142" href="#142">142</a> <em class="jxr_javadoccomment">     * Returns the type definition of the given type id.</em>
<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">     */</em>
<a name="144" href="#144">144</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectType.html">ObjectType</a> getTypeDefinition(String typeId);
<a name="145" href="#145">145</a> 
<a name="146" href="#146">146</a>     <em class="jxr_javadoccomment">/**</em>
<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">     * Returns the type children of the given type id.</em>
<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     */</em>
<a name="149" href="#149">149</a>     ItemIterable&lt;ObjectType&gt; getTypeChildren(String typeId, <strong class="jxr_keyword">boolean</strong> includePropertyDefinitions);
<a name="150" href="#150">150</a> 
<a name="151" href="#151">151</a>     <em class="jxr_javadoccomment">/**</em>
<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">     * Returns the type descendants of the given type id.</em>
<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">     */</em>
<a name="154" href="#154">154</a>     List&lt;Tree&lt;ObjectType&gt;&gt; getTypeDescendants(String typeId, <strong class="jxr_keyword">int</strong> depth, <strong class="jxr_keyword">boolean</strong> includePropertyDefinitions);
<a name="155" href="#155">155</a> 
<a name="156" href="#156">156</a>     <em class="jxr_comment">// navigation</em>
<a name="157" href="#157">157</a> 
<a name="158" href="#158">158</a>     <em class="jxr_javadoccomment">/**</em>
<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">     * Gets the root folder of the repository.</em>
<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">     */</em>
<a name="161" href="#161">161</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/Folder.html">Folder</a> getRootFolder();
<a name="162" href="#162">162</a> 
<a name="163" href="#163">163</a>     <em class="jxr_javadoccomment">/**</em>
<a name="164" href="#164">164</a> <em class="jxr_javadoccomment">     * Gets the root folder of the repository with the given</em>
<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">     * {@link OperationContext}.</em>
<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">     */</em>
<a name="167" href="#167">167</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/Folder.html">Folder</a> getRootFolder(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="168" href="#168">168</a> 
<a name="169" href="#169">169</a>     <em class="jxr_javadoccomment">/**</em>
<a name="170" href="#170">170</a> <em class="jxr_javadoccomment">     * Returns all checked out documents.</em>
<a name="171" href="#171">171</a> <em class="jxr_javadoccomment">     * </em>
<a name="172" href="#172">172</a> <em class="jxr_javadoccomment">     * @see Folder#getCheckedOutDocs()</em>
<a name="173" href="#173">173</a> <em class="jxr_javadoccomment">     */</em>
<a name="174" href="#174">174</a>     ItemIterable&lt;Document&gt; getCheckedOutDocs();
<a name="175" href="#175">175</a> 
<a name="176" href="#176">176</a>     <em class="jxr_javadoccomment">/**</em>
<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">     * Returns all checked out documents with the given {@link OperationContext}</em>
<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">     * .</em>
<a name="179" href="#179">179</a> <em class="jxr_javadoccomment">     * </em>
<a name="180" href="#180">180</a> <em class="jxr_javadoccomment">     * @see Folder#getCheckedOutDocs(OperationContext)</em>
<a name="181" href="#181">181</a> <em class="jxr_javadoccomment">     */</em>
<a name="182" href="#182">182</a>     ItemIterable&lt;Document&gt; getCheckedOutDocs(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="183" href="#183">183</a> 
<a name="184" href="#184">184</a>     <em class="jxr_javadoccomment">/**</em>
<a name="185" href="#185">185</a> <em class="jxr_javadoccomment">     * Returns a CMIS object from the session cache. If the object is not in the</em>
<a name="186" href="#186">186</a> <em class="jxr_javadoccomment">     * cache or the cache is turned off per default {@link OperationContext}, it</em>
<a name="187" href="#187">187</a> <em class="jxr_javadoccomment">     * will load the object from the repository and puts it into the cache.</em>
<a name="188" href="#188">188</a> <em class="jxr_javadoccomment">     * </em>
<a name="189" href="#189">189</a> <em class="jxr_javadoccomment">     * @param objectId</em>
<a name="190" href="#190">190</a> <em class="jxr_javadoccomment">     *            the object id</em>
<a name="191" href="#191">191</a> <em class="jxr_javadoccomment">     * </em>
<a name="192" href="#192">192</a> <em class="jxr_javadoccomment">     * @see #getObject(String)</em>
<a name="193" href="#193">193</a> <em class="jxr_javadoccomment">     */</em>
<a name="194" href="#194">194</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/CmisObject.html">CmisObject</a> getObject(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> objectId);
<a name="195" href="#195">195</a> 
<a name="196" href="#196">196</a>     <em class="jxr_javadoccomment">/**</em>
<a name="197" href="#197">197</a> <em class="jxr_javadoccomment">     * Returns a CMIS object from the session cache. If the object is not in the</em>
<a name="198" href="#198">198</a> <em class="jxr_javadoccomment">     * cache or the given {@link OperationContext} has caching turned off, it</em>
<a name="199" href="#199">199</a> <em class="jxr_javadoccomment">     * will load the object from the repository and puts it into the cache.</em>
<a name="200" href="#200">200</a> <em class="jxr_javadoccomment">     * </em>
<a name="201" href="#201">201</a> <em class="jxr_javadoccomment">     * @param objectId</em>
<a name="202" href="#202">202</a> <em class="jxr_javadoccomment">     *            the object id</em>
<a name="203" href="#203">203</a> <em class="jxr_javadoccomment">     * @param context</em>
<a name="204" href="#204">204</a> <em class="jxr_javadoccomment">     *            the {@link OperationContext} to use</em>
<a name="205" href="#205">205</a> <em class="jxr_javadoccomment">     * </em>
<a name="206" href="#206">206</a> <em class="jxr_javadoccomment">     * @see #getObject(String, OperationContext)</em>
<a name="207" href="#207">207</a> <em class="jxr_javadoccomment">     */</em>
<a name="208" href="#208">208</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/CmisObject.html">CmisObject</a> getObject(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> objectId, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="209" href="#209">209</a> 
<a name="210" href="#210">210</a>     <em class="jxr_javadoccomment">/**</em>
<a name="211" href="#211">211</a> <em class="jxr_javadoccomment">     * Returns a CMIS object from the session cache. If the object is not in the</em>
<a name="212" href="#212">212</a> <em class="jxr_javadoccomment">     * cache or the cache is turned off per default {@link OperationContext}, it</em>
<a name="213" href="#213">213</a> <em class="jxr_javadoccomment">     * will load the object from the repository and puts it into the cache.</em>
<a name="214" href="#214">214</a> <em class="jxr_javadoccomment">     * </em>
<a name="215" href="#215">215</a> <em class="jxr_javadoccomment">     * @param objectId</em>
<a name="216" href="#216">216</a> <em class="jxr_javadoccomment">     *            the object id</em>
<a name="217" href="#217">217</a> <em class="jxr_javadoccomment">     * </em>
<a name="218" href="#218">218</a> <em class="jxr_javadoccomment">     * @see #getObject(ObjectId)</em>
<a name="219" href="#219">219</a> <em class="jxr_javadoccomment">     */</em>
<a name="220" href="#220">220</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/CmisObject.html">CmisObject</a> getObject(String objectId);
<a name="221" href="#221">221</a> 
<a name="222" href="#222">222</a>     <em class="jxr_javadoccomment">/**</em>
<a name="223" href="#223">223</a> <em class="jxr_javadoccomment">     * Returns a CMIS object from the session cache. If the object is not in the</em>
<a name="224" href="#224">224</a> <em class="jxr_javadoccomment">     * cache or the given {@link OperationContext} has caching turned off, it</em>
<a name="225" href="#225">225</a> <em class="jxr_javadoccomment">     * will load the object from the repository and puts it into the cache.</em>
<a name="226" href="#226">226</a> <em class="jxr_javadoccomment">     * </em>
<a name="227" href="#227">227</a> <em class="jxr_javadoccomment">     * @param objectId</em>
<a name="228" href="#228">228</a> <em class="jxr_javadoccomment">     *            the object id</em>
<a name="229" href="#229">229</a> <em class="jxr_javadoccomment">     * @param context</em>
<a name="230" href="#230">230</a> <em class="jxr_javadoccomment">     *            the {@link OperationContext} to use</em>
<a name="231" href="#231">231</a> <em class="jxr_javadoccomment">     * </em>
<a name="232" href="#232">232</a> <em class="jxr_javadoccomment">     * @see #getObject(ObjectId, OperationContext)</em>
<a name="233" href="#233">233</a> <em class="jxr_javadoccomment">     */</em>
<a name="234" href="#234">234</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/CmisObject.html">CmisObject</a> getObject(String objectId, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="235" href="#235">235</a> 
<a name="236" href="#236">236</a>     <em class="jxr_javadoccomment">/**</em>
<a name="237" href="#237">237</a> <em class="jxr_javadoccomment">     * Returns a CMIS object from the session cache. If the object is not in the</em>
<a name="238" href="#238">238</a> <em class="jxr_javadoccomment">     * cache or the cache is turned off per default {@link OperationContext}, it</em>
<a name="239" href="#239">239</a> <em class="jxr_javadoccomment">     * will load the object from the repository and puts it into the cache.</em>
<a name="240" href="#240">240</a> <em class="jxr_javadoccomment">     * </em>
<a name="241" href="#241">241</a> <em class="jxr_javadoccomment">     * @param path</em>
<a name="242" href="#242">242</a> <em class="jxr_javadoccomment">     *            the object path</em>
<a name="243" href="#243">243</a> <em class="jxr_javadoccomment">     */</em>
<a name="244" href="#244">244</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/CmisObject.html">CmisObject</a> getObjectByPath(String path);
<a name="245" href="#245">245</a> 
<a name="246" href="#246">246</a>     <em class="jxr_javadoccomment">/**</em>
<a name="247" href="#247">247</a> <em class="jxr_javadoccomment">     * Returns a CMIS object from the session cache. If the object is not in the</em>
<a name="248" href="#248">248</a> <em class="jxr_javadoccomment">     * cache or the given {@link OperationContext} has caching turned off, it</em>
<a name="249" href="#249">249</a> <em class="jxr_javadoccomment">     * will load the object from the repository and puts it into the cache.</em>
<a name="250" href="#250">250</a> <em class="jxr_javadoccomment">     * </em>
<a name="251" href="#251">251</a> <em class="jxr_javadoccomment">     * @param path</em>
<a name="252" href="#252">252</a> <em class="jxr_javadoccomment">     *            the object path</em>
<a name="253" href="#253">253</a> <em class="jxr_javadoccomment">     * @param context</em>
<a name="254" href="#254">254</a> <em class="jxr_javadoccomment">     *            the {@link OperationContext} to use</em>
<a name="255" href="#255">255</a> <em class="jxr_javadoccomment">     */</em>
<a name="256" href="#256">256</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/CmisObject.html">CmisObject</a> getObjectByPath(String path, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="257" href="#257">257</a> 
<a name="258" href="#258">258</a>     <em class="jxr_javadoccomment">/**</em>
<a name="259" href="#259">259</a> <em class="jxr_javadoccomment">     * Removes the given object from the cache.</em>
<a name="260" href="#260">260</a> <em class="jxr_javadoccomment">     * </em>
<a name="261" href="#261">261</a> <em class="jxr_javadoccomment">     * @param objectId</em>
<a name="262" href="#262">262</a> <em class="jxr_javadoccomment">     *            object id</em>
<a name="263" href="#263">263</a> <em class="jxr_javadoccomment">     */</em>
<a name="264" href="#264">264</a>     <strong class="jxr_keyword">void</strong> removeObjectFromCache(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> objectId);
<a name="265" href="#265">265</a> 
<a name="266" href="#266">266</a>     <em class="jxr_javadoccomment">/**</em>
<a name="267" href="#267">267</a> <em class="jxr_javadoccomment">     * Removes the given object from the cache.</em>
<a name="268" href="#268">268</a> <em class="jxr_javadoccomment">     * </em>
<a name="269" href="#269">269</a> <em class="jxr_javadoccomment">     * @param objectId</em>
<a name="270" href="#270">270</a> <em class="jxr_javadoccomment">     *            object id</em>
<a name="271" href="#271">271</a> <em class="jxr_javadoccomment">     */</em>
<a name="272" href="#272">272</a>     <strong class="jxr_keyword">void</strong> removeObjectFromCache(String objectId);
<a name="273" href="#273">273</a> 
<a name="274" href="#274">274</a>     <em class="jxr_comment">// discovery</em>
<a name="275" href="#275">275</a> 
<a name="276" href="#276">276</a>     <em class="jxr_javadoccomment">/**</em>
<a name="277" href="#277">277</a> <em class="jxr_javadoccomment">     * Sends a query to the repository. (See CMIS spec "2.1.10 Query".)</em>
<a name="278" href="#278">278</a> <em class="jxr_javadoccomment">     * </em>
<a name="279" href="#279">279</a> <em class="jxr_javadoccomment">     * @param statement</em>
<a name="280" href="#280">280</a> <em class="jxr_javadoccomment">     *            the query statement (CMIS query language)</em>
<a name="281" href="#281">281</a> <em class="jxr_javadoccomment">     * @param searchAllVersions</em>
<a name="282" href="#282">282</a> <em class="jxr_javadoccomment">     *            specifies if the latest and non-latest versions of document</em>
<a name="283" href="#283">283</a> <em class="jxr_javadoccomment">     *            objects should be included</em>
<a name="284" href="#284">284</a> <em class="jxr_javadoccomment">     */</em>
<a name="285" href="#285">285</a>     ItemIterable&lt;QueryResult&gt; query(String statement, <strong class="jxr_keyword">boolean</strong> searchAllVersions);
<a name="286" href="#286">286</a> 
<a name="287" href="#287">287</a>     <em class="jxr_javadoccomment">/**</em>
<a name="288" href="#288">288</a> <em class="jxr_javadoccomment">     * Sends a query to the repository using the given {@link OperationContext}.</em>
<a name="289" href="#289">289</a> <em class="jxr_javadoccomment">     * (See CMIS spec "2.1.10 Query".)</em>
<a name="290" href="#290">290</a> <em class="jxr_javadoccomment">     * </em>
<a name="291" href="#291">291</a> <em class="jxr_javadoccomment">     * @param statement</em>
<a name="292" href="#292">292</a> <em class="jxr_javadoccomment">     *            the query statement (CMIS query language)</em>
<a name="293" href="#293">293</a> <em class="jxr_javadoccomment">     * @param searchAllVersions</em>
<a name="294" href="#294">294</a> <em class="jxr_javadoccomment">     *            specifies if the latest and non-latest versions of document</em>
<a name="295" href="#295">295</a> <em class="jxr_javadoccomment">     *            objects should be included</em>
<a name="296" href="#296">296</a> <em class="jxr_javadoccomment">     * @param context</em>
<a name="297" href="#297">297</a> <em class="jxr_javadoccomment">     *            the OperationContext</em>
<a name="298" href="#298">298</a> <em class="jxr_javadoccomment">     */</em>
<a name="299" href="#299">299</a>     ItemIterable&lt;QueryResult&gt; query(String statement, <strong class="jxr_keyword">boolean</strong> searchAllVersions, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="300" href="#300">300</a> 
<a name="301" href="#301">301</a>     <em class="jxr_javadoccomment">/**</em>
<a name="302" href="#302">302</a> <em class="jxr_javadoccomment">     * </em>
<a name="303" href="#303">303</a> <em class="jxr_javadoccomment">     * @param type</em>
<a name="304" href="#304">304</a> <em class="jxr_javadoccomment">     *            the id of the object type</em>
<a name="305" href="#305">305</a> <em class="jxr_javadoccomment">     * @param where</em>
<a name="306" href="#306">306</a> <em class="jxr_javadoccomment">     *            the WHERE part of the query</em>
<a name="307" href="#307">307</a> <em class="jxr_javadoccomment">     * @param searchAllVersions</em>
<a name="308" href="#308">308</a> <em class="jxr_javadoccomment">     *            specifies if the latest and non-latest versions of document</em>
<a name="309" href="#309">309</a> <em class="jxr_javadoccomment">     *            objects should be included</em>
<a name="310" href="#310">310</a> <em class="jxr_javadoccomment">     * @param context</em>
<a name="311" href="#311">311</a> <em class="jxr_javadoccomment">     *            the OperationContext</em>
<a name="312" href="#312">312</a> <em class="jxr_javadoccomment">     */</em>
<a name="313" href="#313">313</a>     ItemIterable&lt;CmisObject&gt; queryObjects(String typeId, String where, <strong class="jxr_keyword">boolean</strong> searchAllVersions,
<a name="314" href="#314">314</a>             <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="315" href="#315">315</a> 
<a name="316" href="#316">316</a>     <em class="jxr_javadoccomment">/**</em>
<a name="317" href="#317">317</a> <em class="jxr_javadoccomment">     * Creates a query statement.</em>
<a name="318" href="#318">318</a> <em class="jxr_javadoccomment">     * </em>
<a name="319" href="#319">319</a> <em class="jxr_javadoccomment">     * @param statement</em>
<a name="320" href="#320">320</a> <em class="jxr_javadoccomment">     *            the query statement with placeholders ('?').</em>
<a name="321" href="#321">321</a> <em class="jxr_javadoccomment">     * </em>
<a name="322" href="#322">322</a> <em class="jxr_javadoccomment">     * @see QueryStatement</em>
<a name="323" href="#323">323</a> <em class="jxr_javadoccomment">     */</em>
<a name="324" href="#324">324</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/QueryStatement.html">QueryStatement</a> createQueryStatement(String statement);
<a name="325" href="#325">325</a> 
<a name="326" href="#326">326</a>     <em class="jxr_javadoccomment">/**</em>
<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">     * Returns the content changes.</em>
<a name="328" href="#328">328</a> <em class="jxr_javadoccomment">     * </em>
<a name="329" href="#329">329</a> <em class="jxr_javadoccomment">     * @param changeLogToken</em>
<a name="330" href="#330">330</a> <em class="jxr_javadoccomment">     *            the change log token to start from or &lt;code&gt;null&lt;/code&gt;</em>
<a name="331" href="#331">331</a> <em class="jxr_javadoccomment">     * @param includeProperties</em>
<a name="332" href="#332">332</a> <em class="jxr_javadoccomment">     *            indicates if changed properties should be included in the</em>
<a name="333" href="#333">333</a> <em class="jxr_javadoccomment">     *            result</em>
<a name="334" href="#334">334</a> <em class="jxr_javadoccomment">     * @param maxNumItems</em>
<a name="335" href="#335">335</a> <em class="jxr_javadoccomment">     *            maximum numbers of events</em>
<a name="336" href="#336">336</a> <em class="jxr_javadoccomment">     */</em>
<a name="337" href="#337">337</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ChangeEvents.html">ChangeEvents</a> getContentChanges(String changeLogToken, <strong class="jxr_keyword">boolean</strong> includeProperties, <strong class="jxr_keyword">long</strong> maxNumItems);
<a name="338" href="#338">338</a> 
<a name="339" href="#339">339</a>     <em class="jxr_javadoccomment">/**</em>
<a name="340" href="#340">340</a> <em class="jxr_javadoccomment">     * Returns the content changes.</em>
<a name="341" href="#341">341</a> <em class="jxr_javadoccomment">     * </em>
<a name="342" href="#342">342</a> <em class="jxr_javadoccomment">     * @param changeLogToken</em>
<a name="343" href="#343">343</a> <em class="jxr_javadoccomment">     *            the change log token to start from or &lt;code&gt;null&lt;/code&gt;</em>
<a name="344" href="#344">344</a> <em class="jxr_javadoccomment">     * @param includeProperties</em>
<a name="345" href="#345">345</a> <em class="jxr_javadoccomment">     *            indicates if changed properties should be included in the</em>
<a name="346" href="#346">346</a> <em class="jxr_javadoccomment">     *            result</em>
<a name="347" href="#347">347</a> <em class="jxr_javadoccomment">     * @param maxNumItems</em>
<a name="348" href="#348">348</a> <em class="jxr_javadoccomment">     *            maximum numbers of events</em>
<a name="349" href="#349">349</a> <em class="jxr_javadoccomment">     * @param context</em>
<a name="350" href="#350">350</a> <em class="jxr_javadoccomment">     *            the OperationContext</em>
<a name="351" href="#351">351</a> <em class="jxr_javadoccomment">     */</em>
<a name="352" href="#352">352</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ChangeEvents.html">ChangeEvents</a> getContentChanges(String changeLogToken, <strong class="jxr_keyword">boolean</strong> includeProperties, <strong class="jxr_keyword">long</strong> maxNumItems,
<a name="353" href="#353">353</a>             <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="354" href="#354">354</a> 
<a name="355" href="#355">355</a>     <em class="jxr_comment">// create</em>
<a name="356" href="#356">356</a> 
<a name="357" href="#357">357</a>     <em class="jxr_javadoccomment">/**</em>
<a name="358" href="#358">358</a> <em class="jxr_javadoccomment">     * Creates a new document.</em>
<a name="359" href="#359">359</a> <em class="jxr_javadoccomment">     * </em>
<a name="360" href="#360">360</a> <em class="jxr_javadoccomment">     * @return the object id of the new document</em>
<a name="361" href="#361">361</a> <em class="jxr_javadoccomment">     * </em>
<a name="362" href="#362">362</a> <em class="jxr_javadoccomment">     * @see Folder#createDocument(Map, ContentStream, VersioningState, List,</em>
<a name="363" href="#363">363</a> <em class="jxr_javadoccomment">     *      List, List, OperationContext)</em>
<a name="364" href="#364">364</a> <em class="jxr_javadoccomment">     */</em>
<a name="365" href="#365">365</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> createDocument(Map&lt;String, ?&gt; properties, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> folderId, ContentStream contentStream,
<a name="366" href="#366">366</a>             VersioningState versioningState, List&lt;Policy&gt; policies, List&lt;Ace&gt; addAces, List&lt;Ace&gt; removeAces);
<a name="367" href="#367">367</a> 
<a name="368" href="#368">368</a>     <em class="jxr_javadoccomment">/**</em>
<a name="369" href="#369">369</a> <em class="jxr_javadoccomment">     * Creates a new document.</em>
<a name="370" href="#370">370</a> <em class="jxr_javadoccomment">     * </em>
<a name="371" href="#371">371</a> <em class="jxr_javadoccomment">     * @return the object id of the new document</em>
<a name="372" href="#372">372</a> <em class="jxr_javadoccomment">     * </em>
<a name="373" href="#373">373</a> <em class="jxr_javadoccomment">     * @see Folder#createDocument(Map, ContentStream, VersioningState, List,</em>
<a name="374" href="#374">374</a> <em class="jxr_javadoccomment">     *      List, List, OperationContext)</em>
<a name="375" href="#375">375</a> <em class="jxr_javadoccomment">     */</em>
<a name="376" href="#376">376</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> createDocument(Map&lt;String, ?&gt; properties, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> folderId, ContentStream contentStream,
<a name="377" href="#377">377</a>             VersioningState versioningState);
<a name="378" href="#378">378</a> 
<a name="379" href="#379">379</a>     <em class="jxr_javadoccomment">/**</em>
<a name="380" href="#380">380</a> <em class="jxr_javadoccomment">     * Creates a new document from a source document.</em>
<a name="381" href="#381">381</a> <em class="jxr_javadoccomment">     * </em>
<a name="382" href="#382">382</a> <em class="jxr_javadoccomment">     * @return the object id of the new document</em>
<a name="383" href="#383">383</a> <em class="jxr_javadoccomment">     * </em>
<a name="384" href="#384">384</a> <em class="jxr_javadoccomment">     * @see Folder#createDocumentFromSource(ObjectId, Map, VersioningState,</em>
<a name="385" href="#385">385</a> <em class="jxr_javadoccomment">     *      List, List, List, OperationContext)</em>
<a name="386" href="#386">386</a> <em class="jxr_javadoccomment">     */</em>
<a name="387" href="#387">387</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> createDocumentFromSource(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> source, Map&lt;String, ?&gt; properties, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> folderId,
<a name="388" href="#388">388</a>             VersioningState versioningState, List&lt;Policy&gt; policies, List&lt;Ace&gt; addAces, List&lt;Ace&gt; removeAces);
<a name="389" href="#389">389</a> 
<a name="390" href="#390">390</a>     <em class="jxr_javadoccomment">/**</em>
<a name="391" href="#391">391</a> <em class="jxr_javadoccomment">     * Creates a new document from a source document.</em>
<a name="392" href="#392">392</a> <em class="jxr_javadoccomment">     * </em>
<a name="393" href="#393">393</a> <em class="jxr_javadoccomment">     * @return the object id of the new document</em>
<a name="394" href="#394">394</a> <em class="jxr_javadoccomment">     * </em>
<a name="395" href="#395">395</a> <em class="jxr_javadoccomment">     * @see Folder#createDocumentFromSource(ObjectId, Map, VersioningState,</em>
<a name="396" href="#396">396</a> <em class="jxr_javadoccomment">     *      List, List, List, OperationContext)</em>
<a name="397" href="#397">397</a> <em class="jxr_javadoccomment">     */</em>
<a name="398" href="#398">398</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> createDocumentFromSource(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> source, Map&lt;String, ?&gt; properties, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> folderId,
<a name="399" href="#399">399</a>             VersioningState versioningState);
<a name="400" href="#400">400</a> 
<a name="401" href="#401">401</a>     <em class="jxr_javadoccomment">/**</em>
<a name="402" href="#402">402</a> <em class="jxr_javadoccomment">     * Creates a new folder.</em>
<a name="403" href="#403">403</a> <em class="jxr_javadoccomment">     * </em>
<a name="404" href="#404">404</a> <em class="jxr_javadoccomment">     * @return the object id of the new folder</em>
<a name="405" href="#405">405</a> <em class="jxr_javadoccomment">     * </em>
<a name="406" href="#406">406</a> <em class="jxr_javadoccomment">     * @see Folder#createFolder(Map, List, List, List, OperationContext)</em>
<a name="407" href="#407">407</a> <em class="jxr_javadoccomment">     */</em>
<a name="408" href="#408">408</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> createFolder(Map&lt;String, ?&gt; properties, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> folderId, List&lt;Policy&gt; policies, List&lt;Ace&gt; addAces,
<a name="409" href="#409">409</a>             List&lt;Ace&gt; removeAces);
<a name="410" href="#410">410</a> 
<a name="411" href="#411">411</a>     <em class="jxr_javadoccomment">/**</em>
<a name="412" href="#412">412</a> <em class="jxr_javadoccomment">     * Creates a new folder.</em>
<a name="413" href="#413">413</a> <em class="jxr_javadoccomment">     * </em>
<a name="414" href="#414">414</a> <em class="jxr_javadoccomment">     * @return the object id of the new folder</em>
<a name="415" href="#415">415</a> <em class="jxr_javadoccomment">     * </em>
<a name="416" href="#416">416</a> <em class="jxr_javadoccomment">     * @see Folder#createFolder(Map, List, List, List, OperationContext)</em>
<a name="417" href="#417">417</a> <em class="jxr_javadoccomment">     */</em>
<a name="418" href="#418">418</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> createFolder(Map&lt;String, ?&gt; properties, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> folderId);
<a name="419" href="#419">419</a> 
<a name="420" href="#420">420</a>     <em class="jxr_javadoccomment">/**</em>
<a name="421" href="#421">421</a> <em class="jxr_javadoccomment">     * Creates a new policy.</em>
<a name="422" href="#422">422</a> <em class="jxr_javadoccomment">     * </em>
<a name="423" href="#423">423</a> <em class="jxr_javadoccomment">     * @return the object id of the new policy</em>
<a name="424" href="#424">424</a> <em class="jxr_javadoccomment">     * </em>
<a name="425" href="#425">425</a> <em class="jxr_javadoccomment">     * @see Folder#createPolicy(Map, List, List, List, OperationContext)</em>
<a name="426" href="#426">426</a> <em class="jxr_javadoccomment">     */</em>
<a name="427" href="#427">427</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> createPolicy(Map&lt;String, ?&gt; properties, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> folderId, List&lt;Policy&gt; policies, List&lt;Ace&gt; addAces,
<a name="428" href="#428">428</a>             List&lt;Ace&gt; removeAces);
<a name="429" href="#429">429</a> 
<a name="430" href="#430">430</a>     <em class="jxr_javadoccomment">/**</em>
<a name="431" href="#431">431</a> <em class="jxr_javadoccomment">     * Creates a new policy.</em>
<a name="432" href="#432">432</a> <em class="jxr_javadoccomment">     * </em>
<a name="433" href="#433">433</a> <em class="jxr_javadoccomment">     * @return the object id of the new policy</em>
<a name="434" href="#434">434</a> <em class="jxr_javadoccomment">     * </em>
<a name="435" href="#435">435</a> <em class="jxr_javadoccomment">     * @see Folder#createPolicy(Map, List, List, List, OperationContext)</em>
<a name="436" href="#436">436</a> <em class="jxr_javadoccomment">     */</em>
<a name="437" href="#437">437</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> createPolicy(Map&lt;String, ?&gt; properties, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> folderId);
<a name="438" href="#438">438</a> 
<a name="439" href="#439">439</a>     <em class="jxr_javadoccomment">/**</em>
<a name="440" href="#440">440</a> <em class="jxr_javadoccomment">     * Creates a new relationship.</em>
<a name="441" href="#441">441</a> <em class="jxr_javadoccomment">     * </em>
<a name="442" href="#442">442</a> <em class="jxr_javadoccomment">     * @return the object id of the new relationship</em>
<a name="443" href="#443">443</a> <em class="jxr_javadoccomment">     */</em>
<a name="444" href="#444">444</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> createRelationship(Map&lt;String, ?&gt; properties, List&lt;Policy&gt; policies, List&lt;Ace&gt; addAces,
<a name="445" href="#445">445</a>             List&lt;Ace&gt; removeAces);
<a name="446" href="#446">446</a> 
<a name="447" href="#447">447</a>     <em class="jxr_javadoccomment">/**</em>
<a name="448" href="#448">448</a> <em class="jxr_javadoccomment">     * Creates a new relationship.</em>
<a name="449" href="#449">449</a> <em class="jxr_javadoccomment">     * </em>
<a name="450" href="#450">450</a> <em class="jxr_javadoccomment">     * @return the object id of the new relationship</em>
<a name="451" href="#451">451</a> <em class="jxr_javadoccomment">     */</em>
<a name="452" href="#452">452</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> createRelationship(Map&lt;String, ?&gt; properties);
<a name="453" href="#453">453</a> 
<a name="454" href="#454">454</a>     <em class="jxr_javadoccomment">/**</em>
<a name="455" href="#455">455</a> <em class="jxr_javadoccomment">     * Fetches the relationships from or to an object from the repository.</em>
<a name="456" href="#456">456</a> <em class="jxr_javadoccomment">     */</em>
<a name="457" href="#457">457</a>     ItemIterable&lt;Relationship&gt; getRelationships(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> objectId, <strong class="jxr_keyword">boolean</strong> includeSubRelationshipTypes,
<a name="458" href="#458">458</a>             RelationshipDirection relationshipDirection, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectType.html">ObjectType</a> type, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="459" href="#459">459</a> 
<a name="460" href="#460">460</a>     <em class="jxr_javadoccomment">/**</em>
<a name="461" href="#461">461</a> <em class="jxr_javadoccomment">     * Fetches the ACL of an object from the repository.</em>
<a name="462" href="#462">462</a> <em class="jxr_javadoccomment">     */</em>
<a name="463" href="#463">463</a>     Acl getAcl(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> objectId, <strong class="jxr_keyword">boolean</strong> onlyBasicPermissions);
<a name="464" href="#464">464</a> 
<a name="465" href="#465">465</a>     <em class="jxr_javadoccomment">/**</em>
<a name="466" href="#466">466</a> <em class="jxr_javadoccomment">     * Applies an ACL to an object.</em>
<a name="467" href="#467">467</a> <em class="jxr_javadoccomment">     */</em>
<a name="468" href="#468">468</a>     Acl applyAcl(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> objectId, List&lt;Ace&gt; addAces, List&lt;Ace&gt; removeAces, AclPropagation aclPropagation);
<a name="469" href="#469">469</a> 
<a name="470" href="#470">470</a>     <em class="jxr_javadoccomment">/**</em>
<a name="471" href="#471">471</a> <em class="jxr_javadoccomment">     * Applies a set of policies to an object.</em>
<a name="472" href="#472">472</a> <em class="jxr_javadoccomment">     */</em>
<a name="473" href="#473">473</a>     <strong class="jxr_keyword">void</strong> applyPolicy(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> objectId, ObjectId... policyIds);
<a name="474" href="#474">474</a> 
<a name="475" href="#475">475</a>     <em class="jxr_javadoccomment">/**</em>
<a name="476" href="#476">476</a> <em class="jxr_javadoccomment">     * Removes a set of policies from an object.</em>
<a name="477" href="#477">477</a> <em class="jxr_javadoccomment">     */</em>
<a name="478" href="#478">478</a>     <strong class="jxr_keyword">void</strong> removePolicy(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> objectId, ObjectId... policyIds);
<a name="479" href="#479">479</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

