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