<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>HttpResponseImpl</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="HttpResponseImpl";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":9,"i7":9,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/openejb/server/httpd/HttpResponse.html" title="interface in org.apache.openejb.server.httpd"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/openejb/server/httpd/HttpServer.html" title="interface in org.apache.openejb.server.httpd"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/openejb/server/httpd/HttpResponseImpl.html" target="_top">Frames</a></li>
<li><a href="HttpResponseImpl.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.openejb.server.httpd</div>
<h2 title="Class HttpResponseImpl" class="title">Class HttpResponseImpl</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.openejb.server.httpd.HttpResponseImpl</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, <a href="../../../../../org/apache/openejb/server/httpd/HttpResponse.html" title="interface in org.apache.openejb.server.httpd">HttpResponse</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">HttpResponseImpl</span>
extends java.lang.Object
implements <a href="../../../../../org/apache/openejb/server/httpd/HttpResponse.html" title="interface in org.apache.openejb.server.httpd">HttpResponse</a></pre>
<div class="block">This class takes care of HTTP Responses.  It sends data back to the browser.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#org.apache.openejb.server.httpd.HttpResponseImpl">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#CRLF">CRLF</a></span></code>
<div class="block">a line feed character</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#CSP">CSP</a></span></code>
<div class="block">a colon and space</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#HTTP_VERSION">HTTP_VERSION</a></span></code>
<div class="block">the HTTP version</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#server">server</a></span></code>
<div class="block">the server to send data from</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#SP">SP</a></span></code>
<div class="block">a space character</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#HttpResponseImpl--">HttpResponseImpl</a></span>()</code>
<div class="block">creates a new instance of HttpResponseImpl with default values</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#HttpResponseImpl-int-java.lang.String-java.lang.String-">HttpResponseImpl</a></span>(int&nbsp;code,
                java.lang.String&nbsp;responseString,
                java.lang.String&nbsp;contentType)</code>
<div class="block">Creates a new HttpResponseImpl with user provided parameters</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#addCookie-Cookie-">addCookie</a></span>(Cookie&nbsp;cookie)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#addDateHeader-java.lang.String-long-">addDateHeader</a></span>(java.lang.String&nbsp;s,
             long&nbsp;l)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#addHeader-java.lang.String-java.lang.String-">addHeader</a></span>(java.lang.String&nbsp;s,
         java.lang.String&nbsp;s1)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#addIntHeader-java.lang.String-int-">addIntHeader</a></span>(java.lang.String&nbsp;s,
            int&nbsp;i)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#containsHeader-java.lang.String-">containsHeader</a></span>(java.lang.String&nbsp;s)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected static <a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html" title="class in org.apache.openejb.server.httpd">HttpResponseImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#createError-java.lang.String-">createError</a></span>(java.lang.String&nbsp;message)</code>
<div class="block">This could be improved at some day in the future
 to also include a stack trace of the exceptions</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected static <a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html" title="class in org.apache.openejb.server.httpd">HttpResponseImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#createError-java.lang.String-java.lang.Throwable-">createError</a></span>(java.lang.String&nbsp;message,
           java.lang.Throwable&nbsp;t)</code>
