<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_13) on Sat Nov 06 11:09:27 CDT 2010 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
ClientResponse (Apache Wink 1.1.2-incubating API)
</TITLE>

<META NAME="date" CONTENT="2010-11-06">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="ClientResponse (Apache Wink 1.1.2-incubating API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ClientResponse.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/wink/client/ClientRequest.html" title="interface in org.apache.wink.client"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/wink/client/ClientRuntimeException.html" title="class in org.apache.wink.client"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/wink/client/ClientResponse.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ClientResponse.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.wink.client</FONT>
<BR>
Interface ClientResponse</H2>
<DL>
<DT><B>All Superinterfaces:</B> <DD>org.apache.wink.client.internal.BaseRequestResponse</DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>ClientResponse</B><DT>extends org.apache.wink.client.internal.BaseRequestResponse</DL>
</PRE>

<P>
Represents an http response that was received after invoking any one of the
 invocation methods on a <A HREF="../../../../org/apache/wink/client/Resource.html" title="interface in org.apache.wink.client"><CODE>Resource</CODE></A>. An instance of a ClientResponse is
 created by the <CODE>ConnectionHandler</CODE> at the end of the handler chain, and
 is returned from every handler on the chain.
<P>

<P>
<HR>

<P>

<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientResponse.html#consumeContent()">consumeContent</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Consumes entity content.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;T&gt; T</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientResponse.html#getEntity(java.lang.Class)">getEntity</A></B>(java.lang.Class&lt;T&gt;&nbsp;cls)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the response entity.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;T&gt; T</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientResponse.html#getEntity(org.apache.wink.client.EntityType)">getEntity</A></B>(<A HREF="../../../../org/apache/wink/client/EntityType.html" title="class in org.apache.wink.client">EntityType</A>&lt;T&gt;&nbsp;entityType)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the response entity.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientResponse.html#getMessage()">getMessage</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the response message</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientResponse.html#getStatusCode()">getStatusCode</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the response status code</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;javax.ws.rs.core.Response.StatusType</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientResponse.html#getStatusType()">getStatusType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the response status as a status type</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientResponse.html#setEntity(java.lang.Object)">setEntity</A></B>(java.lang.Object&nbsp;entity)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the response entity</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientResponse.html#setMessage(java.lang.String)">setMessage</A></B>(java.lang.String&nbsp;message)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the response message</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/wink/client/ClientResponse.html#setStatusCode(int)">setStatusCode</A></B>(int&nbsp;code)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the response status code</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.wink.client.internal.BaseRequestResponse"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.wink.client.internal.BaseRequestResponse</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>getAttribute, getAttributes, getHeaders, setAttribute</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="getStatusType()"><!-- --></A><H3>
getStatusType</H3>
<PRE>
javax.ws.rs.core.Response.StatusType <B>getStatusType</B>()</PRE>
<DL>
<DD>Gets the response status as a status type
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the response status</DL>
</DD>
</DL>
<HR>

<A NAME="getStatusCode()"><!-- --></A><H3>
getStatusCode</H3>
<PRE>
int <B>getStatusCode</B>()</PRE>
<DL>
<DD>Get the response status code
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>response status code</DL>
</DD>
</DL>
<HR>

<A NAME="setStatusCode(int)"><!-- --></A><H3>
setStatusCode</H3>
<PRE>
void <B>setStatusCode</B>(int&nbsp;code)</PRE>
<DL>
<DD>Set the response status code
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>code</CODE> - status code to set</DL>
</DD>
</DL>
<HR>

<A NAME="getMessage()"><!-- --></A><H3>
getMessage</H3>
<PRE>
java.lang.String <B>getMessage</B>()</PRE>
<DL>
<DD>Get the response message
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>response message</DL>
</DD>
</DL>
<HR>

<A NAME="setMessage(java.lang.String)"><!-- --></A><H3>
setMessage</H3>
<PRE>
void <B>setMessage</B>(java.lang.String&nbsp;message)</PRE>
<DL>
<DD>Set the response message
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>message</CODE> - response message to set</DL>
</DD>
</DL>
<HR>

<A NAME="getEntity(java.lang.Class)"><!-- --></A><H3>
getEntity</H3>
<PRE>
&lt;T&gt; T <B>getEntity</B>(java.lang.Class&lt;T&gt;&nbsp;cls)</PRE>
<DL>
<DD>Get the response entity.
 <p>
 If the requested type to return is InputStream, then the input stream of
 the response is returned, and the entity is not read using the providers.
 The returned input stream is the adapted input stream as created by the
 InputStream adapters. If the InputStream is read directly, then it will
 not be possible to receive the entity as any other type other than
 InputStream.
 <p>
 If the requested type to return is anything other than InputStream, then
 the entity is read using the appropriate provider before returning it.
 Subsequent calls to getEntity will return the same instance of the
 entity.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>T</CODE> - type of the response entity to get<DT><B>Parameters:</B><DD><CODE>cls</CODE> - class of the response entity to get
<DT><B>Returns:</B><DD>the response entity
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/client/ClientRuntimeException.html" title="class in org.apache.wink.client">ClientRuntimeException</A></CODE> - if there are exceptions that the Wink client encounters</DL>
</DD>
</DL>
<HR>

<A NAME="getEntity(org.apache.wink.client.EntityType)"><!-- --></A><H3>
getEntity</H3>
<PRE>
&lt;T&gt; T <B>getEntity</B>(<A HREF="../../../../org/apache/wink/client/EntityType.html" title="class in org.apache.wink.client">EntityType</A>&lt;T&gt;&nbsp;entityType)</PRE>
<DL>
<DD>Get the response entity.
 <p>
 If the requested type to return is InputStream, then the input stream of
 the response is returned, and the entity is not read using the providers.
 The returned input stream is the adapted input stream as created by the
 InputStream adapters. If the InputStream is read directly, then it will
 not be possible to receive the entity as any other type other than
 InputStream.
 <p>
 If the requested type to return is anything other than InputStream, then
 the entity is read using the appropriate provider before returning it.
 Subsequent calls to getEntity will return the same instance of the
 entity.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>T</CODE> - type of the response entity to get<DT><B>Parameters:</B><DD><CODE>entityType</CODE> - an instance of <A HREF="../../../../org/apache/wink/client/EntityType.html" title="class in org.apache.wink.client"><CODE>EntityType</CODE></A> specifying the type
            of the entity
<DT><B>Returns:</B><DD>the response entity
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/wink/client/ClientRuntimeException.html" title="class in org.apache.wink.client">ClientRuntimeException</A></CODE> - if there are exceptions that the Wink client encounters</DL>
</DD>
</DL>
<HR>

<A NAME="setEntity(java.lang.Object)"><!-- --></A><H3>
setEntity</H3>
<PRE>
void <B>setEntity</B>(java.lang.Object&nbsp;entity)</PRE>
<DL>
<DD>Set the response entity
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>entity</CODE> - response entity to set</DL>
</DD>
</DL>
<HR>

<A NAME="consumeContent()"><!-- --></A><H3>
consumeContent</H3>
<PRE>
void <B>consumeContent</B>()</PRE>
<DL>
<DD>Consumes entity content. The real behavior of this method depends on the
 actual implementation. It's needed to call this method, if the calling
 code decides not to handle content.
 <p>
 There is no need to call this method, if getEntity() was invoked.
 <p>
 Calling this method multiple times will not cause an error.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ClientResponse.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/wink/client/ClientRequest.html" title="interface in org.apache.wink.client"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/wink/client/ClientRuntimeException.html" title="class in org.apache.wink.client"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/wink/client/ClientResponse.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ClientResponse.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2009-2010 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
