<!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>Folder 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.util.List;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="23" href="#23">23</a>  
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.Ace;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.ContentStream;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.UnfileObject;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.VersioningState;
<a name="28" href="#28">28</a>  
<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment">/**</em>
<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * CMIS Folder.</em>
<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * &lt;p&gt;</em>
<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> * See Domain Model 2.5</em>
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> */</em>
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../../../org/apache/chemistry/opencmis/client/api/Folder.html">Folder</a> <strong class="jxr_keyword">extends</strong> FileableCmisObject, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/FolderProperties.html">FolderProperties</a> {
<a name="35" href="#35">35</a>  
<a name="36" href="#36">36</a>      <a href="../../../../../../org/apache/chemistry/opencmis/client/api/TransientFolder.html">TransientFolder</a> getTransientFolder();
<a name="37" href="#37">37</a>  
<a name="38" href="#38">38</a>      <em class="jxr_comment">// object service</em>
<a name="39" href="#39">39</a>  
<a name="40" href="#40">40</a>      <em class="jxr_javadoccomment">/**</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment">     * Creates a new document in this folder.</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment">     * </em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment">     * @return the new document object or &lt;code&gt;null&lt;/code&gt; if the parameter</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment">     *         &lt;code&gt;context&lt;/code&gt; was set to &lt;code&gt;null&lt;/code&gt;</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment">     */</em>
<a name="46" href="#46">46</a>      <a href="../../../../../../org/apache/chemistry/opencmis/client/api/Document.html">Document</a> createDocument(Map&lt;String, ?&gt; properties, ContentStream contentStream, VersioningState versioningState,
<a name="47" href="#47">47</a>              List&lt;Policy&gt; policies, List&lt;Ace&gt; addAces, List&lt;Ace&gt; removeAces, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>      <em class="jxr_javadoccomment">/**</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment">     * Creates a new document in this folder.</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment">     * </em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment">     * @return the new document object</em>
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment">     */</em>
<a name="54" href="#54">54</a>      <a href="../../../../../../org/apache/chemistry/opencmis/client/api/Document.html">Document</a> createDocument(Map&lt;String, ?&gt; properties, ContentStream contentStream, VersioningState versioningState);
<a name="55" href="#55">55</a>  
<a name="56" href="#56">56</a>      <em class="jxr_javadoccomment">/**</em>
<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment">     * Creates a new document from a source document in this folder.</em>
<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment">     * </em>
<a name="59" href="#59">59</a>  <em class="jxr_javadoccomment">     * @return the new document object or &lt;code&gt;null&lt;/code&gt; if the parameter</em>
<a name="60" href="#60">60</a>  <em class="jxr_javadoccomment">     *         &lt;code&gt;context&lt;/code&gt; was set to &lt;code&gt;null&lt;/code&gt;</em>
<a name="61" href="#61">61</a>  <em class="jxr_javadoccomment">     */</em>
<a name="62" href="#62">62</a>      <a href="../../../../../../org/apache/chemistry/opencmis/client/api/Document.html">Document</a> createDocumentFromSource(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> source, Map&lt;String, ?&gt; properties, VersioningState versioningState,
<a name="63" href="#63">63</a>              List&lt;Policy&gt; policies, List&lt;Ace&gt; addAces, List&lt;Ace&gt; removeAces, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="64" href="#64">64</a>  
<a name="65" href="#65">65</a>      <em class="jxr_javadoccomment">/**</em>
<a name="66" href="#66">66</a>  <em class="jxr_javadoccomment">     * Creates a new document from a source document in this folder.</em>
<a name="67" href="#67">67</a>  <em class="jxr_javadoccomment">     * </em>
<a name="68" href="#68">68</a>  <em class="jxr_javadoccomment">     * @return the new document object</em>
<a name="69" href="#69">69</a>  <em class="jxr_javadoccomment">     */</em>
<a name="70" href="#70">70</a>      <a href="../../../../../../org/apache/chemistry/opencmis/client/api/Document.html">Document</a> createDocumentFromSource(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/ObjectId.html">ObjectId</a> source, Map&lt;String, ?&gt; properties, VersioningState versioningState);
<a name="71" href="#71">71</a>  
<a name="72" href="#72">72</a>      <em class="jxr_javadoccomment">/**</em>
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment">     * Creates a new subfolder in this folder.</em>
<a name="74" href="#74">74</a>  <em class="jxr_javadoccomment">     * </em>
<a name="75" href="#75">75</a>  <em class="jxr_javadoccomment">     * @return the new folder object or &lt;code&gt;null&lt;/code&gt; if the parameter</em>
<a name="76" href="#76">76</a>  <em class="jxr_javadoccomment">     *         &lt;code&gt;context&lt;/code&gt; was set to &lt;code&gt;null&lt;/code&gt;</em>
<a name="77" href="#77">77</a>  <em class="jxr_javadoccomment">     */</em>
<a name="78" href="#78">78</a>      <a href="../../../../../../org/apache/chemistry/opencmis/client/api/Folder.html">Folder</a> createFolder(Map&lt;String, ?&gt; properties, List&lt;Policy&gt; policies, List&lt;Ace&gt; addAces, List&lt;Ace&gt; removeAces,
<a name="79" href="#79">79</a>              <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="80" href="#80">80</a>  
<a name="81" href="#81">81</a>      <em class="jxr_javadoccomment">/**</em>
<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment">     * Creates a new subfolder in this folder.</em>
<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment">     * </em>
<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment">     * @return the new folder object</em>
<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment">     */</em>
<a name="86" href="#86">86</a>      <a href="../../../../../../org/apache/chemistry/opencmis/client/api/Folder.html">Folder</a> createFolder(Map&lt;String, ?&gt; properties);
<a name="87" href="#87">87</a>  
<a name="88" href="#88">88</a>      <em class="jxr_javadoccomment">/**</em>
<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment">     * Creates a new policy in this folder.</em>
<a name="90" href="#90">90</a>  <em class="jxr_javadoccomment">     * </em>
<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment">     * @return the new policy object or &lt;code&gt;null&lt;/code&gt; if the parameter</em>
<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment">     *         &lt;code&gt;context&lt;/code&gt; was set to &lt;code&gt;null&lt;/code&gt;</em>
<a name="93" href="#93">93</a>  <em class="jxr_javadoccomment">     */</em>
<a name="94" href="#94">94</a>      <a href="../../../../../../org/apache/chemistry/opencmis/client/api/Policy.html">Policy</a> createPolicy(Map&lt;String, ?&gt; properties, List&lt;Policy&gt; policies, List&lt;Ace&gt; addAces, List&lt;Ace&gt; removeAces,
<a name="95" href="#95">95</a>              <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="96" href="#96">96</a>  
<a name="97" href="#97">97</a>      <em class="jxr_javadoccomment">/**</em>
<a name="98" href="#98">98</a>  <em class="jxr_javadoccomment">     * Creates a new policy in this folder.</em>
<a name="99" href="#99">99</a>  <em class="jxr_javadoccomment">     * </em>
<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">     * @return the new policy 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/Policy.html">Policy</a> createPolicy(Map&lt;String, ?&gt; properties);
<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">     * Deletes this folder and all subfolders.</em>
<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     * </em>
<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">     * @return a list of object ids which failed to be deleted</em>
<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">     */</em>
<a name="109" href="#109">109</a>     List&lt;String&gt; deleteTree(<strong class="jxr_keyword">boolean</strong> allversions, UnfileObject unfile, <strong class="jxr_keyword">boolean</strong> continueOnFailure);
<a name="110" href="#110">110</a> 
<a name="111" href="#111">111</a>     <em class="jxr_comment">// navigation service</em>
<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">     * Gets the folder tree starting with this folder.</em>
<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">     */</em>
<a name="116" href="#116">116</a>     List&lt;Tree&lt;FileableCmisObject&gt;&gt; getFolderTree(<strong class="jxr_keyword">int</strong> depth);
<a name="117" href="#117">117</a> 
<a name="118" href="#118">118</a>     <em class="jxr_javadoccomment">/**</em>
<a name="119" href="#119">119</a> <em class="jxr_javadoccomment">     * Gets the folder tree starting with this folder using the given</em>
<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">     * {@link OperationContext}.</em>
<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">     */</em>
<a name="122" href="#122">122</a>     List&lt;Tree&lt;FileableCmisObject&gt;&gt; getFolderTree(<strong class="jxr_keyword">int</strong> depth, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="123" href="#123">123</a> 
<a name="124" href="#124">124</a>     <em class="jxr_javadoccomment">/**</em>
<a name="125" href="#125">125</a> <em class="jxr_javadoccomment">     * Gets the folder descendants starting with this folder.</em>
<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">     */</em>
<a name="127" href="#127">127</a>     List&lt;Tree&lt;FileableCmisObject&gt;&gt; getDescendants(<strong class="jxr_keyword">int</strong> depth);
<a name="128" href="#128">128</a> 
<a name="129" href="#129">129</a>     <em class="jxr_javadoccomment">/**</em>
<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     * Gets the folder descendants starting with this folder using the given</em>
<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">     * {@link OperationContext}.</em>
<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">     */</em>
<a name="133" href="#133">133</a>     List&lt;Tree&lt;FileableCmisObject&gt;&gt; getDescendants(<strong class="jxr_keyword">int</strong> depth, <a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="134" href="#134">134</a> 
<a name="135" href="#135">135</a>     <em class="jxr_javadoccomment">/**</em>
<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">     * Returns the children of this folder.</em>
<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">     */</em>
<a name="138" href="#138">138</a>     ItemIterable&lt;CmisObject&gt; getChildren();
<a name="139" href="#139">139</a> 
<a name="140" href="#140">140</a>     <em class="jxr_javadoccomment">/**</em>
<a name="141" href="#141">141</a> <em class="jxr_javadoccomment">     * Returns the children of this folder using the given</em>
<a name="142" href="#142">142</a> <em class="jxr_javadoccomment">     * {@link OperationContext}.</em>
<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">     */</em>
<a name="144" href="#144">144</a>     ItemIterable&lt;CmisObject&gt; getChildren(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<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 if the folder is the root folder.</em>
<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     */</em>
<a name="149" href="#149">149</a>     <strong class="jxr_keyword">boolean</strong> isRootFolder();
<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">     * Gets the parent folder object</em>
<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">     * </em>
<a name="154" href="#154">154</a> <em class="jxr_javadoccomment">     * @return the parent folder object or &lt;code&gt;null&lt;/code&gt; if the folder is</em>
<a name="155" href="#155">155</a> <em class="jxr_javadoccomment">     *         the root folder.</em>
<a name="156" href="#156">156</a> <em class="jxr_javadoccomment">     */</em>
<a name="157" href="#157">157</a>     <a href="../../../../../../org/apache/chemistry/opencmis/client/api/Folder.html">Folder</a> getFolderParent();
<a name="158" href="#158">158</a> 
<a name="159" href="#159">159</a>     <em class="jxr_javadoccomment">/**</em>
<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">     * Returns the path of the folder.</em>
<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">     */</em>
<a name="162" href="#162">162</a>     String getPath();
<a name="163" href="#163">163</a> 
<a name="164" href="#164">164</a>     <em class="jxr_javadoccomment">/**</em>
<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">     * Returns all checked out documents in this folder.</em>
<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">     */</em>
<a name="167" href="#167">167</a>     ItemIterable&lt;Document&gt; getCheckedOutDocs();
<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 in this folder using the given</em>
<a name="171" href="#171">171</a> <em class="jxr_javadoccomment">     * {@link OperationContext}.</em>
<a name="172" href="#172">172</a> <em class="jxr_javadoccomment">     */</em>
<a name="173" href="#173">173</a>     ItemIterable&lt;Document&gt; getCheckedOutDocs(<a href="../../../../../../org/apache/chemistry/opencmis/client/api/OperationContext.html">OperationContext</a> context);
<a name="174" href="#174">174</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