<div class="block">creates an error with user defined variables</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected static <a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html" title="class in org.apache.openejb.server.httpd">HttpResponseImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#createForbidden-java.lang.String-">createForbidden</a></span>(java.lang.String&nbsp;ip)</code>
<div class="block">Creates a forbidden response to be sent to the browser using IP authentication</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#encodeRedirectUrl-java.lang.String-">encodeRedirectUrl</a></span>(java.lang.String&nbsp;s)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#encodeRedirectURL-java.lang.String-">encodeRedirectURL</a></span>(java.lang.String&nbsp;s)</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#encodeUrl-java.lang.String-">encodeUrl</a></span>(java.lang.String&nbsp;s)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#encodeURL-java.lang.String-">encodeURL</a></span>(java.lang.String&nbsp;s)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#flushBuffer--">flushBuffer</a></span>()</code>
<div class="block">Flushes the output buffer to the client.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#getBufferSize--">getBufferSize</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#getCharacterEncoding--">getCharacterEncoding</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#getCode--">getCode</a></span>()</code>
<div class="block">gets the HTTP response code</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#getContentType--">getContentType</a></span>()</code>
<div class="block">gets the content type that will be sent to the browser</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#getHeader-java.lang.String-">getHeader</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Gets a header based on the name passed in</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>java.util.Collection&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#getHeaderNames--">getHeaderNames</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>java.util.Collection&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#getHeaders-java.lang.String-">getHeaders</a></span>(java.lang.String&nbsp;s)</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>java.util.Locale</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#getLocale--">getLocale</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>ServletOutputStream</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#getOutputStream--">getOutputStream</a></span>()</code>
<div class="block">gets the OutputStream to send data to the browser</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#getServerName--">getServerName</a></span>()</code>
<div class="block">gets the name of the server being used</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#getStatus--">getStatus</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>java.io.PrintWriter</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#getWriter--">getWriter</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#isCommitted--">isCommitted</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#reset--">reset</a></span>()</code>
<div class="block">resets the data to be sent to the browser</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#reset-int-java.lang.String-">reset</a></span>(int&nbsp;code,
     java.lang.String&nbsp;responseString)</code>
<div class="block">resets the data to be sent to the browser with the response code and response
 string</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#resetBuffer--">resetBuffer</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#sendError-int-">sendError</a></span>(int&nbsp;i)</code>&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#sendError-int-java.lang.String-">sendError</a></span>(int&nbsp;i,
         java.lang.String&nbsp;s)</code>&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#sendRedirect-java.lang.String-">sendRedirect</a></span>(java.lang.String&nbsp;path)</code>&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setBufferSize-int-">setBufferSize</a></span>(int&nbsp;i)</code>&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setCharacterEncoding-java.lang.String-">setCharacterEncoding</a></span>(java.lang.String&nbsp;s)</code>&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setCode-int-">setCode</a></span>(int&nbsp;code)</code>
<div class="block">sets the HTTP response code to be sent to the browser.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setContent-java.net.URLConnection-">setContent</a></span>(java.net.URLConnection&nbsp;content)</code>&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setContentLength-int-">setContentLength</a></span>(int&nbsp;i)</code>&nbsp;</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setContentLengthLong-long-">setContentLengthLong</a></span>(long&nbsp;length)</code>&nbsp;</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setContentType-java.lang.String-">setContentType</a></span>(java.lang.String&nbsp;type)</code>
<div class="block">sets the content type to be sent back to the browser</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setDateHeader-java.lang.String-long-">setDateHeader</a></span>(java.lang.String&nbsp;s,
             long&nbsp;l)</code>&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setHeader-java.lang.String-java.lang.String-">setHeader</a></span>(java.lang.String&nbsp;name,
         java.lang.String&nbsp;value)</code>
<div class="block">sets a header to be sent back to the browser</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setIntHeader-java.lang.String-int-">setIntHeader</a></span>(java.lang.String&nbsp;s,
            int&nbsp;i)</code>&nbsp;</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setLocale-java.util.Locale-">setLocale</a></span>(java.util.Locale&nbsp;loc)</code>&nbsp;</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setRequest-org.apache.openejb.server.httpd.HttpRequestImpl-">setRequest</a></span>(<a href="../../../../../org/apache/openejb/server/httpd/HttpRequestImpl.html" title="class in org.apache.openejb.server.httpd">HttpRequestImpl</a>&nbsp;request)</code>&nbsp;</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setResponseString-java.lang.String-">setResponseString</a></span>(java.lang.String&nbsp;responseString)</code>
<div class="block">Sets the response string to be sent to the browser</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setStatus-int-">setStatus</a></span>(int&nbsp;i)</code>&nbsp;</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setStatus-int-java.lang.String-">setStatus</a></span>(int&nbsp;i,
         java.lang.String&nbsp;s)</code>&nbsp;</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#setStatusMessage-java.lang.String-">setStatusMessage</a></span>(java.lang.String&nbsp;responseString)</code>
