1
2
3 /*
4 * The contents of this file are subject to the terms
5 * of the Common Development and Distribution License
6 * (the "License"). You may not use this file except
7 * in compliance with the License.
8 *
9 * You can obtain a copy of the license at
10 * glassfish/bootstrap/legal/CDDLv1.0.txt or
11 * https://glassfish.dev.java.net/public/CDDLv1.0.html.
12 * See the License for the specific language governing
13 * permissions and limitations under the License.
14 *
15 * When distributing Covered Code, include this CDDL
16 * HEADER in each file and include the License file at
17 * glassfish/bootstrap/legal/CDDLv1.0.txt. If applicable,
18 * add the following below this CDDL HEADER, with the
19 * fields enclosed by brackets "[]" replaced with your
20 * own identifying information: Portions Copyright [yyyy]
21 * [name of copyright owner]
22 *
23 * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
24 *
25 * Portions Copyright Apache Software Foundation.
26 */
27
28 package javax.servlet.http;
29
30 import java.io.IOException;
31
32 import javax.servlet.ServletResponseWrapper;
33
34 /**
35 *
36 * Provides a convenient implementation of the HttpServletResponse interface that
37 * can be subclassed by developers wishing to adapt the response from a Servlet.
38 * This class implements the Wrapper or Decorator pattern. Methods default to
39 * calling through to the wrapped response object.
40 *
41 * @author Various
42 * @since v 2.3
43 *
44 * @see javax.servlet.http.HttpServletResponse
45 *
46 */
47
48 public class HttpServletResponseWrapper extends ServletResponseWrapper implements HttpServletResponse {
49
50
51 /**
52 * Constructs a response adaptor wrapping the given response.
53 * @throws java.lang.IllegalArgumentException if the response is null
54 */
55 public HttpServletResponseWrapper(HttpServletResponse response) {
56 super(response);
57 }
58
59 private HttpServletResponse _getHttpServletResponse() {
60 return (HttpServletResponse) super.getResponse();
61 }
62
63 /**
64 * The default behavior of this method is to call addCookie(Cookie cookie)
65 * on the wrapped response object.
66 */
67 public void addCookie(Cookie cookie) {
68 this._getHttpServletResponse().addCookie(cookie);
69 }
70
71 /**
72 * The default behavior of this method is to call containsHeader(String name)
73 * on the wrapped response object.
74 */
75
76
77 public boolean containsHeader(String name) {
78 return this._getHttpServletResponse().containsHeader(name);
79 }
80
81 /**
82 * The default behavior of this method is to call encodeURL(String url)
83 * on the wrapped response object.
84 */
85 public String encodeURL(String url) {
86 return this._getHttpServletResponse().encodeURL(url);
87 }
88
89 /**
90 * The default behavior of this method is to return encodeRedirectURL(String url)
91 * on the wrapped response object.
92 */
93 public String encodeRedirectURL(String url) {
94 return this._getHttpServletResponse().encodeRedirectURL(url);
95 }
96
97 /**
98 * The default behavior of this method is to call encodeUrl(String url)
99 * on the wrapped response object.
100 */
101 public String encodeUrl(String url) {
102 return this._getHttpServletResponse().encodeUrl(url);
103 }
104
105 /**
106 * The default behavior of this method is to return encodeRedirectUrl(String url)
107 * on the wrapped response object.
108 */
109 public String encodeRedirectUrl(String url) {
110 return this._getHttpServletResponse().encodeRedirectUrl(url);
111 }
112
113 /**
114 * The default behavior of this method is to call sendError(int sc, String msg)
115 * on the wrapped response object.
116 */
117 public void sendError(int sc, String msg) throws IOException {
118 this._getHttpServletResponse().sendError(sc, msg);
119 }
120
121 /**
122 * The default behavior of this method is to call sendError(int sc)
123 * on the wrapped response object.
124 */
125
126
127 public void sendError(int sc) throws IOException {
128 this._getHttpServletResponse().sendError(sc);
129 }
130
131 /**
132 * The default behavior of this method is to return sendRedirect(String location)
133 * on the wrapped response object.
134 */
135 public void sendRedirect(String location) throws IOException {
136 this._getHttpServletResponse().sendRedirect(location);
137 }
138
139 /**
140 * The default behavior of this method is to call setDateHeader(String name, long date)
141 * on the wrapped response object.
142 */
143 public void setDateHeader(String name, long date) {
144 this._getHttpServletResponse().setDateHeader(name, date);
145 }
146
147 /**
148 * The default behavior of this method is to call addDateHeader(String name, long date)
149 * on the wrapped response object.
150 */
151 public void addDateHeader(String name, long date) {
152 this._getHttpServletResponse().addDateHeader(name, date);
153 }
154
155 /**
156 * The default behavior of this method is to return setHeader(String name, String value)
157 * on the wrapped response object.
158 */
159 public void setHeader(String name, String value) {
160 this._getHttpServletResponse().setHeader(name, value);
161 }
162
163 /**
164 * The default behavior of this method is to return addHeader(String name, String value)
165 * on the wrapped response object.
166 */
167 public void addHeader(String name, String value) {
168 this._getHttpServletResponse().addHeader(name, value);
169 }
170
171 /**
172 * The default behavior of this method is to call setIntHeader(String name, int value)
173 * on the wrapped response object.
174 */
175 public void setIntHeader(String name, int value) {
176 this._getHttpServletResponse().setIntHeader(name, value);
177 }
178
179 /**
180 * The default behavior of this method is to call addIntHeader(String name, int value)
181 * on the wrapped response object.
182 */
183 public void addIntHeader(String name, int value) {
184 this._getHttpServletResponse().addIntHeader(name, value);
185 }
186
187 /**
188 * The default behavior of this method is to call setStatus(int sc)
189 * on the wrapped response object.
190 */
191
192
193 public void setStatus(int sc) {
194 this._getHttpServletResponse().setStatus(sc);
195 }
196
197 /**
198 * The default behavior of this method is to call setStatus(int sc, String sm)
199 * on the wrapped response object.
200 */
201 public void setStatus(int sc, String sm) {
202 this._getHttpServletResponse().setStatus(sc, sm);
203 }
204
205
206 }