KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > gargoylesoftware > htmlunit > WebResponse


1 /*
2  * Copyright (c) 2002, 2005 Gargoyle Software Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *
7  * 1. Redistributions of source code must retain the above copyright notice,
8  * this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright notice,
10  * this list of conditions and the following disclaimer in the documentation
11  * and/or other materials provided with the distribution.
12  * 3. The end-user documentation included with the redistribution, if any, must
13  * include the following acknowledgment:
14  *
15  * "This product includes software developed by Gargoyle Software Inc.
16  * (http://www.GargoyleSoftware.com/)."
17  *
18  * Alternately, this acknowledgment may appear in the software itself, if
19  * and wherever such third-party acknowledgments normally appear.
20  * 4. The name "Gargoyle Software" must not be used to endorse or promote
21  * products derived from this software without prior written permission.
22  * For written permission, please contact info@GargoyleSoftware.com.
23  * 5. Products derived from this software may not be called "HtmlUnit", nor may
24  * "HtmlUnit" appear in their name, without prior written permission of
25  * Gargoyle Software Inc.
26  *
27  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
28  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
29  * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARGOYLE
30  * SOFTWARE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
31  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
33  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
36  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37  */

38 package com.gargoylesoftware.htmlunit;
39
40 import java.io.IOException JavaDoc;
41 import java.io.InputStream JavaDoc;
42 import java.net.URL JavaDoc;
43 import java.util.List JavaDoc;
44
45 /**
46  * A response from a web server
47  *
48  * @version $Revision: 100 $
49  * @author <a HREF="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
50  * @author Noboru Sinohara
51  */

52 public interface WebResponse {
53     /**
54      * Return the status code that was returned by the server
55      *
56      * @return See above.
57      */

58     int getStatusCode();
59
60
61     /**
62      * Return the status message that was returned from the server
63      *
64      * @return See above
65      */

66     String JavaDoc getStatusMessage();
67
68
69     /**
70      * Return the content type returned from the server. Ie "text/html"
71      *
72      * @return See above
73      */

74     String JavaDoc getContentType();
75
76
77     /**
78      * Return the content from the server as a string
79      *
80      * @return See above
81      */

82     String JavaDoc getContentAsString();
83
84
85     /**
86      * Return the content from the server as an input stream
87      *
88      * @return See above
89      * @exception IOException If an IO problem occurs
90      */

91     InputStream JavaDoc getContentAsStream()
92         throws IOException JavaDoc;
93
94
95     /**
96      * Return the URL that was used to load this page.
97      *
98      * @return The originating URL
99      */

100     URL JavaDoc getUrl();
101
102
103     /**
104      * Return the response headers as a List of {@link org.org.apache.commons.httpclient.NameValuePair}s.
105      *
106      * @return a List of {@link org.org.apache.commons.httpclient.NameValuePair}s.
107      */

108     List JavaDoc getResponseHeaders();
109
110
111     /**
112      * Return the value of the specified header from this response.
113      *
114      * @param headerName The name of the header
115      * @return The value of the specified header
116      */

117     String JavaDoc getResponseHeaderValue( final String JavaDoc headerName );
118
119
120     /**
121      * Return the time it took to load this web response in milliseconds.
122      * @return The load time.
123      */

124     long getLoadTimeInMilliSeconds();
125
126     /**
127      * Return the content charset value.
128      * @return The charset value.
129      */

130     String JavaDoc getContentCharSet();
131
132     /**
133      * Return the response body as byte array.
134      * @return response body.
135      */

136     byte[] getResponseBody();
137 }
138
139
Popular Tags