<div class="block">Sets the response string to be sent to the browser</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#toString--">toString</a></span>()</code>
<div class="block">Creates a string version of the response similar to:
 <p/>
 HTTP/1.1 200 OK</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html#writeMessage-java.io.OutputStream-boolean-">writeMessage</a></span>(java.io.OutputStream&nbsp;output,
            boolean&nbsp;indent)</code>
<div class="block">Takes care of sending the response line, headers and body
 <p/>
 HTTP/1.1 200 OK
 Server: Netscape-Enterprise/3.6 SP3
 Date: Thu, 07 Jun 2001 17:30:42 GMT
 Content-Type: text/html
 Connection: close</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="HTTP_VERSION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HTTP_VERSION</h4>
<pre>public static final&nbsp;java.lang.String HTTP_VERSION</pre>
<div class="block">the HTTP version</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.openejb.server.httpd.HttpResponseImpl.HTTP_VERSION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CRLF">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CRLF</h4>
<pre>public static final&nbsp;java.lang.String CRLF</pre>
<div class="block">a line feed character</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.openejb.server.httpd.HttpResponseImpl.CRLF">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SP">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SP</h4>
<pre>public static final&nbsp;java.lang.String SP</pre>
<div class="block">a space character</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.openejb.server.httpd.HttpResponseImpl.SP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CSP">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CSP</h4>
<pre>public static final&nbsp;java.lang.String CSP</pre>
<div class="block">a colon and space</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.openejb.server.httpd.HttpResponseImpl.CSP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="server">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>server</h4>
<pre>public static&nbsp;java.lang.String server</pre>
<div class="block">the server to send data from</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="HttpResponseImpl--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HttpResponseImpl</h4>
<pre>protected&nbsp;HttpResponseImpl()</pre>
<div class="block">creates a new instance of HttpResponseImpl with default values</div>
</li>
</ul>
<a name="HttpResponseImpl-int-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>HttpResponseImpl</h4>
<pre>protected&nbsp;HttpResponseImpl(int&nbsp;code,
                           java.lang.String&nbsp;responseString,
                           java.lang.String&nbsp;contentType)</pre>
<div class="block">Creates a new HttpResponseImpl with user provided parameters</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>code</code> - the HTTP Response code, see <a href="http://www.ietf.org/rfc/rfc2616.txt">http://www.ietf.org/rfc/rfc2616.txt</a>
                       for these codes</dd>
<dd><code>responseString</code> - the response string to be sent back</dd>
<dd><code>contentType</code> - the content type to be sent back</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="setRequest-org.apache.openejb.server.httpd.HttpRequestImpl-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRequest</h4>
<pre>protected&nbsp;void&nbsp;setRequest(<a href="../../../../../org/apache/openejb/server/httpd/HttpRequestImpl.html" title="class in org.apache.openejb.server.httpd">HttpRequestImpl</a>&nbsp;request)</pre>
</li>
</ul>
<a name="setHeader-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHeader</h4>
<pre>public&nbsp;void&nbsp;setHeader(java.lang.String&nbsp;name,
                      java.lang.String&nbsp;value)</pre>
<div class="block">sets a header to be sent back to the browser</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the header</dd>
<dd><code>value</code> - the value of the header</dd>
</dl>
</li>
</ul>
<a name="setIntHeader-java.lang.String-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIntHeader</h4>
<pre>public&nbsp;void&nbsp;setIntHeader(java.lang.String&nbsp;s,
                         int&nbsp;i)</pre>
</li>
</ul>
<a name="setStatus-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStatus</h4>
<pre>public&nbsp;void&nbsp;setStatus(int&nbsp;i)</pre>
</li>
</ul>
<a name="setStatus-int-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStatus</h4>
<pre>public&nbsp;void&nbsp;setStatus(int&nbsp;i,
                      java.lang.String&nbsp;s)</pre>
</li>
</ul>
<a name="addCookie-Cookie-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addCookie</h4>
<pre>public&nbsp;void&nbsp;addCookie(Cookie&nbsp;cookie)</pre>
</li>
</ul>
<a name="addDateHeader-java.lang.String-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addDateHeader</h4>
<pre>public&nbsp;void&nbsp;addDateHeader(java.lang.String&nbsp;s,
                          long&nbsp;l)</pre>
