<!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>AtomDocumentBase 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.server.impl.atompub;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.io.UnsupportedEncodingException;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.math.BigInteger;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.net.URLEncoder;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.text.SimpleDateFormat;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.GregorianCalendar;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.Locale;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.TimeZone;
<a name="28" href="#28">28</a>  
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> javax.xml.stream.XMLStreamException;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> javax.xml.stream.XMLStreamWriter;
<a name="31" href="#31">31</a>  
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.Constants;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.codec.binary.Base64;
<a name="34" href="#34">34</a>  
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment">/**</em>
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * Atom base class.</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> */</em>
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../../org/apache/chemistry/opencmis/server/impl/atompub/AtomDocumentBase.html">AtomDocumentBase</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../../org/apache/chemistry/opencmis/server/impl/atompub/XMLDocumentBase.html">XMLDocumentBase</a> {
<a name="39" href="#39">39</a>  
<a name="40" href="#40">40</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ID_PREFIX = <span class="jxr_string">"http://chemistry.apache.org/"</span>;
<a name="41" href="#41">41</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ID_DUMMY = <span class="jxr_string">"http://chemistry.apache.org/no-id"</span>;
<a name="42" href="#42">42</a>  
<a name="43" href="#43">43</a>      <strong class="jxr_keyword">private</strong> SimpleDateFormat dateFormater;
<a name="44" href="#44">44</a>  
<a name="45" href="#45">45</a>      <em class="jxr_javadoccomment">/**</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment">     * Formats a DateTime.</em>
<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment">     */</em>
<a name="48" href="#48">48</a>      <strong class="jxr_keyword">public</strong> String formatDate(<strong class="jxr_keyword">long</strong> millis) {
<a name="49" href="#49">49</a>          <strong class="jxr_keyword">if</strong> (dateFormater == <strong class="jxr_keyword">null</strong>) {
<a name="50" href="#50">50</a>              dateFormater = <strong class="jxr_keyword">new</strong> SimpleDateFormat(<span class="jxr_string">"yyyy-MM-dd'T'HH:mm:ss'Z'"</span>, Locale.US);
<a name="51" href="#51">51</a>              dateFormater.setTimeZone(TimeZone.getTimeZone(<span class="jxr_string">"UTC"</span>));
<a name="52" href="#52">52</a>          }
<a name="53" href="#53">53</a>  
<a name="54" href="#54">54</a>          <strong class="jxr_keyword">return</strong> dateFormater.format(millis);
<a name="55" href="#55">55</a>      }
<a name="56" href="#56">56</a>  
<a name="57" href="#57">57</a>      <em class="jxr_javadoccomment">/**</em>
<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment">     * Generates a valid Atom id.</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> String generateAtomId(String input) {
<a name="61" href="#61">61</a>          <strong class="jxr_keyword">if</strong> (input == <strong class="jxr_keyword">null</strong>) {
<a name="62" href="#62">62</a>              <strong class="jxr_keyword">return</strong> ID_DUMMY;
<a name="63" href="#63">63</a>          }
<a name="64" href="#64">64</a>  
<a name="65" href="#65">65</a>          <strong class="jxr_keyword">try</strong> {
<a name="66" href="#66">66</a>              <strong class="jxr_keyword">return</strong> ID_PREFIX + (<strong class="jxr_keyword">new</strong> String(Base64.encodeBase64(input.getBytes(<span class="jxr_string">"UTF-8"</span>))));
<a name="67" href="#67">67</a>          } <strong class="jxr_keyword">catch</strong> (UnsupportedEncodingException e) {
<a name="68" href="#68">68</a>              <strong class="jxr_keyword">return</strong> ID_DUMMY;
<a name="69" href="#69">69</a>          }
<a name="70" href="#70">70</a>      }
<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">     * Writes a simple tag.</em>
<a name="74" href="#74">74</a>  <em class="jxr_javadoccomment">     */</em>
<a name="75" href="#75">75</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeSimpleTag(String namespace, String name, String value) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="76" href="#76">76</a>          <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) {
<a name="77" href="#77">77</a>              <strong class="jxr_keyword">return</strong>;
<a name="78" href="#78">78</a>          }
<a name="79" href="#79">79</a>  
<a name="80" href="#80">80</a>          XMLStreamWriter xsw = getWriter();
<a name="81" href="#81">81</a>  
<a name="82" href="#82">82</a>          xsw.writeStartElement(namespace, name);
<a name="83" href="#83">83</a>          xsw.writeCharacters(value);
<a name="84" href="#84">84</a>          xsw.writeEndElement();
<a name="85" href="#85">85</a>      }
<a name="86" href="#86">86</a>  
<a name="87" href="#87">87</a>      <em class="jxr_javadoccomment">/**</em>
<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment">     * Writes a simple date tag.</em>
<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment">     */</em>
<a name="90" href="#90">90</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeSimpleDate(String namespace, String name, GregorianCalendar value) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="91" href="#91">91</a>          <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) {
<a name="92" href="#92">92</a>              <strong class="jxr_keyword">return</strong>;
<a name="93" href="#93">93</a>          }
<a name="94" href="#94">94</a>  
<a name="95" href="#95">95</a>          writeSimpleTag(namespace, name, formatDate(value.getTimeInMillis()));
<a name="96" href="#96">96</a>      }
<a name="97" href="#97">97</a>  
<a name="98" href="#98">98</a>      <em class="jxr_javadoccomment">/**</em>
<a name="99" href="#99">99</a>  <em class="jxr_javadoccomment">     * Writes a simple date tag.</em>
<a name="100" href="#100">100</a> <em class="jxr_javadoccomment">     */</em>
<a name="101" href="#101">101</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeSimpleDate(String namespace, String name, <strong class="jxr_keyword">long</strong> millis) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="102" href="#102">102</a>         writeSimpleTag(namespace, name, formatDate(millis));
<a name="103" href="#103">103</a>     }
<a name="104" href="#104">104</a> 
<a name="105" href="#105">105</a>     <em class="jxr_javadoccomment">/**</em>
<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     * Writes an Atom id tag.</em>
<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">     */</em>
<a name="108" href="#108">108</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeId(String id) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="109" href="#109">109</a>         writeSimpleTag(Constants.NAMESPACE_ATOM, <span class="jxr_string">"id"</span>, id);
<a name="110" href="#110">110</a>     }
<a name="111" href="#111">111</a> 
<a name="112" href="#112">112</a>     <em class="jxr_javadoccomment">/**</em>
<a name="113" href="#113">113</a> <em class="jxr_javadoccomment">     * Writes an Atom title tag.</em>
<a name="114" href="#114">114</a> <em class="jxr_javadoccomment">     */</em>
<a name="115" href="#115">115</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeTitle(String title) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="116" href="#116">116</a>         writeSimpleTag(Constants.NAMESPACE_ATOM, <span class="jxr_string">"title"</span>, title);
<a name="117" href="#117">117</a>     }
<a name="118" href="#118">118</a> 
<a name="119" href="#119">119</a>     <em class="jxr_javadoccomment">/**</em>
<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">     * Writes an Atom author tag.</em>
<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">     */</em>
<a name="122" href="#122">122</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeAuthor(String author) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="123" href="#123">123</a>         XMLStreamWriter xsw = getWriter();
<a name="124" href="#124">124</a> 
<a name="125" href="#125">125</a>         xsw.writeStartElement(Constants.NAMESPACE_ATOM, <span class="jxr_string">"author"</span>);
<a name="126" href="#126">126</a>         writeSimpleTag(Constants.NAMESPACE_ATOM, <span class="jxr_string">"name"</span>, author);
<a name="127" href="#127">127</a>         xsw.writeEndElement();
<a name="128" href="#128">128</a>     }
<a name="129" href="#129">129</a> 
<a name="130" href="#130">130</a>     <em class="jxr_javadoccomment">/**</em>
<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">     * Writes an Atom updated tag.</em>
<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">     */</em>
<a name="133" href="#133">133</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeUpdated(GregorianCalendar updated) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="134" href="#134">134</a>         writeSimpleDate(Constants.NAMESPACE_APP, <span class="jxr_string">"edited"</span>, updated);
<a name="135" href="#135">135</a>         writeSimpleDate(Constants.NAMESPACE_ATOM, <span class="jxr_string">"updated"</span>, updated);
<a name="136" href="#136">136</a>     }
<a name="137" href="#137">137</a> 
<a name="138" href="#138">138</a>     <em class="jxr_javadoccomment">/**</em>
<a name="139" href="#139">139</a> <em class="jxr_javadoccomment">     * Writes an Atom updated tag.</em>
<a name="140" href="#140">140</a> <em class="jxr_javadoccomment">     */</em>
<a name="141" href="#141">141</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeUpdated(<strong class="jxr_keyword">long</strong> updated) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="142" href="#142">142</a>         writeSimpleDate(Constants.NAMESPACE_APP, <span class="jxr_string">"edited"</span>, updated);
<a name="143" href="#143">143</a>         writeSimpleDate(Constants.NAMESPACE_ATOM, <span class="jxr_string">"updated"</span>, updated);
<a name="144" href="#144">144</a>     }
<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">     * Writes an Atom published tag.</em>
<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     */</em>
<a name="149" href="#149">149</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writePublished(GregorianCalendar published) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="150" href="#150">150</a>         writeSimpleDate(Constants.NAMESPACE_ATOM, <span class="jxr_string">"published"</span>, published);
<a name="151" href="#151">151</a>     }
<a name="152" href="#152">152</a> 
<a name="153" href="#153">153</a>     <em class="jxr_javadoccomment">/**</em>
<a name="154" href="#154">154</a> <em class="jxr_javadoccomment">     * Writes an Atom published tag.</em>
<a name="155" href="#155">155</a> <em class="jxr_javadoccomment">     */</em>
<a name="156" href="#156">156</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writePublished(<strong class="jxr_keyword">long</strong> published) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="157" href="#157">157</a>         writeSimpleDate(Constants.NAMESPACE_ATOM, <span class="jxr_string">"published"</span>, published);
<a name="158" href="#158">158</a>     }
<a name="159" href="#159">159</a> 
<a name="160" href="#160">160</a>     <em class="jxr_javadoccomment">/**</em>
<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">     * Writes a CMIS pathSegment tag.</em>
<a name="162" href="#162">162</a> <em class="jxr_javadoccomment">     */</em>
<a name="163" href="#163">163</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writePathSegment(String pathSegment) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="164" href="#164">164</a>         writeSimpleTag(Constants.NAMESPACE_RESTATOM, <span class="jxr_string">"pathSegment"</span>, pathSegment);
<a name="165" href="#165">165</a>     }
<a name="166" href="#166">166</a> 
<a name="167" href="#167">167</a>     <em class="jxr_javadoccomment">/**</em>
<a name="168" href="#168">168</a> <em class="jxr_javadoccomment">     * Writes a CMIS relativePathSegment tag.</em>
<a name="169" href="#169">169</a> <em class="jxr_javadoccomment">     */</em>
<a name="170" href="#170">170</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeRelativePathSegment(String relativePathSegment) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="171" href="#171">171</a>         writeSimpleTag(Constants.NAMESPACE_RESTATOM, <span class="jxr_string">"relativePathSegment"</span>, relativePathSegment);
<a name="172" href="#172">172</a>     }
<a name="173" href="#173">173</a> 
<a name="174" href="#174">174</a>     <em class="jxr_javadoccomment">/**</em>
<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">     * Writes an Atom collection.</em>
<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">     */</em>
<a name="177" href="#177">177</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeCollection(String href, String collectionType, String text, String... accept)
<a name="178" href="#178">178</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="179" href="#179">179</a>         XMLStreamWriter xsw = getWriter();
<a name="180" href="#180">180</a> 
<a name="181" href="#181">181</a>         xsw.writeStartElement(Constants.NAMESPACE_APP, <span class="jxr_string">"collection"</span>);
<a name="182" href="#182">182</a>         xsw.writeAttribute(<span class="jxr_string">"href"</span>, href);
<a name="183" href="#183">183</a> 
<a name="184" href="#184">184</a>         <strong class="jxr_keyword">if</strong> (collectionType != <strong class="jxr_keyword">null</strong>) {
<a name="185" href="#185">185</a>             xsw.writeStartElement(Constants.NAMESPACE_RESTATOM, <span class="jxr_string">"collectionType"</span>);
<a name="186" href="#186">186</a>             xsw.writeCharacters(collectionType);
<a name="187" href="#187">187</a>             xsw.writeEndElement();
<a name="188" href="#188">188</a>         }
<a name="189" href="#189">189</a> 
<a name="190" href="#190">190</a>         xsw.writeStartElement(Constants.NAMESPACE_ATOM, <span class="jxr_string">"title"</span>);
<a name="191" href="#191">191</a>         xsw.writeAttribute(<span class="jxr_string">"type"</span>, <span class="jxr_string">"text"</span>);
<a name="192" href="#192">192</a>         xsw.writeCharacters(text);
<a name="193" href="#193">193</a>         xsw.writeEndElement();
<a name="194" href="#194">194</a> 
<a name="195" href="#195">195</a>         <strong class="jxr_keyword">for</strong> (String ct : accept) {
<a name="196" href="#196">196</a>             xsw.writeStartElement(Constants.NAMESPACE_APP, <span class="jxr_string">"accept"</span>);
<a name="197" href="#197">197</a>             xsw.writeCharacters(ct);
<a name="198" href="#198">198</a>             xsw.writeEndElement();
<a name="199" href="#199">199</a>         }
<a name="200" href="#200">200</a> 
<a name="201" href="#201">201</a>         xsw.writeEndElement();
<a name="202" href="#202">202</a>     }
<a name="203" href="#203">203</a> 
<a name="204" href="#204">204</a>     <em class="jxr_javadoccomment">/**</em>
<a name="205" href="#205">205</a> <em class="jxr_javadoccomment">     * Writes a link.</em>
<a name="206" href="#206">206</a> <em class="jxr_javadoccomment">     */</em>
<a name="207" href="#207">207</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeLink(String rel, String href, String type, String id) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="208" href="#208">208</a>         XMLStreamWriter xsw = getWriter();
<a name="209" href="#209">209</a> 
<a name="210" href="#210">210</a>         xsw.writeStartElement(Constants.NAMESPACE_ATOM, <span class="jxr_string">"link"</span>);
<a name="211" href="#211">211</a> 
<a name="212" href="#212">212</a>         xsw.writeAttribute(<span class="jxr_string">"rel"</span>, rel);
<a name="213" href="#213">213</a>         xsw.writeAttribute(<span class="jxr_string">"href"</span>, href);
<a name="214" href="#214">214</a>         <strong class="jxr_keyword">if</strong> (type != <strong class="jxr_keyword">null</strong>) {
<a name="215" href="#215">215</a>             xsw.writeAttribute(<span class="jxr_string">"type"</span>, type);
<a name="216" href="#216">216</a>         }
<a name="217" href="#217">217</a>         <strong class="jxr_keyword">if</strong> (id != <strong class="jxr_keyword">null</strong>) {
<a name="218" href="#218">218</a>             xsw.writeAttribute(Constants.NAMESPACE_RESTATOM, <span class="jxr_string">"id"</span>, id);
<a name="219" href="#219">219</a>         }
<a name="220" href="#220">220</a> 
<a name="221" href="#221">221</a>         xsw.writeEndElement();
<a name="222" href="#222">222</a>     }
<a name="223" href="#223">223</a> 
<a name="224" href="#224">224</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeServiceLink(String href, String repositoryId) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="225" href="#225">225</a>         <strong class="jxr_keyword">try</strong> {
<a name="226" href="#226">226</a>             writeLink(Constants.REL_SERVICE, href + <span class="jxr_string">"?repositoryId="</span> + URLEncoder.encode(repositoryId, <span class="jxr_string">"UTF-8"</span>),
<a name="227" href="#227">227</a>                     Constants.MEDIATYPE_SERVICE, <strong class="jxr_keyword">null</strong>);
<a name="228" href="#228">228</a>         } <strong class="jxr_keyword">catch</strong> (UnsupportedEncodingException e) {
<a name="229" href="#229">229</a>         }
<a name="230" href="#230">230</a>     }
<a name="231" href="#231">231</a> 
<a name="232" href="#232">232</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeSelfLink(String href, String id) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="233" href="#233">233</a>         writeLink(Constants.REL_SELF, href, Constants.MEDIATYPE_ENTRY, id);
<a name="234" href="#234">234</a>     }
<a name="235" href="#235">235</a> 
<a name="236" href="#236">236</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeEnclosureLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="237" href="#237">237</a>         writeLink(Constants.REL_ENCLOSURE, href, Constants.MEDIATYPE_ENTRY, <strong class="jxr_keyword">null</strong>);
<a name="238" href="#238">238</a>     }
<a name="239" href="#239">239</a> 
<a name="240" href="#240">240</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeEditLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="241" href="#241">241</a>         writeLink(Constants.REL_EDIT, href, Constants.MEDIATYPE_ENTRY, <strong class="jxr_keyword">null</strong>);
<a name="242" href="#242">242</a>     }
<a name="243" href="#243">243</a> 
<a name="244" href="#244">244</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeAlternateLink(String href, String type, String kind, String title, BigInteger length)
<a name="245" href="#245">245</a>             <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="246" href="#246">246</a>         XMLStreamWriter xsw = getWriter();
<a name="247" href="#247">247</a> 
<a name="248" href="#248">248</a>         xsw.writeStartElement(Constants.NAMESPACE_ATOM, <span class="jxr_string">"link"</span>);
<a name="249" href="#249">249</a> 
<a name="250" href="#250">250</a>         xsw.writeAttribute(<span class="jxr_string">"rel"</span>, Constants.REL_ALTERNATE);
<a name="251" href="#251">251</a>         xsw.writeAttribute(<span class="jxr_string">"href"</span>, href);
<a name="252" href="#252">252</a>         <strong class="jxr_keyword">if</strong> (type != <strong class="jxr_keyword">null</strong>) {
<a name="253" href="#253">253</a>             xsw.writeAttribute(<span class="jxr_string">"type"</span>, type);
<a name="254" href="#254">254</a>         }
<a name="255" href="#255">255</a>         <strong class="jxr_keyword">if</strong> (kind != <strong class="jxr_keyword">null</strong>) {
<a name="256" href="#256">256</a>             xsw.writeAttribute(Constants.NAMESPACE_RESTATOM, <span class="jxr_string">"renditionKind"</span>, kind);
<a name="257" href="#257">257</a>         }
<a name="258" href="#258">258</a>         <strong class="jxr_keyword">if</strong> (title != <strong class="jxr_keyword">null</strong>) {
<a name="259" href="#259">259</a>             xsw.writeAttribute(<span class="jxr_string">"title"</span>, title);
<a name="260" href="#260">260</a>         }
<a name="261" href="#261">261</a>         <strong class="jxr_keyword">if</strong> (length != <strong class="jxr_keyword">null</strong>) {
<a name="262" href="#262">262</a>             xsw.writeAttribute(<span class="jxr_string">"length"</span>, length.toString());
<a name="263" href="#263">263</a>         }
<a name="264" href="#264">264</a> 
<a name="265" href="#265">265</a>         xsw.writeEndElement();
<a name="266" href="#266">266</a>     }
<a name="267" href="#267">267</a> 
<a name="268" href="#268">268</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeWorkingCopyLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="269" href="#269">269</a>         writeLink(Constants.REL_WORKINGCOPY, href, Constants.MEDIATYPE_ENTRY, <strong class="jxr_keyword">null</strong>);
<a name="270" href="#270">270</a>     }
<a name="271" href="#271">271</a> 
<a name="272" href="#272">272</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeUpLink(String href, String type) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="273" href="#273">273</a>         writeLink(Constants.REL_UP, href, type, <strong class="jxr_keyword">null</strong>);
<a name="274" href="#274">274</a>     }
<a name="275" href="#275">275</a> 
<a name="276" href="#276">276</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeDownLink(String href, String type) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="277" href="#277">277</a>         writeLink(Constants.REL_DOWN, href, type, <strong class="jxr_keyword">null</strong>);
<a name="278" href="#278">278</a>     }
<a name="279" href="#279">279</a> 
<a name="280" href="#280">280</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeVersionHistoryLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="281" href="#281">281</a>         writeLink(Constants.REL_VERSIONHISTORY, href, Constants.MEDIATYPE_FEED, <strong class="jxr_keyword">null</strong>);
<a name="282" href="#282">282</a>     }
<a name="283" href="#283">283</a> 
<a name="284" href="#284">284</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeCurrentVerionsLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="285" href="#285">285</a>         writeLink(Constants.REL_CURRENTVERSION, href, Constants.MEDIATYPE_ENTRY, <strong class="jxr_keyword">null</strong>);
<a name="286" href="#286">286</a>     }
<a name="287" href="#287">287</a> 
<a name="288" href="#288">288</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeEditMediaLink(String href, String type) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="289" href="#289">289</a>         writeLink(Constants.REL_EDITMEDIA, href, type, <strong class="jxr_keyword">null</strong>);
<a name="290" href="#290">290</a>     }
<a name="291" href="#291">291</a> 
<a name="292" href="#292">292</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeDescribedByLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="293" href="#293">293</a>         writeLink(Constants.REL_DESCRIBEDBY, href, Constants.MEDIATYPE_ENTRY, <strong class="jxr_keyword">null</strong>);
<a name="294" href="#294">294</a>     }
<a name="295" href="#295">295</a> 
<a name="296" href="#296">296</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeAllowableActionsLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="297" href="#297">297</a>         writeLink(Constants.REL_ALLOWABLEACTIONS, href, Constants.MEDIATYPE_ALLOWABLEACTION, <strong class="jxr_keyword">null</strong>);
<a name="298" href="#298">298</a>     }
<a name="299" href="#299">299</a> 
<a name="300" href="#300">300</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeAclLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="301" href="#301">301</a>         writeLink(Constants.REL_ACL, href, Constants.MEDIATYPE_ACL, <strong class="jxr_keyword">null</strong>);
<a name="302" href="#302">302</a>     }
<a name="303" href="#303">303</a> 
<a name="304" href="#304">304</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writePoliciesLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="305" href="#305">305</a>         writeLink(Constants.REL_POLICIES, href, Constants.MEDIATYPE_FEED, <strong class="jxr_keyword">null</strong>);
<a name="306" href="#306">306</a>     }
<a name="307" href="#307">307</a> 
<a name="308" href="#308">308</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeRelationshipsLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="309" href="#309">309</a>         writeLink(Constants.REL_RELATIONSHIPS, href, Constants.MEDIATYPE_FEED, <strong class="jxr_keyword">null</strong>);
<a name="310" href="#310">310</a>     }
<a name="311" href="#311">311</a> 
<a name="312" href="#312">312</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeRelationshipSourceLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="313" href="#313">313</a>         writeLink(Constants.REL_SOURCE, href, Constants.MEDIATYPE_ENTRY, <strong class="jxr_keyword">null</strong>);
<a name="314" href="#314">314</a>     }
<a name="315" href="#315">315</a> 
<a name="316" href="#316">316</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeRelationshipTargetLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="317" href="#317">317</a>         writeLink(Constants.REL_TARGET, href, Constants.MEDIATYPE_ENTRY, <strong class="jxr_keyword">null</strong>);
<a name="318" href="#318">318</a>     }
<a name="319" href="#319">319</a> 
<a name="320" href="#320">320</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeFolderTreeLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="321" href="#321">321</a>         writeLink(Constants.REL_FOLDERTREE, href, Constants.MEDIATYPE_DESCENDANTS, <strong class="jxr_keyword">null</strong>);
<a name="322" href="#322">322</a>     }
<a name="323" href="#323">323</a> 
<a name="324" href="#324">324</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeTypeUpLink(String href, String type) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="325" href="#325">325</a>         writeLink(Constants.REL_UP, href, type, <strong class="jxr_keyword">null</strong>);
<a name="326" href="#326">326</a>     }
<a name="327" href="#327">327</a> 
<a name="328" href="#328">328</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeTypeDownLink(String href, String type) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="329" href="#329">329</a>         writeLink(Constants.REL_DOWN, href, type, <strong class="jxr_keyword">null</strong>);
<a name="330" href="#330">330</a>     }
<a name="331" href="#331">331</a> 
<a name="332" href="#332">332</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeViaLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="333" href="#333">333</a>         writeLink(Constants.REL_VIA, href, Constants.MEDIATYPE_ENTRY, <strong class="jxr_keyword">null</strong>);
<a name="334" href="#334">334</a>     }
<a name="335" href="#335">335</a> 
<a name="336" href="#336">336</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeFirstLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="337" href="#337">337</a>         writeLink(Constants.REL_FIRST, href, Constants.MEDIATYPE_FEED, <strong class="jxr_keyword">null</strong>);
<a name="338" href="#338">338</a>     }
<a name="339" href="#339">339</a> 
<a name="340" href="#340">340</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeLastLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="341" href="#341">341</a>         writeLink(Constants.REL_LAST, href, Constants.MEDIATYPE_FEED, <strong class="jxr_keyword">null</strong>);
<a name="342" href="#342">342</a>     }
<a name="343" href="#343">343</a> 
<a name="344" href="#344">344</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writePreviousLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="345" href="#345">345</a>         writeLink(Constants.REL_PREV, href, Constants.MEDIATYPE_FEED, <strong class="jxr_keyword">null</strong>);
<a name="346" href="#346">346</a>     }
<a name="347" href="#347">347</a> 
<a name="348" href="#348">348</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> writeNextLink(String href) <strong class="jxr_keyword">throws</strong> XMLStreamException {
<a name="349" href="#349">349</a>         writeLink(Constants.REL_NEXT, href, Constants.MEDIATYPE_FEED, <strong class="jxr_keyword">null</strong>);
<a name="350" href="#350">350</a>     }
<a name="351" href="#351">351</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

