<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>ClientOperationContext xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../apidocs/org/apache/chemistry/opencmis/workbench/model/ClientOperationContext.html">View Javadoc</a></div><pre>

<a class="jxr_linenumber" name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="3" href="#3">3</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="4" href="#4">4</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a class="jxr_linenumber" name="5" href="#5">5</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="6" href="#6">6</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="7" href="#7">7</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="8" href="#8">8</a>   <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="10" href="#10">10</a>  <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a class="jxr_linenumber" name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="12" href="#12">12</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="13" href="#13">13</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="14" href="#14">14</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="15" href="#15">15</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="16" href="#16">16</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="17" href="#17">17</a>  <em class="jxr_comment"> * under the License.</em>
<a class="jxr_linenumber" name="18" href="#18">18</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="19" href="#19">19</a>  <strong class="jxr_keyword">package</strong> org.apache.chemistry.opencmis.workbench.model;
<a class="jxr_linenumber" name="20" href="#20">20</a>  
<a class="jxr_linenumber" name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="22" href="#22">22</a>  
<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.client.runtime.OperationContextImpl;
<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
<a class="jxr_linenumber" name="25" href="#25">25</a>  
<a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/chemistry/opencmis/workbench/model/ClientOperationContext.html">ClientOperationContext</a> <strong class="jxr_keyword">extends</strong> OperationContextImpl {
<a class="jxr_linenumber" name="27" href="#27">27</a>  
<a class="jxr_linenumber" name="28" href="#28">28</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1L;
<a class="jxr_linenumber" name="29" href="#29">29</a>  
<a class="jxr_linenumber" name="30" href="#30">30</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String FILTER = <span class="jxr_string">"filter"</span>;
<a class="jxr_linenumber" name="31" href="#31">31</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String INCLUDE_ACLS = <span class="jxr_string">"includeAcls"</span>;
<a class="jxr_linenumber" name="32" href="#32">32</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String INCLUDE_ALLOWABLE_ACTIONS = <span class="jxr_string">"includeAllowableActions"</span>;
<a class="jxr_linenumber" name="33" href="#33">33</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String INCLUDE_POLICIES = <span class="jxr_string">"includePolicies"</span>;
<a class="jxr_linenumber" 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 INCLUDE_RELATIONSHIPS = <span class="jxr_string">"includeRelationships"</span>;
<a class="jxr_linenumber" 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 RENDITION_FILTER = <span class="jxr_string">"renditionFilter"</span>;
<a class="jxr_linenumber" name="36" href="#36">36</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ORDER_BY = <span class="jxr_string">"orderBy"</span>;
<a class="jxr_linenumber" name="37" href="#37">37</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAX_ITEMS_PER_PAGE = <span class="jxr_string">"maxItemsPerPage"</span>;
<a class="jxr_linenumber" name="38" href="#38">38</a>  
<a class="jxr_linenumber" name="39" href="#39">39</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/chemistry/opencmis/workbench/model/ClientOperationContext.html">ClientOperationContext</a>(String prefix, Map&lt;String, String&gt; map) {
<a class="jxr_linenumber" name="40" href="#40">40</a>          loadContext(prefix, map);
<a class="jxr_linenumber" name="41" href="#41">41</a>          setIncludePathSegments(false);
<a class="jxr_linenumber" name="42" href="#42">42</a>          setCacheEnabled(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="43" href="#43">43</a>      }
<a class="jxr_linenumber" name="44" href="#44">44</a>  
<a class="jxr_linenumber" name="45" href="#45">45</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> loadContext(String prefix, Map&lt;String, String&gt; map) {
<a class="jxr_linenumber" name="46" href="#46">46</a>          setFilterString(map.get(prefix + FILTER));
<a class="jxr_linenumber" name="47" href="#47">47</a>          setIncludeAcls(parseBoolean(map.get(prefix + INCLUDE_ACLS), false));
<a class="jxr_linenumber" name="48" href="#48">48</a>          setIncludeAllowableActions(parseBoolean(map.get(prefix + INCLUDE_ALLOWABLE_ACTIONS), false));
<a class="jxr_linenumber" name="49" href="#49">49</a>          setIncludePolicies(parseBoolean(map.get(prefix + INCLUDE_POLICIES), false));
<a class="jxr_linenumber" name="50" href="#50">50</a>          setIncludeRelationships(parseIncludeRelationships(map.get(prefix + INCLUDE_RELATIONSHIPS),
<a class="jxr_linenumber" name="51" href="#51">51</a>                  IncludeRelationships.NONE));
<a class="jxr_linenumber" name="52" href="#52">52</a>          setRenditionFilterString(map.get(prefix + RENDITION_FILTER));
<a class="jxr_linenumber" name="53" href="#53">53</a>          setOrderBy(map.get(prefix + ORDER_BY));
<a class="jxr_linenumber" name="54" href="#54">54</a>          setMaxItemsPerPage(parseInteger(map.get(prefix + MAX_ITEMS_PER_PAGE), 1000));
<a class="jxr_linenumber" name="55" href="#55">55</a>      }
<a class="jxr_linenumber" name="56" href="#56">56</a>  
<a class="jxr_linenumber" name="57" href="#57">57</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> parseBoolean(String s, <strong class="jxr_keyword">boolean</strong> defaultValue) {
<a class="jxr_linenumber" name="58" href="#58">58</a>          <strong class="jxr_keyword">return</strong> (s == <strong class="jxr_keyword">null</strong> ? defaultValue : Boolean.parseBoolean(s));
<a class="jxr_linenumber" name="59" href="#59">59</a>      }
<a class="jxr_linenumber" name="60" href="#60">60</a>  
<a class="jxr_linenumber" name="61" href="#61">61</a>      <strong class="jxr_keyword">private</strong> IncludeRelationships parseIncludeRelationships(String s, IncludeRelationships defaultValue) {
<a class="jxr_linenumber" name="62" href="#62">62</a>          <strong class="jxr_keyword">if</strong> (s == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="63" href="#63">63</a>              <strong class="jxr_keyword">return</strong> defaultValue;
<a class="jxr_linenumber" name="64" href="#64">64</a>          }
<a class="jxr_linenumber" name="65" href="#65">65</a>  
<a class="jxr_linenumber" name="66" href="#66">66</a>          <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="67" href="#67">67</a>              <strong class="jxr_keyword">return</strong> IncludeRelationships.fromValue(s);
<a class="jxr_linenumber" name="68" href="#68">68</a>          } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="69" href="#69">69</a>              <strong class="jxr_keyword">return</strong> defaultValue;
<a class="jxr_linenumber" name="70" href="#70">70</a>          }
<a class="jxr_linenumber" name="71" href="#71">71</a>      }
<a class="jxr_linenumber" name="72" href="#72">72</a>  
<a class="jxr_linenumber" name="73" href="#73">73</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> parseInteger(String s, <strong class="jxr_keyword">int</strong> defaultValue) {
<a class="jxr_linenumber" name="74" href="#74">74</a>          <strong class="jxr_keyword">if</strong> (s == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="75" href="#75">75</a>              <strong class="jxr_keyword">return</strong> defaultValue;
<a class="jxr_linenumber" name="76" href="#76">76</a>          }
<a class="jxr_linenumber" name="77" href="#77">77</a>  
<a class="jxr_linenumber" name="78" href="#78">78</a>          <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="79" href="#79">79</a>              <strong class="jxr_keyword">return</strong> Integer.parseInt(s);
<a class="jxr_linenumber" name="80" href="#80">80</a>          } <strong class="jxr_keyword">catch</strong> (NumberFormatException e) {
<a class="jxr_linenumber" name="81" href="#81">81</a>              <strong class="jxr_keyword">return</strong> defaultValue;
<a class="jxr_linenumber" name="82" href="#82">82</a>          }
<a class="jxr_linenumber" name="83" href="#83">83</a>      }
<a class="jxr_linenumber" name="84" href="#84">84</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