</li>
</ul>
<a name="addHeader-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addHeader</h4>
<pre>public&nbsp;void&nbsp;addHeader(java.lang.String&nbsp;s,
                      java.lang.String&nbsp;s1)</pre>
</li>
</ul>
<a name="addIntHeader-java.lang.String-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addIntHeader</h4>
<pre>public&nbsp;void&nbsp;addIntHeader(java.lang.String&nbsp;s,
                         int&nbsp;i)</pre>
</li>
</ul>
<a name="containsHeader-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsHeader</h4>
<pre>public&nbsp;boolean&nbsp;containsHeader(java.lang.String&nbsp;s)</pre>
</li>
</ul>
<a name="encodeURL-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encodeURL</h4>
<pre>public&nbsp;java.lang.String&nbsp;encodeURL(java.lang.String&nbsp;s)</pre>
</li>
</ul>
<a name="encodeRedirectURL-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encodeRedirectURL</h4>
<pre>public&nbsp;java.lang.String&nbsp;encodeRedirectURL(java.lang.String&nbsp;s)</pre>
</li>
</ul>
<a name="encodeUrl-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encodeUrl</h4>
<pre>public&nbsp;java.lang.String&nbsp;encodeUrl(java.lang.String&nbsp;s)</pre>
</li>
</ul>
<a name="encodeRedirectUrl-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encodeRedirectUrl</h4>
<pre>public&nbsp;java.lang.String&nbsp;encodeRedirectUrl(java.lang.String&nbsp;s)</pre>
</li>
</ul>
<a name="getHeader-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeader</h4>
<pre>public&nbsp;java.lang.String&nbsp;getHeader(java.lang.String&nbsp;name)</pre>
<div class="block">Gets a header based on the name passed in</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The name of the header</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the header</dd>
</dl>
</li>
</ul>
<a name="getHeaderNames--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeaderNames</h4>
<pre>public&nbsp;java.util.Collection&lt;java.lang.String&gt;&nbsp;getHeaderNames()</pre>
</li>
</ul>
<a name="getHeaders-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeaders</h4>
<pre>public&nbsp;java.util.Collection&lt;java.lang.String&gt;&nbsp;getHeaders(java.lang.String&nbsp;s)</pre>
</li>
</ul>
<a name="getStatus--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStatus</h4>
<pre>public&nbsp;int&nbsp;getStatus()</pre>
</li>
</ul>
<a name="sendError-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendError</h4>
<pre>public&nbsp;void&nbsp;sendError(int&nbsp;i)
               throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="sendError-int-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendError</h4>
<pre>public&nbsp;void&nbsp;sendError(int&nbsp;i,
                      java.lang.String&nbsp;s)
               throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="sendRedirect-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendRedirect</h4>
<pre>public&nbsp;void&nbsp;sendRedirect(java.lang.String&nbsp;path)
                  throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="setDateHeader-java.lang.String-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDateHeader</h4>
<pre>public&nbsp;void&nbsp;setDateHeader(java.lang.String&nbsp;s,
                          long&nbsp;l)</pre>
</li>
</ul>
<a name="getOutputStream--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOutputStream</h4>
<pre>public&nbsp;ServletOutputStream&nbsp;getOutputStream()</pre>
<div class="block">gets the OutputStream to send data to the browser</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the OutputStream to send data to the browser</dd>
</dl>
</li>
</ul>
<a name="getWriter--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWriter</h4>
<pre>public&nbsp;java.io.PrintWriter&nbsp;getWriter()
                              throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="isCommitted--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCommitted</h4>
<pre>public&nbsp;boolean&nbsp;isCommitted()</pre>
</li>
</ul>
<a name="flushBuffer--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flushBuffer</h4>
<pre>public&nbsp;void&nbsp;flushBuffer()
                 throws java.io.IOException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/openejb/server/httpd/HttpResponse.html#flushBuffer--">HttpResponse</a></code></span></div>
