View Javadoc

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;
29  
30  import java.io.IOException;
31  import java.io.PrintWriter;
32  import java.util.Locale;
33  
34  /**
35   * 
36   * Provides a convenient implementation of the ServletResponse 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.ServletResponse
45   *
46   */
47  
48   
49  public class ServletResponseWrapper implements ServletResponse {
50  	private ServletResponse response;
51  	/**
52  	* Creates a ServletResponse adaptor wrapping the given response object.
53  	* @throws java.lang.IllegalArgumentException if the response is null.
54  	*/
55  
56  
57  	public ServletResponseWrapper(ServletResponse response) {
58  	    if (response == null) {
59  		throw new IllegalArgumentException("Response cannot be null");
60  	    }
61  	    this.response = response;
62  	}
63  
64  	/**
65  	* Return the wrapped ServletResponse object.
66  	*/
67  
68  	public ServletResponse getResponse() {
69  		return this.response;
70  	}	
71  	
72  	
73  	/**
74  	* Sets the response being wrapped. 
75  	* @throws java.lang.IllegalArgumentException if the response is null.
76  	*/
77  	
78  	public void setResponse(ServletResponse response) {
79  	    if (response == null) {
80  		throw new IllegalArgumentException("Response cannot be null");
81  	    }
82  	    this.response = response;
83  	}
84  
85      /**
86       * The default behavior of this method is to call setCharacterEncoding(String charset)
87       * on the wrapped response object.
88       *
89       * @since 2.4
90       */
91  
92      public void setCharacterEncoding(String charset) {
93  	this.response.setCharacterEncoding(charset);
94      }
95  
96      /**
97       * The default behavior of this method is to return getCharacterEncoding()
98       * on the wrapped response object.
99       */
100 
101     public String getCharacterEncoding() {
102 	return this.response.getCharacterEncoding();
103 	}
104     
105     
106 	  /**
107      * The default behavior of this method is to return getOutputStream()
108      * on the wrapped response object.
109      */
110 
111     public ServletOutputStream getOutputStream() throws IOException {
112 	return this.response.getOutputStream();
113     }  
114       
115      /**
116      * The default behavior of this method is to return getWriter()
117      * on the wrapped response object.
118      */
119 
120 
121     public PrintWriter getWriter() throws IOException {
122 	return this.response.getWriter();
123 	}
124     
125     /**
126      * The default behavior of this method is to call setContentLength(int len)
127      * on the wrapped response object.
128      */
129 
130     public void setContentLength(int len) {
131 	this.response.setContentLength(len);
132     }
133     
134     /**
135      * The default behavior of this method is to call setContentType(String type)
136      * on the wrapped response object.
137      */
138 
139     public void setContentType(String type) {
140 	this.response.setContentType(type);
141     }
142 
143     /**
144      * The default behavior of this method is to return getContentType()
145      * on the wrapped response object.
146      *
147      * @since 2.4
148      */
149 
150     public String getContentType() {
151 	return this.response.getContentType();
152     }
153     
154     /**
155      * The default behavior of this method is to call setBufferSize(int size)
156      * on the wrapped response object.
157      */
158     public void setBufferSize(int size) {
159 	this.response.setBufferSize(size);
160     }
161     
162     /**
163      * The default behavior of this method is to return getBufferSize()
164      * on the wrapped response object.
165      */
166     public int getBufferSize() {
167 	return this.response.getBufferSize();
168     }
169 
170     /**
171      * The default behavior of this method is to call flushBuffer()
172      * on the wrapped response object.
173      */
174 
175     public void flushBuffer() throws IOException {
176 	this.response.flushBuffer();
177     }
178     
179     /**
180      * The default behavior of this method is to return isCommitted()
181      * on the wrapped response object.
182      */
183     public boolean isCommitted() {
184 	return this.response.isCommitted();
185     }
186 
187     /**
188      * The default behavior of this method is to call reset()
189      * on the wrapped response object.
190      */
191 
192     public void reset() {
193 	this.response.reset();
194     }
195     
196     /**
197      * The default behavior of this method is to call resetBuffer()
198      * on the wrapped response object.
199      */
200      
201     public void resetBuffer() {
202 	this.response.resetBuffer();
203     }
204     
205     /**
206      * The default behavior of this method is to call setLocale(Locale loc)
207      * on the wrapped response object.
208      */
209 
210     public void setLocale(Locale loc) {
211 	this.response.setLocale(loc);
212     }
213     
214     /**
215      * The default behavior of this method is to return getLocale()
216      * on the wrapped response object.
217      */
218     public Locale getLocale() {
219 	return this.response.getLocale();
220     }
221 
222 
223 }
224 
225 
226 
227 
228