|
| 1 | +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 2 | +<htmlxmlns="http://www.w3.org/1999/xhtml"xml:lang="en_US"lang="en_US"> |
| 3 | +<head> |
| 4 | +<metahttp-equiv="content-type"content="text/html; charset=UTF-8"/> |
| 5 | +<title>AsyncCompletionHandler xref</title> |
| 6 | +<linktype="text/css"rel="stylesheet"href="../../../../stylesheet.css"/> |
| 7 | +</head> |
| 8 | +<body> |
| 9 | +<divid="overview"><ahref="../../../../../apidocs/com/ning/http/client/AsyncCompletionHandler.html">View Javadoc</a></div><pre> |
| 10 | + |
| 11 | +<aclass="jxr_linenumber"name="1"href="#1">1</a><emclass="jxr_comment">/*</em> |
| 12 | +<aclass="jxr_linenumber"name="2"href="#2">2</a><emclass="jxr_comment"> * Copyright 2010 Ning, Inc.</em> |
| 13 | +<aclass="jxr_linenumber"name="3"href="#3">3</a><emclass="jxr_comment"> *</em> |
| 14 | +<aclass="jxr_linenumber"name="4"href="#4">4</a><emclass="jxr_comment"> * Ning licenses this file to you under the Apache License, version 2.0</em> |
| 15 | +<aclass="jxr_linenumber"name="5"href="#5">5</a><emclass="jxr_comment"> * (the "License"); you may not use this file except in compliance with the</em> |
| 16 | +<aclass="jxr_linenumber"name="6"href="#6">6</a><emclass="jxr_comment"> * License. You may obtain a copy of the License at:</em> |
| 17 | +<aclass="jxr_linenumber"name="7"href="#7">7</a><emclass="jxr_comment"> *</em> |
| 18 | +<aclass="jxr_linenumber"name="8"href="#8">8</a><emclass="jxr_comment"> *<ahref="http://www.apache.org/licenses/LICENSE-2.0"target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em> |
| 19 | +<aclass="jxr_linenumber"name="9"href="#9">9</a><emclass="jxr_comment"> *</em> |
| 20 | +<aclass="jxr_linenumber"name="10"href="#10">10</a><emclass="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> |
| 21 | +<aclass="jxr_linenumber"name="11"href="#11">11</a><emclass="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</em> |
| 22 | +<aclass="jxr_linenumber"name="12"href="#12">12</a><emclass="jxr_comment"> * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</em> |
| 23 | +<aclass="jxr_linenumber"name="13"href="#13">13</a><emclass="jxr_comment"> * License for the specific language governing permissions and limitations</em> |
| 24 | +<aclass="jxr_linenumber"name="14"href="#14">14</a><emclass="jxr_comment"> * under the License.</em> |
| 25 | +<aclass="jxr_linenumber"name="15"href="#15">15</a><emclass="jxr_comment"> *</em> |
| 26 | +<aclass="jxr_linenumber"name="16"href="#16">16</a><emclass="jxr_comment"> */</em> |
| 27 | +<aclass="jxr_linenumber"name="17"href="#17">17</a><strongclass="jxr_keyword">package</strong> com.ning.http.client; |
| 28 | +<aclass="jxr_linenumber"name="18"href="#18">18</a> |
| 29 | +<aclass="jxr_linenumber"name="19"href="#19">19</a><strongclass="jxr_keyword">import</strong> org.slf4j.Logger; |
| 30 | +<aclass="jxr_linenumber"name="20"href="#20">20</a><strongclass="jxr_keyword">import</strong> org.slf4j.LoggerFactory; |
| 31 | +<aclass="jxr_linenumber"name="21"href="#21">21</a> |
| 32 | +<aclass="jxr_linenumber"name="22"href="#22">22</a><emclass="jxr_javadoccomment">/**</em> |
| 33 | +<aclass="jxr_linenumber"name="23"href="#23">23</a><emclass="jxr_javadoccomment"> * An {@link AsyncHandler} augmented with an {@link #onCompleted(Response)} convenience method which gets called</em> |
| 34 | +<aclass="jxr_linenumber"name="24"href="#24">24</a><emclass="jxr_javadoccomment"> * when the {@link Response} processing is finished. This class also implement the {@link ProgressAsyncHandler} callback,</em> |
| 35 | +<aclass="jxr_linenumber"name="25"href="#25">25</a><emclass="jxr_javadoccomment"> * all doing nothing except returning {@link com.ning.http.client.AsyncHandler.STATE#CONTINUE}</em> |
| 36 | +<aclass="jxr_linenumber"name="26"href="#26">26</a><emclass="jxr_javadoccomment"> *</em> |
| 37 | +<aclass="jxr_linenumber"name="27"href="#27">27</a><emclass="jxr_javadoccomment"> * @param <T> Type of the value that will be returned by the associated {@link java.util.concurrent.Future}</em> |
| 38 | +<aclass="jxr_linenumber"name="28"href="#28">28</a><emclass="jxr_javadoccomment"> */</em> |
| 39 | +<aclass="jxr_linenumber"name="29"href="#29">29</a><strongclass="jxr_keyword">public</strong><strongclass="jxr_keyword">abstract</strong><strongclass="jxr_keyword">class</strong> AsyncCompletionHandler<T><strongclass="jxr_keyword">implements</strong> AsyncHandler<T>, ProgressAsyncHandler<T> { |
| 40 | +<aclass="jxr_linenumber"name="30"href="#30">30</a> |
| 41 | +<aclass="jxr_linenumber"name="31"href="#31">31</a><strongclass="jxr_keyword">private</strong><strongclass="jxr_keyword">final</strong> Logger log = LoggerFactory.getLogger(AsyncCompletionHandlerBase.<strongclass="jxr_keyword">class</strong>); |
| 42 | +<aclass="jxr_linenumber"name="32"href="#32">32</a><strongclass="jxr_keyword">private</strong><strongclass="jxr_keyword">final</strong> Response.ResponseBuilder builder =<strongclass="jxr_keyword">new</strong> Response.ResponseBuilder(); |
| 43 | +<aclass="jxr_linenumber"name="33"href="#33">33</a> |
| 44 | +<aclass="jxr_linenumber"name="34"href="#34">34</a><emclass="jxr_javadoccomment">/**</em> |
| 45 | +<aclass="jxr_linenumber"name="35"href="#35">35</a><emclass="jxr_javadoccomment"> * {@inheritDoc}</em> |
| 46 | +<aclass="jxr_linenumber"name="36"href="#36">36</a><emclass="jxr_javadoccomment"> */</em> |
| 47 | +<aclass="jxr_linenumber"name="37"href="#37">37</a><strongclass="jxr_keyword">public</strong><ahref="../../../../com/ning/http/client/AsyncHandler.html">STATE</a> onBodyPartReceived(<strongclass="jxr_keyword">final</strong><ahref="../../../../com/ning/http/client/HttpResponseBodyPart.html">HttpResponseBodyPart</a> content)<strongclass="jxr_keyword">throws</strong> Exception { |
| 48 | +<aclass="jxr_linenumber"name="38"href="#38">38</a> builder.accumulate(content); |
| 49 | +<aclass="jxr_linenumber"name="39"href="#39">39</a><strongclass="jxr_keyword">return</strong> STATE.CONTINUE; |
| 50 | +<aclass="jxr_linenumber"name="40"href="#40">40</a> } |
| 51 | +<aclass="jxr_linenumber"name="41"href="#41">41</a> |
| 52 | +<aclass="jxr_linenumber"name="42"href="#42">42</a><emclass="jxr_javadoccomment">/**</em> |
| 53 | +<aclass="jxr_linenumber"name="43"href="#43">43</a><emclass="jxr_javadoccomment"> * {@inheritDoc}</em> |
| 54 | +<aclass="jxr_linenumber"name="44"href="#44">44</a><emclass="jxr_javadoccomment"> */</em> |
| 55 | +<aclass="jxr_linenumber"name="45"href="#45">45</a><strongclass="jxr_keyword">public</strong><ahref="../../../../com/ning/http/client/AsyncHandler.html">STATE</a> onStatusReceived(<strongclass="jxr_keyword">final</strong><ahref="../../../../com/ning/http/client/HttpResponseStatus.html">HttpResponseStatus</a> status)<strongclass="jxr_keyword">throws</strong> Exception { |
| 56 | +<aclass="jxr_linenumber"name="46"href="#46">46</a> builder.reset(); |
| 57 | +<aclass="jxr_linenumber"name="47"href="#47">47</a> builder.accumulate(status); |
| 58 | +<aclass="jxr_linenumber"name="48"href="#48">48</a><strongclass="jxr_keyword">return</strong> STATE.CONTINUE; |
| 59 | +<aclass="jxr_linenumber"name="49"href="#49">49</a> } |
| 60 | +<aclass="jxr_linenumber"name="50"href="#50">50</a> |
| 61 | +<aclass="jxr_linenumber"name="51"href="#51">51</a><emclass="jxr_javadoccomment">/**</em> |
| 62 | +<aclass="jxr_linenumber"name="52"href="#52">52</a><emclass="jxr_javadoccomment"> * {@inheritDoc}</em> |
| 63 | +<aclass="jxr_linenumber"name="53"href="#53">53</a><emclass="jxr_javadoccomment"> */</em> |
| 64 | +<aclass="jxr_linenumber"name="54"href="#54">54</a><strongclass="jxr_keyword">public</strong><ahref="../../../../com/ning/http/client/AsyncHandler.html">STATE</a> onHeadersReceived(<strongclass="jxr_keyword">final</strong><ahref="../../../../com/ning/http/client/HttpResponseHeaders.html">HttpResponseHeaders</a> headers)<strongclass="jxr_keyword">throws</strong> Exception { |
| 65 | +<aclass="jxr_linenumber"name="55"href="#55">55</a> builder.accumulate(headers); |
| 66 | +<aclass="jxr_linenumber"name="56"href="#56">56</a><strongclass="jxr_keyword">return</strong> STATE.CONTINUE; |
| 67 | +<aclass="jxr_linenumber"name="57"href="#57">57</a> } |
| 68 | +<aclass="jxr_linenumber"name="58"href="#58">58</a> |
| 69 | +<aclass="jxr_linenumber"name="59"href="#59">59</a><emclass="jxr_javadoccomment">/**</em> |
| 70 | +<aclass="jxr_linenumber"name="60"href="#60">60</a><emclass="jxr_javadoccomment"> * {@inheritDoc}</em> |
| 71 | +<aclass="jxr_linenumber"name="61"href="#61">61</a><emclass="jxr_javadoccomment"> */</em> |
| 72 | +<aclass="jxr_linenumber"name="62"href="#62">62</a><strongclass="jxr_keyword">public</strong><strongclass="jxr_keyword">final</strong> T onCompleted()<strongclass="jxr_keyword">throws</strong> Exception { |
| 73 | +<aclass="jxr_linenumber"name="63"href="#63">63</a><strongclass="jxr_keyword">return</strong> onCompleted(builder.build()); |
| 74 | +<aclass="jxr_linenumber"name="64"href="#64">64</a> } |
| 75 | +<aclass="jxr_linenumber"name="65"href="#65">65</a> |
| 76 | +<aclass="jxr_linenumber"name="66"href="#66">66</a><emclass="jxr_javadoccomment">/**</em> |
| 77 | +<aclass="jxr_linenumber"name="67"href="#67">67</a><emclass="jxr_javadoccomment"> * {@inheritDoc}</em> |
| 78 | +<aclass="jxr_linenumber"name="68"href="#68">68</a><emclass="jxr_javadoccomment"> */</em> |
| 79 | +<aclass="jxr_linenumber"name="69"href="#69">69</a><strongclass="jxr_keyword">public</strong><strongclass="jxr_keyword">void</strong> onThrowable(Throwable t) { |
| 80 | +<aclass="jxr_linenumber"name="70"href="#70">70</a> log.debug(t.getMessage(), t); |
| 81 | +<aclass="jxr_linenumber"name="71"href="#71">71</a> } |
| 82 | +<aclass="jxr_linenumber"name="72"href="#72">72</a> |
| 83 | +<aclass="jxr_linenumber"name="73"href="#73">73</a><emclass="jxr_javadoccomment">/**</em> |
| 84 | +<aclass="jxr_linenumber"name="74"href="#74">74</a><emclass="jxr_javadoccomment"> * Invoked once the HTTP response processing is finished.</em> |
| 85 | +<aclass="jxr_linenumber"name="75"href="#75">75</a><emclass="jxr_javadoccomment"> * <p/></em> |
| 86 | +<aclass="jxr_linenumber"name="76"href="#76">76</a><emclass="jxr_javadoccomment"> * <p/></em> |
| 87 | +<aclass="jxr_linenumber"name="77"href="#77">77</a><emclass="jxr_javadoccomment"> * Gets always invoked as last callback method.</em> |
| 88 | +<aclass="jxr_linenumber"name="78"href="#78">78</a><emclass="jxr_javadoccomment"> *</em> |
| 89 | +<aclass="jxr_linenumber"name="79"href="#79">79</a><emclass="jxr_javadoccomment"> * @param response The {@link Response}</em> |
| 90 | +<aclass="jxr_linenumber"name="80"href="#80">80</a><emclass="jxr_javadoccomment"> * @return T Value that will be returned by the associated {@link java.util.concurrent.Future}</em> |
| 91 | +<aclass="jxr_linenumber"name="81"href="#81">81</a><emclass="jxr_javadoccomment"> * @throws Exception if something wrong happens</em> |
| 92 | +<aclass="jxr_linenumber"name="82"href="#82">82</a><emclass="jxr_javadoccomment"> */</em> |
| 93 | +<aclass="jxr_linenumber"name="83"href="#83">83</a><strongclass="jxr_keyword">abstract</strong><strongclass="jxr_keyword">public</strong> T onCompleted(<ahref="../../../../com/ning/http/client/Response.html">Response</a> response)<strongclass="jxr_keyword">throws</strong> Exception; |
| 94 | +<aclass="jxr_linenumber"name="84"href="#84">84</a> |
| 95 | +<aclass="jxr_linenumber"name="85"href="#85">85</a><emclass="jxr_javadoccomment">/**</em> |
| 96 | +<aclass="jxr_linenumber"name="86"href="#86">86</a><emclass="jxr_javadoccomment"> * Invoked when the content (a {@link java.io.File}, {@link String} or {@link java.io.FileInputStream} has been fully</em> |
| 97 | +<aclass="jxr_linenumber"name="87"href="#87">87</a><emclass="jxr_javadoccomment"> * written on the I/O socket.</em> |
| 98 | +<aclass="jxr_linenumber"name="88"href="#88">88</a><emclass="jxr_javadoccomment"> *</em> |
| 99 | +<aclass="jxr_linenumber"name="89"href="#89">89</a><emclass="jxr_javadoccomment"> * @return a {@link com.ning.http.client.AsyncHandler.STATE} telling to CONTINUE or ABORT the current processing.</em> |
| 100 | +<aclass="jxr_linenumber"name="90"href="#90">90</a><emclass="jxr_javadoccomment"> */</em> |
| 101 | +<aclass="jxr_linenumber"name="91"href="#91">91</a><strongclass="jxr_keyword">public</strong><ahref="../../../../com/ning/http/client/AsyncHandler.html">STATE</a> onHeaderWriteCompleted() { |
| 102 | +<aclass="jxr_linenumber"name="92"href="#92">92</a><strongclass="jxr_keyword">return</strong> STATE.CONTINUE; |
| 103 | +<aclass="jxr_linenumber"name="93"href="#93">93</a> } |
| 104 | +<aclass="jxr_linenumber"name="94"href="#94">94</a> |
| 105 | +<aclass="jxr_linenumber"name="95"href="#95">95</a><emclass="jxr_javadoccomment">/**</em> |
| 106 | +<aclass="jxr_linenumber"name="96"href="#96">96</a><emclass="jxr_javadoccomment"> * Invoked when the content (a {@link java.io.File}, {@link String} or {@link java.io.FileInputStream} has been fully</em> |
| 107 | +<aclass="jxr_linenumber"name="97"href="#97">97</a><emclass="jxr_javadoccomment"> * written on the I/O socket.</em> |
| 108 | +<aclass="jxr_linenumber"name="98"href="#98">98</a><emclass="jxr_javadoccomment"> *</em> |
| 109 | +<aclass="jxr_linenumber"name="99"href="#99">99</a><emclass="jxr_javadoccomment"> * @return a {@link com.ning.http.client.AsyncHandler.STATE} telling to CONTINUE or ABORT the current processing.</em> |
| 110 | +<aclass="jxr_linenumber"name="100"href="#100">100</a><emclass="jxr_javadoccomment"> */</em> |
| 111 | +<aclass="jxr_linenumber"name="101"href="#101">101</a><strongclass="jxr_keyword">public</strong><ahref="../../../../com/ning/http/client/AsyncHandler.html">STATE</a> onContentWriteCompleted() { |
| 112 | +<aclass="jxr_linenumber"name="102"href="#102">102</a><strongclass="jxr_keyword">return</strong> STATE.CONTINUE; |
| 113 | +<aclass="jxr_linenumber"name="103"href="#103">103</a> } |
| 114 | +<aclass="jxr_linenumber"name="104"href="#104">104</a> |
| 115 | +<aclass="jxr_linenumber"name="105"href="#105">105</a><emclass="jxr_javadoccomment">/**</em> |
| 116 | +<aclass="jxr_linenumber"name="106"href="#106">106</a><emclass="jxr_javadoccomment"> * Invoked when the I/O operation associated with the {@link Request} body as been progressed.</em> |
| 117 | +<aclass="jxr_linenumber"name="107"href="#107">107</a><emclass="jxr_javadoccomment"> *</em> |
| 118 | +<aclass="jxr_linenumber"name="108"href="#108">108</a><emclass="jxr_javadoccomment"> * @param amount The amount of bytes to transfer.</em> |
| 119 | +<aclass="jxr_linenumber"name="109"href="#109">109</a><emclass="jxr_javadoccomment"> * @param current The amount of bytes transferred</em> |
| 120 | +<aclass="jxr_linenumber"name="110"href="#110">110</a><emclass="jxr_javadoccomment"> * @param total The total number of bytes transferred</em> |
| 121 | +<aclass="jxr_linenumber"name="111"href="#111">111</a><emclass="jxr_javadoccomment"> * @return a {@link com.ning.http.client.AsyncHandler.STATE} telling to CONTINUE or ABORT the current processing.</em> |
| 122 | +<aclass="jxr_linenumber"name="112"href="#112">112</a><emclass="jxr_javadoccomment"> */</em> |
| 123 | +<aclass="jxr_linenumber"name="113"href="#113">113</a><strongclass="jxr_keyword">public</strong><ahref="../../../../com/ning/http/client/AsyncHandler.html">STATE</a> onContentWriteProgress(<strongclass="jxr_keyword">long</strong> amount,<strongclass="jxr_keyword">long</strong> current,<strongclass="jxr_keyword">long</strong> total) { |
| 124 | +<aclass="jxr_linenumber"name="114"href="#114">114</a><strongclass="jxr_keyword">return</strong> STATE.CONTINUE; |
| 125 | +<aclass="jxr_linenumber"name="115"href="#115">115</a> } |
| 126 | +<aclass="jxr_linenumber"name="116"href="#116">116</a> } |
| 127 | +</pre> |
| 128 | +<hr/><divid="footer">This page was automatically generated by<ahref="http://maven.apache.org/">Maven</a></div></body> |
| 129 | +</html> |
| 130 | + |