<div class="block">Flushes the output buffer to the client.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/httpd/HttpResponse.html#flushBuffer--">flushBuffer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/httpd/HttpResponse.html" title="interface in org.apache.openejb.server.httpd">HttpResponse</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="getBufferSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBufferSize</h4>
<pre>public&nbsp;int&nbsp;getBufferSize()</pre>
</li>
</ul>
<a name="getCharacterEncoding--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCharacterEncoding</h4>
<pre>public&nbsp;java.lang.String&nbsp;getCharacterEncoding()</pre>
</li>
</ul>
<a name="setCode-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCode</h4>
<pre>public&nbsp;void&nbsp;setCode(int&nbsp;code)</pre>
<div class="block">sets the HTTP response code to be sent to the browser.  These codes are:
 <p/>
 OPTIONS = 0
 GET     = 1
 HEAD    = 2
 POST    = 3
 PUT     = 4
 DELETE  = 5
 TRACE   = 6
 CONNECT = 7
 UNSUPPORTED = 8</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>code</code> - the code to be sent to the browser</dd>
</dl>
</li>
</ul>
<a name="getCode--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCode</h4>
<pre>public&nbsp;int&nbsp;getCode()</pre>
<div class="block">gets the HTTP response code</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the HTTP response code</dd>
</dl>
</li>
</ul>
<a name="setContentType-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setContentType</h4>
<pre>public&nbsp;void&nbsp;setContentType(java.lang.String&nbsp;type)</pre>
<div class="block">sets the content type to be sent back to the browser</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/httpd/HttpResponse.html#setContentType-java.lang.String-">setContentType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/httpd/HttpResponse.html" title="interface in org.apache.openejb.server.httpd">HttpResponse</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - the type to be sent to the browser (i.e. "text/html")</dd>
</dl>
</li>
</ul>
<a name="setLocale-java.util.Locale-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLocale</h4>
<pre>public&nbsp;void&nbsp;setLocale(java.util.Locale&nbsp;loc)</pre>
</li>
</ul>
<a name="getContentType--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContentType</h4>
<pre>public&nbsp;java.lang.String&nbsp;getContentType()</pre>
<div class="block">gets the content type that will be sent to the browser</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/httpd/HttpResponse.html#getContentType--">getContentType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/httpd/HttpResponse.html" title="interface in org.apache.openejb.server.httpd">HttpResponse</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the content type (i.e. "text/html")</dd>
</dl>
</li>
</ul>
<a name="getLocale--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocale</h4>
<pre>public&nbsp;java.util.Locale&nbsp;getLocale()</pre>
</li>
</ul>
<a name="setResponseString-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setResponseString</h4>
<pre>public&nbsp;void&nbsp;setResponseString(java.lang.String&nbsp;responseString)</pre>
<div class="block">Sets the response string to be sent to the browser</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>responseString</code> - the response string</dd>
</dl>
</li>
</ul>
<a name="reset--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public&nbsp;void&nbsp;reset()</pre>
<div class="block">resets the data to be sent to the browser</div>
</li>
</ul>
<a name="resetBuffer--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resetBuffer</h4>
<pre>public&nbsp;void&nbsp;resetBuffer()</pre>
</li>
</ul>
<a name="setBufferSize-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBufferSize</h4>
<pre>public&nbsp;void&nbsp;setBufferSize(int&nbsp;i)</pre>
</li>
</ul>
<a name="setCharacterEncoding-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCharacterEncoding</h4>
<pre>public&nbsp;void&nbsp;setCharacterEncoding(java.lang.String&nbsp;s)</pre>
</li>
</ul>
<a name="setContentLength-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setContentLength</h4>
<pre>public&nbsp;void&nbsp;setContentLength(int&nbsp;i)</pre>
</li>
</ul>
<a name="setContentLengthLong-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setContentLengthLong</h4>
<pre>public&nbsp;void&nbsp;setContentLengthLong(long&nbsp;length)</pre>
</li>
</ul>
<a name="reset-int-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public&nbsp;void&nbsp;reset(int&nbsp;code,
                  java.lang.String&nbsp;responseString)</pre>
<div class="block">resets the data to be sent to the browser with the response code and response
 string</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>code</code> - the code to be sent to the browser</dd>
<dd><code>responseString</code> - the response string to be sent to the browser</dd>
</dl>
</li>
</ul>
<a name="writeMessage-java.io.OutputStream-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeMessage</h4>
<pre>protected&nbsp;void&nbsp;writeMessage(java.io.OutputStream&nbsp;output,
                            boolean&nbsp;indent)
                     throws java.io.IOException</pre>
<div class="block">Takes care of sending the response line, headers and body
 <p/>
 HTTP/1.1 200 OK
 Server: Netscape-Enterprise/3.6 SP3
 Date: Thu, 07 Jun 2001 17:30:42 GMT
 Content-Type: text/html
 Connection: close</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>output</code> - the output to send the response to</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if an exception is thrown</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<div class="block">Creates a string version of the response similar to:
 <p/>
 HTTP/1.1 200 OK</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the string value of this HttpResponseImpl</dd>
</dl>
</li>
</ul>
<a name="getServerName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServerName</h4>
<pre>public&nbsp;java.lang.String&nbsp;getServerName()</pre>
<div class="block">gets the name of the server being used</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the name of the server</dd>
</dl>
</li>
</ul>
<a name="createError-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createError</h4>
<pre>protected static&nbsp;<a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html" title="class in org.apache.openejb.server.httpd">HttpResponseImpl</a>&nbsp;createError(java.lang.String&nbsp;message)</pre>
<div class="block">This could be improved at some day in the future
 to also include a stack trace of the exceptions</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>message</code> - the error message to be sent</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the HttpResponseImpl that this error belongs to</dd>
</dl>
</li>
</ul>
<a name="createError-java.lang.String-java.lang.Throwable-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createError</h4>
<pre>protected static&nbsp;<a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html" title="class in org.apache.openejb.server.httpd">HttpResponseImpl</a>&nbsp;createError(java.lang.String&nbsp;message,
                                              java.lang.Throwable&nbsp;t)</pre>
<div class="block">creates an error with user defined variables</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>message</code> - the message of the error</dd>
<dd><code>t</code> - a Throwable to print a stack trace to</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the HttpResponseImpl that this error belongs to</dd>
</dl>
</li>
</ul>
<a name="createForbidden-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createForbidden</h4>
<pre>protected static&nbsp;<a href="../../../../../org/apache/openejb/server/httpd/HttpResponseImpl.html" title="class in org.apache.openejb.server.httpd">HttpResponseImpl</a>&nbsp;createForbidden(java.lang.String&nbsp;ip)</pre>
<div class="block">Creates a forbidden response to be sent to the browser using IP authentication</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ip</code> - the ip that is forbidden</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the HttpResponseImpl that this error belongs to</dd>
</dl>
</li>
</ul>
<a name="setContent-java.net.URLConnection-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setContent</h4>
<pre>public&nbsp;void&nbsp;setContent(java.net.URLConnection&nbsp;content)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>content</code> - The content to set.</dd>
</dl>
</li>
</ul>
<a name="setStatusMessage-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setStatusMessage</h4>
<pre>public&nbsp;void&nbsp;setStatusMessage(java.lang.String&nbsp;responseString)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/openejb/server/httpd/HttpResponse.html#setStatusMessage-java.lang.String-">HttpResponse</a></code></span></div>
<div class="block">Sets the response string to be sent to the browser</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/openejb/server/httpd/HttpResponse.html#setStatusMessage-java.lang.String-">setStatusMessage</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/openejb/server/httpd/HttpResponse.html" title="interface in org.apache.openejb.server.httpd">HttpResponse</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>responseString</code> - the response string</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/openejb/server/httpd/HttpResponse.html" title="interface in org.apache.openejb.server.httpd"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/openejb/server/httpd/HttpServer.html" title="interface in org.apache.openejb.server.httpd"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/openejb/server/httpd/HttpResponseImpl.html" target="_top">Frames</a></li>
<li><a href="HttpResponseImpl.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
