You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jd...@apache.org on 2006/08/27 02:18:32 UTC
svn commit: r437256 [17/23] - in /geronimo/specs/trunk: ./
geronimo-activation_1.0.2_spec/
geronimo-activation_1.0.2_spec/src/main/java/javax/activation/
geronimo-activation_1.0.2_spec/src/test/java/javax/activation/
geronimo-commonj_1.1_spec/ geronimo...
Modified: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletRequestWrapper.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletRequestWrapper.java?rev=437256&r1=437255&r2=437256&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletRequestWrapper.java (original)
+++ geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletRequestWrapper.java Sat Aug 26 17:17:49 2006
@@ -1,400 +1,400 @@
-/*
-* Copyright 2004 The Apache Software Foundation
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package javax.servlet;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.Locale;
-import java.util.Map;
-
-
-
-/**
- *
- * Provides a convenient implementation of the ServletRequest interface that
- * can be subclassed by developers wishing to adapt the request to a Servlet.
- * This class implements the Wrapper or Decorator pattern. Methods default to
- * calling through to the wrapped request object.
- * @since v 2.3
- *
- *
- *
- * @see javax.servlet.ServletRequest
- *
- */
-
-public class ServletRequestWrapper implements ServletRequest {
- private ServletRequest request;
-
- /**
- * Creates a ServletRequest adaptor wrapping the given request object.
- * @throws java.lang.IllegalArgumentException if the request is null
- */
-
- public ServletRequestWrapper(ServletRequest request) {
- if (request == null) {
- throw new IllegalArgumentException("Request cannot be null");
- }
- this.request = request;
- }
-
- /**
- * Return the wrapped request object.
- */
- public ServletRequest getRequest() {
- return this.request;
- }
-
- /**
- * Sets the request object being wrapped.
- * @throws java.lang.IllegalArgumentException if the request is null.
- */
-
- public void setRequest(ServletRequest request) {
- if (request == null) {
- throw new IllegalArgumentException("Request cannot be null");
- }
- this.request = request;
- }
-
- /**
- *
- * The default behavior of this method is to call getAttribute(String name)
- * on the wrapped request object.
- */
-
- public Object getAttribute(String name) {
- return this.request.getAttribute(name);
- }
-
-
-
- /**
- * The default behavior of this method is to return getAttributeNames()
- * on the wrapped request object.
- */
-
- public Enumeration getAttributeNames() {
- return this.request.getAttributeNames();
- }
-
-
-
- /**
- * The default behavior of this method is to return getCharacterEncoding()
- * on the wrapped request object.
- */
-
- public String getCharacterEncoding() {
- return this.request.getCharacterEncoding();
- }
-
- /**
- * The default behavior of this method is to set the character encoding
- * on the wrapped request object.
- */
-
- public void setCharacterEncoding(String enc) throws java.io.UnsupportedEncodingException {
- this.request.setCharacterEncoding(enc);
- }
-
-
- /**
- * The default behavior of this method is to return getContentLength()
- * on the wrapped request object.
- */
-
- public int getContentLength() {
- return this.request.getContentLength();
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getContentType()
- * on the wrapped request object.
- */
- public String getContentType() {
- return this.request.getContentType();
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getInputStream()
- * on the wrapped request object.
- */
-
- public ServletInputStream getInputStream() throws IOException {
- return this.request.getInputStream();
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getParameter(String name)
- * on the wrapped request object.
- */
-
- public String getParameter(String name) {
- return this.request.getParameter(name);
- }
-
- /**
- * The default behavior of this method is to return getParameterMap()
- * on the wrapped request object.
- */
- public Map getParameterMap() {
- return this.request.getParameterMap();
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getParameterNames()
- * on the wrapped request object.
- */
-
- public Enumeration getParameterNames() {
- return this.request.getParameterNames();
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getParameterValues(String name)
- * on the wrapped request object.
- */
- public String[] getParameterValues(String name) {
- return this.request.getParameterValues(name);
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getProtocol()
- * on the wrapped request object.
- */
-
- public String getProtocol() {
- return this.request.getProtocol();
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getScheme()
- * on the wrapped request object.
- */
-
-
- public String getScheme() {
- return this.request.getScheme();
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getServerName()
- * on the wrapped request object.
- */
- public String getServerName() {
- return this.request.getServerName();
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getServerPort()
- * on the wrapped request object.
- */
-
- public int getServerPort() {
- return this.request.getServerPort();
- }
-
-
-
- /**
- * The default behavior of this method is to return getReader()
- * on the wrapped request object.
- */
-
- public BufferedReader getReader() throws IOException {
- return this.request.getReader();
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getRemoteAddr()
- * on the wrapped request object.
- */
-
- public String getRemoteAddr() {
- return this.request.getRemoteAddr();
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getRemoteHost()
- * on the wrapped request object.
- */
-
- public String getRemoteHost() {
- return this.request.getRemoteHost();
- }
-
-
-
-
- /**
- * The default behavior of this method is to return setAttribute(String name, Object o)
- * on the wrapped request object.
- */
-
- public void setAttribute(String name, Object o) {
- this.request.setAttribute(name, o);
- }
-
-
-
-
- /**
- * The default behavior of this method is to call removeAttribute(String name)
- * on the wrapped request object.
- */
- public void removeAttribute(String name) {
- this.request.removeAttribute(name);
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getLocale()
- * on the wrapped request object.
- */
-
- public Locale getLocale() {
- return this.request.getLocale();
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getLocales()
- * on the wrapped request object.
- */
-
- public Enumeration getLocales() {
- return this.request.getLocales();
- }
-
-
-
-
- /**
- * The default behavior of this method is to return isSecure()
- * on the wrapped request object.
- */
-
- public boolean isSecure() {
- return this.request.isSecure();
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getRequestDispatcher(String path)
- * on the wrapped request object.
- */
-
- public RequestDispatcher getRequestDispatcher(String path) {
- return this.request.getRequestDispatcher(path);
- }
-
-
-
-
- /**
- * The default behavior of this method is to return getRealPath(String path)
- * on the wrapped request object.
- */
-
- public String getRealPath(String path) {
- return this.request.getRealPath(path);
- }
-
- /**
- * The default behavior of this method is to return
- * getRemotePort() on the wrapped request object.
- *
- * @since 2.4
- */
- public int getRemotePort(){
- return this.request.getRemotePort();
- }
-
-
- /**
- * The default behavior of this method is to return
- * getLocalName() on the wrapped request object.
- *
- * @since 2.4
- */
- public String getLocalName(){
- return this.request.getLocalName();
- }
-
- /**
- * The default behavior of this method is to return
- * getLocalAddr() on the wrapped request object.
- *
- * @since 2.4
- */
- public String getLocalAddr(){
- return this.request.getLocalAddr();
- }
-
-
- /**
- * The default behavior of this method is to return
- * getLocalPort() on the wrapped request object.
- *
- * @since 2.4
- */
- public int getLocalPort(){
- return this.request.getLocalPort();
- }
-
-}
-
+/*
+* Copyright 2004 The Apache Software Foundation
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package javax.servlet;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map;
+
+
+
+/**
+ *
+ * Provides a convenient implementation of the ServletRequest interface that
+ * can be subclassed by developers wishing to adapt the request to a Servlet.
+ * This class implements the Wrapper or Decorator pattern. Methods default to
+ * calling through to the wrapped request object.
+ * @since v 2.3
+ *
+ *
+ *
+ * @see javax.servlet.ServletRequest
+ *
+ */
+
+public class ServletRequestWrapper implements ServletRequest {
+ private ServletRequest request;
+
+ /**
+ * Creates a ServletRequest adaptor wrapping the given request object.
+ * @throws java.lang.IllegalArgumentException if the request is null
+ */
+
+ public ServletRequestWrapper(ServletRequest request) {
+ if (request == null) {
+ throw new IllegalArgumentException("Request cannot be null");
+ }
+ this.request = request;
+ }
+
+ /**
+ * Return the wrapped request object.
+ */
+ public ServletRequest getRequest() {
+ return this.request;
+ }
+
+ /**
+ * Sets the request object being wrapped.
+ * @throws java.lang.IllegalArgumentException if the request is null.
+ */
+
+ public void setRequest(ServletRequest request) {
+ if (request == null) {
+ throw new IllegalArgumentException("Request cannot be null");
+ }
+ this.request = request;
+ }
+
+ /**
+ *
+ * The default behavior of this method is to call getAttribute(String name)
+ * on the wrapped request object.
+ */
+
+ public Object getAttribute(String name) {
+ return this.request.getAttribute(name);
+ }
+
+
+
+ /**
+ * The default behavior of this method is to return getAttributeNames()
+ * on the wrapped request object.
+ */
+
+ public Enumeration getAttributeNames() {
+ return this.request.getAttributeNames();
+ }
+
+
+
+ /**
+ * The default behavior of this method is to return getCharacterEncoding()
+ * on the wrapped request object.
+ */
+
+ public String getCharacterEncoding() {
+ return this.request.getCharacterEncoding();
+ }
+
+ /**
+ * The default behavior of this method is to set the character encoding
+ * on the wrapped request object.
+ */
+
+ public void setCharacterEncoding(String enc) throws java.io.UnsupportedEncodingException {
+ this.request.setCharacterEncoding(enc);
+ }
+
+
+ /**
+ * The default behavior of this method is to return getContentLength()
+ * on the wrapped request object.
+ */
+
+ public int getContentLength() {
+ return this.request.getContentLength();
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getContentType()
+ * on the wrapped request object.
+ */
+ public String getContentType() {
+ return this.request.getContentType();
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getInputStream()
+ * on the wrapped request object.
+ */
+
+ public ServletInputStream getInputStream() throws IOException {
+ return this.request.getInputStream();
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getParameter(String name)
+ * on the wrapped request object.
+ */
+
+ public String getParameter(String name) {
+ return this.request.getParameter(name);
+ }
+
+ /**
+ * The default behavior of this method is to return getParameterMap()
+ * on the wrapped request object.
+ */
+ public Map getParameterMap() {
+ return this.request.getParameterMap();
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getParameterNames()
+ * on the wrapped request object.
+ */
+
+ public Enumeration getParameterNames() {
+ return this.request.getParameterNames();
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getParameterValues(String name)
+ * on the wrapped request object.
+ */
+ public String[] getParameterValues(String name) {
+ return this.request.getParameterValues(name);
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getProtocol()
+ * on the wrapped request object.
+ */
+
+ public String getProtocol() {
+ return this.request.getProtocol();
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getScheme()
+ * on the wrapped request object.
+ */
+
+
+ public String getScheme() {
+ return this.request.getScheme();
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getServerName()
+ * on the wrapped request object.
+ */
+ public String getServerName() {
+ return this.request.getServerName();
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getServerPort()
+ * on the wrapped request object.
+ */
+
+ public int getServerPort() {
+ return this.request.getServerPort();
+ }
+
+
+
+ /**
+ * The default behavior of this method is to return getReader()
+ * on the wrapped request object.
+ */
+
+ public BufferedReader getReader() throws IOException {
+ return this.request.getReader();
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getRemoteAddr()
+ * on the wrapped request object.
+ */
+
+ public String getRemoteAddr() {
+ return this.request.getRemoteAddr();
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getRemoteHost()
+ * on the wrapped request object.
+ */
+
+ public String getRemoteHost() {
+ return this.request.getRemoteHost();
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return setAttribute(String name, Object o)
+ * on the wrapped request object.
+ */
+
+ public void setAttribute(String name, Object o) {
+ this.request.setAttribute(name, o);
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to call removeAttribute(String name)
+ * on the wrapped request object.
+ */
+ public void removeAttribute(String name) {
+ this.request.removeAttribute(name);
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getLocale()
+ * on the wrapped request object.
+ */
+
+ public Locale getLocale() {
+ return this.request.getLocale();
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getLocales()
+ * on the wrapped request object.
+ */
+
+ public Enumeration getLocales() {
+ return this.request.getLocales();
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return isSecure()
+ * on the wrapped request object.
+ */
+
+ public boolean isSecure() {
+ return this.request.isSecure();
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getRequestDispatcher(String path)
+ * on the wrapped request object.
+ */
+
+ public RequestDispatcher getRequestDispatcher(String path) {
+ return this.request.getRequestDispatcher(path);
+ }
+
+
+
+
+ /**
+ * The default behavior of this method is to return getRealPath(String path)
+ * on the wrapped request object.
+ */
+
+ public String getRealPath(String path) {
+ return this.request.getRealPath(path);
+ }
+
+ /**
+ * The default behavior of this method is to return
+ * getRemotePort() on the wrapped request object.
+ *
+ * @since 2.4
+ */
+ public int getRemotePort(){
+ return this.request.getRemotePort();
+ }
+
+
+ /**
+ * The default behavior of this method is to return
+ * getLocalName() on the wrapped request object.
+ *
+ * @since 2.4
+ */
+ public String getLocalName(){
+ return this.request.getLocalName();
+ }
+
+ /**
+ * The default behavior of this method is to return
+ * getLocalAddr() on the wrapped request object.
+ *
+ * @since 2.4
+ */
+ public String getLocalAddr(){
+ return this.request.getLocalAddr();
+ }
+
+
+ /**
+ * The default behavior of this method is to return
+ * getLocalPort() on the wrapped request object.
+ *
+ * @since 2.4
+ */
+ public int getLocalPort(){
+ return this.request.getLocalPort();
+ }
+
+}
+
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletRequestWrapper.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletRequestWrapper.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletRequestWrapper.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletResponse.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletResponse.java?rev=437256&r1=437255&r2=437256&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletResponse.java (original)
+++ geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletResponse.java Sat Aug 26 17:17:49 2006
@@ -1,452 +1,452 @@
-/*
-* Copyright 2004 The Apache Software Foundation
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package javax.servlet;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Locale;
-
-
-/**
- * Defines an object to assist a servlet in sending a response to the client.
- * The servlet container creates a <code>ServletResponse</code> object and
- * passes it as an argument to the servlet's <code>service</code> method.
- *
- * <p>To send binary data in a MIME body response, use
- * the {@link ServletOutputStream} returned by {@link #getOutputStream}.
- * To send character data, use the <code>PrintWriter</code> object
- * returned by {@link #getWriter}. To mix binary and text data,
- * for example, to create a multipart response, use a
- * <code>ServletOutputStream</code> and manage the character sections
- * manually.
- *
- * <p>The charset for the MIME body response can be specified
- * explicitly using the {@link #setCharacterEncoding} and
- * {@link #setContentType} methods, or implicitly
- * using the {@link #setLocale} method.
- * Explicit specifications take precedence over
- * implicit specifications. If no charset is specified, ISO-8859-1 will be
- * used. The <code>setCharacterEncoding</code>,
- * <code>setContentType</code>, or <code>setLocale</code> method must
- * be called before <code>getWriter</code> and before committing
- * the response for the character encoding to be used.
- *
- * <p>See the Internet RFCs such as
- * <a href="http://www.ietf.org/rfc/rfc2045.txt">
- * RFC 2045</a> for more information on MIME. Protocols such as SMTP
- * and HTTP define profiles of MIME, and those standards
- * are still evolving.
- *
- * @author Various
- * @version $Version$
- *
- * @see ServletOutputStream
- *
- */
-
-public interface ServletResponse {
-
-
-
- /**
- * Returns the name of the character encoding (MIME charset)
- * used for the body sent in this response.
- * The character encoding may have been specified explicitly
- * using the {@link #setCharacterEncoding} or
- * {@link #setContentType} methods, or implicitly using the
- * {@link #setLocale} method. Explicit specifications take
- * precedence over implicit specifications. Calls made
- * to these methods after <code>getWriter</code> has been
- * called or after the response has been committed have no
- * effect on the character encoding. If no character encoding
- * has been specified, <code>ISO-8859-1</code> is returned.
- * <p>See RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)
- * for more information about character encoding and MIME.
- *
- * @return a <code>String</code> specifying the
- * name of the character encoding, for
- * example, <code>UTF-8</code>
- *
- */
-
- public String getCharacterEncoding();
-
-
-
- /**
- * Returns the content type used for the MIME body
- * sent in this response. The content type proper must
- * have been specified using {@link #setContentType}
- * before the response is committed. If no content type
- * has been specified, this method returns null.
- * If a content type has been specified and a
- * character encoding has been explicitly or implicitly
- * specified as described in {@link #getCharacterEncoding},
- * the charset parameter is included in the string returned.
- * If no character encoding has been specified, the
- * charset parameter is omitted.
- *
- * @return a <code>String</code> specifying the
- * content type, for example,
- * <code>text/html; charset=UTF-8</code>,
- * or null
- *
- * @since 2.4
- */
-
- public String getContentType();
-
-
-
- /**
- * Returns a {@link ServletOutputStream} suitable for writing binary
- * data in the response. The servlet container does not encode the
- * binary data.
-
- * <p> Calling flush() on the ServletOutputStream commits the response.
-
- * Either this method or {@link #getWriter} may
- * be called to write the body, not both.
- *
- * @return a {@link ServletOutputStream} for writing binary data
- *
- * @exception IllegalStateException if the <code>getWriter</code> method
- * has been called on this response
- *
- * @exception IOException if an input or output exception occurred
- *
- * @see #getWriter
- *
- */
-
- public ServletOutputStream getOutputStream() throws IOException;
-
-
-
- /**
- * Returns a <code>PrintWriter</code> object that
- * can send character text to the client.
- * The <code>PrintWriter</code> uses the character
- * encoding returned by {@link #getCharacterEncoding}.
- * If the response's character encoding has not been
- * specified as described in <code>getCharacterEncoding</code>
- * (i.e., the method just returns the default value
- * <code>ISO-8859-1</code>), <code>getWriter</code>
- * updates it to <code>ISO-8859-1</code>.
- * <p>Calling flush() on the <code>PrintWriter</code>
- * commits the response.
- * <p>Either this method or {@link #getOutputStream} may be called
- * to write the body, not both.
- *
- *
- * @return a <code>PrintWriter</code> object that
- * can return character data to the client
- *
- * @exception UnsupportedEncodingException
- * if the character encoding returned
- * by <code>getCharacterEncoding</code> cannot be used
- *
- * @exception IllegalStateException
- * if the <code>getOutputStream</code>
- * method has already been called for this
- * response object
- *
- * @exception IOException
- * if an input or output exception occurred
- *
- * @see #getOutputStream
- * @see #setCharacterEncoding
- *
- */
-
- public PrintWriter getWriter() throws IOException;
-
-
-
-
- /**
- * Sets the character encoding (MIME charset) of the response
- * being sent to the client, for example, to UTF-8.
- * If the character encoding has already been set by
- * {@link #setContentType} or {@link #setLocale},
- * this method overrides it.
- * Calling {@link #setContentType} with the <code>String</code>
- * of <code>text/html</code> and calling
- * this method with the <code>String</code> of <code>UTF-8</code>
- * is equivalent with calling
- * <code>setContentType</code> with the <code>String</code> of
- * <code>text/html; charset=UTF-8</code>.
- * <p>This method can be called repeatedly to change the character
- * encoding.
- * This method has no effect if it is called after
- * <code>getWriter</code> has been
- * called or after the response has been committed.
- * <p>Containers must communicate the character encoding used for
- * the servlet response's writer to the client if the protocol
- * provides a way for doing so. In the case of HTTP, the character
- * encoding is communicated as part of the <code>Content-Type</code>
- * header for text media types. Note that the character encoding
- * cannot be communicated via HTTP headers if the servlet does not
- * specify a content type; however, it is still used to encode text
- * written via the servlet response's writer.
- *
- * @param charset a String specifying only the character set
- * defined by IANA Character Sets
- * (http://www.iana.org/assignments/character-sets)
- *
- * @see #setContentType
- * #setLocale
- *
- * @since 2.4
- *
- */
-
- public void setCharacterEncoding(String charset);
-
-
-
-
- /**
- * Sets the length of the content body in the response
- * In HTTP servlets, this method sets the HTTP Content-Length header.
- *
- *
- * @param len an integer specifying the length of the
- * content being returned to the client; sets
- * the Content-Length header
- *
- */
-
- public void setContentLength(int len);
-
-
-
- /**
- * Sets the content type of the response being sent to
- * the client, if the response has not been committed yet.
- * The given content type may include a character encoding
- * specification, for example, <code>text/html;charset=UTF-8</code>.
- * The response's character encoding is only set from the given
- * content type if this method is called before <code>getWriter</code>
- * is called.
- * <p>This method may be called repeatedly to change content type and
- * character encoding.
- * This method has no effect if called after the response
- * has been committed. It does not set the response's character
- * encoding if it is called after <code>getWriter</code>
- * has been called or after the response has been committed.
- * <p>Containers must communicate the content type and the character
- * encoding used for the servlet response's writer to the client if
- * the protocol provides a way for doing so. In the case of HTTP,
- * the <code>Content-Type</code> header is used.
- *
- * @param type a <code>String</code> specifying the MIME
- * type of the content
- *
- * @see #setLocale
- * @see #setCharacterEncoding
- * @see #getOutputStream
- * @see #getWriter
- *
- */
-
- public void setContentType(String type);
-
-
- /**
- * Sets the preferred buffer size for the body of the response.
- * The servlet container will use a buffer at least as large as
- * the size requested. The actual buffer size used can be found
- * using <code>getBufferSize</code>.
- *
- * <p>A larger buffer allows more content to be written before anything is
- * actually sent, thus providing the servlet with more time to set
- * appropriate status codes and headers. A smaller buffer decreases
- * server memory load and allows the client to start receiving data more
- * quickly.
- *
- * <p>This method must be called before any response body content is
- * written; if content has been written or the response object has
- * been committed, this method throws an
- * <code>IllegalStateException</code>.
- *
- * @param size the preferred buffer size
- *
- * @exception IllegalStateException if this method is called after
- * content has been written
- *
- * @see #getBufferSize
- * @see #flushBuffer
- * @see #isCommitted
- * @see #reset
- *
- */
-
- public void setBufferSize(int size);
-
-
-
- /**
- * Returns the actual buffer size used for the response. If no buffering
- * is used, this method returns 0.
- *
- * @return the actual buffer size used
- *
- * @see #setBufferSize
- * @see #flushBuffer
- * @see #isCommitted
- * @see #reset
- *
- */
-
- public int getBufferSize();
-
-
-
- /**
- * Forces any content in the buffer to be written to the client. A call
- * to this method automatically commits the response, meaning the status
- * code and headers will be written.
- *
- * @see #setBufferSize
- * @see #getBufferSize
- * @see #isCommitted
- * @see #reset
- *
- */
-
- public void flushBuffer() throws IOException;
-
-
-
- /**
- * Clears the content of the underlying buffer in the response without
- * clearing headers or status code. If the
- * response has been committed, this method throws an
- * <code>IllegalStateException</code>.
- *
- * @see #setBufferSize
- * @see #getBufferSize
- * @see #isCommitted
- * @see #reset
- *
- * @since 2.3
- */
-
- public void resetBuffer();
-
-
- /**
- * Returns a boolean indicating if the response has been
- * committed. A committed response has already had its status
- * code and headers written.
- *
- * @return a boolean indicating if the response has been
- * committed
- *
- * @see #setBufferSize
- * @see #getBufferSize
- * @see #flushBuffer
- * @see #reset
- *
- */
-
- public boolean isCommitted();
-
-
-
- /**
- * Clears any data that exists in the buffer as well as the status code and
- * headers. If the response has been committed, this method throws an
- * <code>IllegalStateException</code>.
- *
- * @exception IllegalStateException if the response has already been
- * committed
- *
- * @see #setBufferSize
- * @see #getBufferSize
- * @see #flushBuffer
- * @see #isCommitted
- *
- */
-
- public void reset();
-
-
-
- /**
- * Sets the locale of the response, if the response has not been
- * committed yet. It also sets the response's character encoding
- * appropriately for the locale, if the character encoding has not
- * been explicitly set using {@link #setContentType} or
- * {@link #setCharacterEncoding}, <code>getWriter</code> hasn't
- * been called yet, and the response hasn't been committed yet.
- * If the deployment descriptor contains a
- * <code>locale-encoding-mapping-list</code> element, and that
- * element provides a mapping for the given locale, that mapping
- * is used. Otherwise, the mapping from locale to character
- * encoding is container dependent.
- * <p>This method may be called repeatedly to change locale and
- * character encoding. The method has no effect if called after the
- * response has been committed. It does not set the response's
- * character encoding if it is called after {@link #setContentType}
- * has been called with a charset specification, after
- * {@link #setCharacterEncoding} has been called, after
- * <code>getWriter</code> has been called, or after the response
- * has been committed.
- * <p>Containers must communicate the locale and the character encoding
- * used for the servlet response's writer to the client if the protocol
- * provides a way for doing so. In the case of HTTP, the locale is
- * communicated via the <code>Content-Language</code> header,
- * the character encoding as part of the <code>Content-Type</code>
- * header for text media types. Note that the character encoding
- * cannot be communicated via HTTP headers if the servlet does not
- * specify a content type; however, it is still used to encode text
- * written via the servlet response's writer.
- *
- * @param loc the locale of the response
- *
- * @see #getLocale
- * @see #setContentType
- * @see #setCharacterEncoding
- *
- */
-
- public void setLocale(Locale loc);
-
-
-
- /**
- * Returns the locale specified for this response
- * using the {@link #setLocale} method. Calls made to
- * <code>setLocale</code> after the response is committed
- * have no effect. If no locale has been specified,
- * the container's default locale is returned.
- *
- * @see #setLocale
- *
- */
-
- public Locale getLocale();
-
-
-
-}
-
-
-
-
-
+/*
+* Copyright 2004 The Apache Software Foundation
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package javax.servlet;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Locale;
+
+
+/**
+ * Defines an object to assist a servlet in sending a response to the client.
+ * The servlet container creates a <code>ServletResponse</code> object and
+ * passes it as an argument to the servlet's <code>service</code> method.
+ *
+ * <p>To send binary data in a MIME body response, use
+ * the {@link ServletOutputStream} returned by {@link #getOutputStream}.
+ * To send character data, use the <code>PrintWriter</code> object
+ * returned by {@link #getWriter}. To mix binary and text data,
+ * for example, to create a multipart response, use a
+ * <code>ServletOutputStream</code> and manage the character sections
+ * manually.
+ *
+ * <p>The charset for the MIME body response can be specified
+ * explicitly using the {@link #setCharacterEncoding} and
+ * {@link #setContentType} methods, or implicitly
+ * using the {@link #setLocale} method.
+ * Explicit specifications take precedence over
+ * implicit specifications. If no charset is specified, ISO-8859-1 will be
+ * used. The <code>setCharacterEncoding</code>,
+ * <code>setContentType</code>, or <code>setLocale</code> method must
+ * be called before <code>getWriter</code> and before committing
+ * the response for the character encoding to be used.
+ *
+ * <p>See the Internet RFCs such as
+ * <a href="http://www.ietf.org/rfc/rfc2045.txt">
+ * RFC 2045</a> for more information on MIME. Protocols such as SMTP
+ * and HTTP define profiles of MIME, and those standards
+ * are still evolving.
+ *
+ * @author Various
+ * @version $Version$
+ *
+ * @see ServletOutputStream
+ *
+ */
+
+public interface ServletResponse {
+
+
+
+ /**
+ * Returns the name of the character encoding (MIME charset)
+ * used for the body sent in this response.
+ * The character encoding may have been specified explicitly
+ * using the {@link #setCharacterEncoding} or
+ * {@link #setContentType} methods, or implicitly using the
+ * {@link #setLocale} method. Explicit specifications take
+ * precedence over implicit specifications. Calls made
+ * to these methods after <code>getWriter</code> has been
+ * called or after the response has been committed have no
+ * effect on the character encoding. If no character encoding
+ * has been specified, <code>ISO-8859-1</code> is returned.
+ * <p>See RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)
+ * for more information about character encoding and MIME.
+ *
+ * @return a <code>String</code> specifying the
+ * name of the character encoding, for
+ * example, <code>UTF-8</code>
+ *
+ */
+
+ public String getCharacterEncoding();
+
+
+
+ /**
+ * Returns the content type used for the MIME body
+ * sent in this response. The content type proper must
+ * have been specified using {@link #setContentType}
+ * before the response is committed. If no content type
+ * has been specified, this method returns null.
+ * If a content type has been specified and a
+ * character encoding has been explicitly or implicitly
+ * specified as described in {@link #getCharacterEncoding},
+ * the charset parameter is included in the string returned.
+ * If no character encoding has been specified, the
+ * charset parameter is omitted.
+ *
+ * @return a <code>String</code> specifying the
+ * content type, for example,
+ * <code>text/html; charset=UTF-8</code>,
+ * or null
+ *
+ * @since 2.4
+ */
+
+ public String getContentType();
+
+
+
+ /**
+ * Returns a {@link ServletOutputStream} suitable for writing binary
+ * data in the response. The servlet container does not encode the
+ * binary data.
+
+ * <p> Calling flush() on the ServletOutputStream commits the response.
+
+ * Either this method or {@link #getWriter} may
+ * be called to write the body, not both.
+ *
+ * @return a {@link ServletOutputStream} for writing binary data
+ *
+ * @exception IllegalStateException if the <code>getWriter</code> method
+ * has been called on this response
+ *
+ * @exception IOException if an input or output exception occurred
+ *
+ * @see #getWriter
+ *
+ */
+
+ public ServletOutputStream getOutputStream() throws IOException;
+
+
+
+ /**
+ * Returns a <code>PrintWriter</code> object that
+ * can send character text to the client.
+ * The <code>PrintWriter</code> uses the character
+ * encoding returned by {@link #getCharacterEncoding}.
+ * If the response's character encoding has not been
+ * specified as described in <code>getCharacterEncoding</code>
+ * (i.e., the method just returns the default value
+ * <code>ISO-8859-1</code>), <code>getWriter</code>
+ * updates it to <code>ISO-8859-1</code>.
+ * <p>Calling flush() on the <code>PrintWriter</code>
+ * commits the response.
+ * <p>Either this method or {@link #getOutputStream} may be called
+ * to write the body, not both.
+ *
+ *
+ * @return a <code>PrintWriter</code> object that
+ * can return character data to the client
+ *
+ * @exception UnsupportedEncodingException
+ * if the character encoding returned
+ * by <code>getCharacterEncoding</code> cannot be used
+ *
+ * @exception IllegalStateException
+ * if the <code>getOutputStream</code>
+ * method has already been called for this
+ * response object
+ *
+ * @exception IOException
+ * if an input or output exception occurred
+ *
+ * @see #getOutputStream
+ * @see #setCharacterEncoding
+ *
+ */
+
+ public PrintWriter getWriter() throws IOException;
+
+
+
+
+ /**
+ * Sets the character encoding (MIME charset) of the response
+ * being sent to the client, for example, to UTF-8.
+ * If the character encoding has already been set by
+ * {@link #setContentType} or {@link #setLocale},
+ * this method overrides it.
+ * Calling {@link #setContentType} with the <code>String</code>
+ * of <code>text/html</code> and calling
+ * this method with the <code>String</code> of <code>UTF-8</code>
+ * is equivalent with calling
+ * <code>setContentType</code> with the <code>String</code> of
+ * <code>text/html; charset=UTF-8</code>.
+ * <p>This method can be called repeatedly to change the character
+ * encoding.
+ * This method has no effect if it is called after
+ * <code>getWriter</code> has been
+ * called or after the response has been committed.
+ * <p>Containers must communicate the character encoding used for
+ * the servlet response's writer to the client if the protocol
+ * provides a way for doing so. In the case of HTTP, the character
+ * encoding is communicated as part of the <code>Content-Type</code>
+ * header for text media types. Note that the character encoding
+ * cannot be communicated via HTTP headers if the servlet does not
+ * specify a content type; however, it is still used to encode text
+ * written via the servlet response's writer.
+ *
+ * @param charset a String specifying only the character set
+ * defined by IANA Character Sets
+ * (http://www.iana.org/assignments/character-sets)
+ *
+ * @see #setContentType
+ * #setLocale
+ *
+ * @since 2.4
+ *
+ */
+
+ public void setCharacterEncoding(String charset);
+
+
+
+
+ /**
+ * Sets the length of the content body in the response
+ * In HTTP servlets, this method sets the HTTP Content-Length header.
+ *
+ *
+ * @param len an integer specifying the length of the
+ * content being returned to the client; sets
+ * the Content-Length header
+ *
+ */
+
+ public void setContentLength(int len);
+
+
+
+ /**
+ * Sets the content type of the response being sent to
+ * the client, if the response has not been committed yet.
+ * The given content type may include a character encoding
+ * specification, for example, <code>text/html;charset=UTF-8</code>.
+ * The response's character encoding is only set from the given
+ * content type if this method is called before <code>getWriter</code>
+ * is called.
+ * <p>This method may be called repeatedly to change content type and
+ * character encoding.
+ * This method has no effect if called after the response
+ * has been committed. It does not set the response's character
+ * encoding if it is called after <code>getWriter</code>
+ * has been called or after the response has been committed.
+ * <p>Containers must communicate the content type and the character
+ * encoding used for the servlet response's writer to the client if
+ * the protocol provides a way for doing so. In the case of HTTP,
+ * the <code>Content-Type</code> header is used.
+ *
+ * @param type a <code>String</code> specifying the MIME
+ * type of the content
+ *
+ * @see #setLocale
+ * @see #setCharacterEncoding
+ * @see #getOutputStream
+ * @see #getWriter
+ *
+ */
+
+ public void setContentType(String type);
+
+
+ /**
+ * Sets the preferred buffer size for the body of the response.
+ * The servlet container will use a buffer at least as large as
+ * the size requested. The actual buffer size used can be found
+ * using <code>getBufferSize</code>.
+ *
+ * <p>A larger buffer allows more content to be written before anything is
+ * actually sent, thus providing the servlet with more time to set
+ * appropriate status codes and headers. A smaller buffer decreases
+ * server memory load and allows the client to start receiving data more
+ * quickly.
+ *
+ * <p>This method must be called before any response body content is
+ * written; if content has been written or the response object has
+ * been committed, this method throws an
+ * <code>IllegalStateException</code>.
+ *
+ * @param size the preferred buffer size
+ *
+ * @exception IllegalStateException if this method is called after
+ * content has been written
+ *
+ * @see #getBufferSize
+ * @see #flushBuffer
+ * @see #isCommitted
+ * @see #reset
+ *
+ */
+
+ public void setBufferSize(int size);
+
+
+
+ /**
+ * Returns the actual buffer size used for the response. If no buffering
+ * is used, this method returns 0.
+ *
+ * @return the actual buffer size used
+ *
+ * @see #setBufferSize
+ * @see #flushBuffer
+ * @see #isCommitted
+ * @see #reset
+ *
+ */
+
+ public int getBufferSize();
+
+
+
+ /**
+ * Forces any content in the buffer to be written to the client. A call
+ * to this method automatically commits the response, meaning the status
+ * code and headers will be written.
+ *
+ * @see #setBufferSize
+ * @see #getBufferSize
+ * @see #isCommitted
+ * @see #reset
+ *
+ */
+
+ public void flushBuffer() throws IOException;
+
+
+
+ /**
+ * Clears the content of the underlying buffer in the response without
+ * clearing headers or status code. If the
+ * response has been committed, this method throws an
+ * <code>IllegalStateException</code>.
+ *
+ * @see #setBufferSize
+ * @see #getBufferSize
+ * @see #isCommitted
+ * @see #reset
+ *
+ * @since 2.3
+ */
+
+ public void resetBuffer();
+
+
+ /**
+ * Returns a boolean indicating if the response has been
+ * committed. A committed response has already had its status
+ * code and headers written.
+ *
+ * @return a boolean indicating if the response has been
+ * committed
+ *
+ * @see #setBufferSize
+ * @see #getBufferSize
+ * @see #flushBuffer
+ * @see #reset
+ *
+ */
+
+ public boolean isCommitted();
+
+
+
+ /**
+ * Clears any data that exists in the buffer as well as the status code and
+ * headers. If the response has been committed, this method throws an
+ * <code>IllegalStateException</code>.
+ *
+ * @exception IllegalStateException if the response has already been
+ * committed
+ *
+ * @see #setBufferSize
+ * @see #getBufferSize
+ * @see #flushBuffer
+ * @see #isCommitted
+ *
+ */
+
+ public void reset();
+
+
+
+ /**
+ * Sets the locale of the response, if the response has not been
+ * committed yet. It also sets the response's character encoding
+ * appropriately for the locale, if the character encoding has not
+ * been explicitly set using {@link #setContentType} or
+ * {@link #setCharacterEncoding}, <code>getWriter</code> hasn't
+ * been called yet, and the response hasn't been committed yet.
+ * If the deployment descriptor contains a
+ * <code>locale-encoding-mapping-list</code> element, and that
+ * element provides a mapping for the given locale, that mapping
+ * is used. Otherwise, the mapping from locale to character
+ * encoding is container dependent.
+ * <p>This method may be called repeatedly to change locale and
+ * character encoding. The method has no effect if called after the
+ * response has been committed. It does not set the response's
+ * character encoding if it is called after {@link #setContentType}
+ * has been called with a charset specification, after
+ * {@link #setCharacterEncoding} has been called, after
+ * <code>getWriter</code> has been called, or after the response
+ * has been committed.
+ * <p>Containers must communicate the locale and the character encoding
+ * used for the servlet response's writer to the client if the protocol
+ * provides a way for doing so. In the case of HTTP, the locale is
+ * communicated via the <code>Content-Language</code> header,
+ * the character encoding as part of the <code>Content-Type</code>
+ * header for text media types. Note that the character encoding
+ * cannot be communicated via HTTP headers if the servlet does not
+ * specify a content type; however, it is still used to encode text
+ * written via the servlet response's writer.
+ *
+ * @param loc the locale of the response
+ *
+ * @see #getLocale
+ * @see #setContentType
+ * @see #setCharacterEncoding
+ *
+ */
+
+ public void setLocale(Locale loc);
+
+
+
+ /**
+ * Returns the locale specified for this response
+ * using the {@link #setLocale} method. Calls made to
+ * <code>setLocale</code> after the response is committed
+ * have no effect. If no locale has been specified,
+ * the container's default locale is returned.
+ *
+ * @see #setLocale
+ *
+ */
+
+ public Locale getLocale();
+
+
+
+}
+
+
+
+
+
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletResponse.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletResponse.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletResponse.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletResponseWrapper.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletResponseWrapper.java?rev=437256&r1=437255&r2=437256&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletResponseWrapper.java (original)
+++ geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletResponseWrapper.java Sat Aug 26 17:17:49 2006
@@ -1,217 +1,217 @@
-/*
-* Copyright 2004 The Apache Software Foundation
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package javax.servlet;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Locale;
-
-/**
- *
- * Provides a convenient implementation of the ServletResponse interface that
- * can be subclassed by developers wishing to adapt the response from a Servlet.
- * This class implements the Wrapper or Decorator pattern. Methods default to
- * calling through to the wrapped response object.
- *
- * @author Various
- * @version $Version$
- * @since v 2.3
- *
- * @see javax.servlet.ServletResponse
- *
- */
-
-
-public class ServletResponseWrapper implements ServletResponse {
- private ServletResponse response;
- /**
- * Creates a ServletResponse adaptor wrapping the given response object.
- * @throws java.lang.IllegalArgumentException if the response is null.
- */
-
-
- public ServletResponseWrapper(ServletResponse response) {
- if (response == null) {
- throw new IllegalArgumentException("Response cannot be null");
- }
- this.response = response;
- }
-
- /**
- * Return the wrapped ServletResponse object.
- */
-
- public ServletResponse getResponse() {
- return this.response;
- }
-
-
- /**
- * Sets the response being wrapped.
- * @throws java.lang.IllegalArgumentException if the response is null.
- */
-
- public void setResponse(ServletResponse response) {
- if (response == null) {
- throw new IllegalArgumentException("Response cannot be null");
- }
- this.response = response;
- }
-
- /**
- * The default behavior of this method is to call setCharacterEncoding(String charset)
- * on the wrapped response object.
- *
- * @since 2.4
- */
-
- public void setCharacterEncoding(String charset) {
- this.response.setCharacterEncoding(charset);
- }
-
- /**
- * The default behavior of this method is to return getCharacterEncoding()
- * on the wrapped response object.
- */
-
- public String getCharacterEncoding() {
- return this.response.getCharacterEncoding();
- }
-
-
- /**
- * The default behavior of this method is to return getOutputStream()
- * on the wrapped response object.
- */
-
- public ServletOutputStream getOutputStream() throws IOException {
- return this.response.getOutputStream();
- }
-
- /**
- * The default behavior of this method is to return getWriter()
- * on the wrapped response object.
- */
-
-
- public PrintWriter getWriter() throws IOException {
- return this.response.getWriter();
- }
-
- /**
- * The default behavior of this method is to call setContentLength(int len)
- * on the wrapped response object.
- */
-
- public void setContentLength(int len) {
- this.response.setContentLength(len);
- }
-
- /**
- * The default behavior of this method is to call setContentType(String type)
- * on the wrapped response object.
- */
-
- public void setContentType(String type) {
- this.response.setContentType(type);
- }
-
- /**
- * The default behavior of this method is to return getContentType()
- * on the wrapped response object.
- *
- * @since 2.4
- */
-
- public String getContentType() {
- return this.response.getContentType();
- }
-
- /**
- * The default behavior of this method is to call setBufferSize(int size)
- * on the wrapped response object.
- */
- public void setBufferSize(int size) {
- this.response.setBufferSize(size);
- }
-
- /**
- * The default behavior of this method is to return getBufferSize()
- * on the wrapped response object.
- */
- public int getBufferSize() {
- return this.response.getBufferSize();
- }
-
- /**
- * The default behavior of this method is to call flushBuffer()
- * on the wrapped response object.
- */
-
- public void flushBuffer() throws IOException {
- this.response.flushBuffer();
- }
-
- /**
- * The default behavior of this method is to return isCommitted()
- * on the wrapped response object.
- */
- public boolean isCommitted() {
- return this.response.isCommitted();
- }
-
- /**
- * The default behavior of this method is to call reset()
- * on the wrapped response object.
- */
-
- public void reset() {
- this.response.reset();
- }
-
- /**
- * The default behavior of this method is to call resetBuffer()
- * on the wrapped response object.
- */
-
- public void resetBuffer() {
- this.response.resetBuffer();
- }
-
- /**
- * The default behavior of this method is to call setLocale(Locale loc)
- * on the wrapped response object.
- */
-
- public void setLocale(Locale loc) {
- this.response.setLocale(loc);
- }
-
- /**
- * The default behavior of this method is to return getLocale()
- * on the wrapped response object.
- */
- public Locale getLocale() {
- return this.response.getLocale();
- }
-
-
-}
-
-
-
-
-
+/*
+* Copyright 2004 The Apache Software Foundation
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package javax.servlet;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Locale;
+
+/**
+ *
+ * Provides a convenient implementation of the ServletResponse interface that
+ * can be subclassed by developers wishing to adapt the response from a Servlet.
+ * This class implements the Wrapper or Decorator pattern. Methods default to
+ * calling through to the wrapped response object.
+ *
+ * @author Various
+ * @version $Version$
+ * @since v 2.3
+ *
+ * @see javax.servlet.ServletResponse
+ *
+ */
+
+
+public class ServletResponseWrapper implements ServletResponse {
+ private ServletResponse response;
+ /**
+ * Creates a ServletResponse adaptor wrapping the given response object.
+ * @throws java.lang.IllegalArgumentException if the response is null.
+ */
+
+
+ public ServletResponseWrapper(ServletResponse response) {
+ if (response == null) {
+ throw new IllegalArgumentException("Response cannot be null");
+ }
+ this.response = response;
+ }
+
+ /**
+ * Return the wrapped ServletResponse object.
+ */
+
+ public ServletResponse getResponse() {
+ return this.response;
+ }
+
+
+ /**
+ * Sets the response being wrapped.
+ * @throws java.lang.IllegalArgumentException if the response is null.
+ */
+
+ public void setResponse(ServletResponse response) {
+ if (response == null) {
+ throw new IllegalArgumentException("Response cannot be null");
+ }
+ this.response = response;
+ }
+
+ /**
+ * The default behavior of this method is to call setCharacterEncoding(String charset)
+ * on the wrapped response object.
+ *
+ * @since 2.4
+ */
+
+ public void setCharacterEncoding(String charset) {
+ this.response.setCharacterEncoding(charset);
+ }
+
+ /**
+ * The default behavior of this method is to return getCharacterEncoding()
+ * on the wrapped response object.
+ */
+
+ public String getCharacterEncoding() {
+ return this.response.getCharacterEncoding();
+ }
+
+
+ /**
+ * The default behavior of this method is to return getOutputStream()
+ * on the wrapped response object.
+ */
+
+ public ServletOutputStream getOutputStream() throws IOException {
+ return this.response.getOutputStream();
+ }
+
+ /**
+ * The default behavior of this method is to return getWriter()
+ * on the wrapped response object.
+ */
+
+
+ public PrintWriter getWriter() throws IOException {
+ return this.response.getWriter();
+ }
+
+ /**
+ * The default behavior of this method is to call setContentLength(int len)
+ * on the wrapped response object.
+ */
+
+ public void setContentLength(int len) {
+ this.response.setContentLength(len);
+ }
+
+ /**
+ * The default behavior of this method is to call setContentType(String type)
+ * on the wrapped response object.
+ */
+
+ public void setContentType(String type) {
+ this.response.setContentType(type);
+ }
+
+ /**
+ * The default behavior of this method is to return getContentType()
+ * on the wrapped response object.
+ *
+ * @since 2.4
+ */
+
+ public String getContentType() {
+ return this.response.getContentType();
+ }
+
+ /**
+ * The default behavior of this method is to call setBufferSize(int size)
+ * on the wrapped response object.
+ */
+ public void setBufferSize(int size) {
+ this.response.setBufferSize(size);
+ }
+
+ /**
+ * The default behavior of this method is to return getBufferSize()
+ * on the wrapped response object.
+ */
+ public int getBufferSize() {
+ return this.response.getBufferSize();
+ }
+
+ /**
+ * The default behavior of this method is to call flushBuffer()
+ * on the wrapped response object.
+ */
+
+ public void flushBuffer() throws IOException {
+ this.response.flushBuffer();
+ }
+
+ /**
+ * The default behavior of this method is to return isCommitted()
+ * on the wrapped response object.
+ */
+ public boolean isCommitted() {
+ return this.response.isCommitted();
+ }
+
+ /**
+ * The default behavior of this method is to call reset()
+ * on the wrapped response object.
+ */
+
+ public void reset() {
+ this.response.reset();
+ }
+
+ /**
+ * The default behavior of this method is to call resetBuffer()
+ * on the wrapped response object.
+ */
+
+ public void resetBuffer() {
+ this.response.resetBuffer();
+ }
+
+ /**
+ * The default behavior of this method is to call setLocale(Locale loc)
+ * on the wrapped response object.
+ */
+
+ public void setLocale(Locale loc) {
+ this.response.setLocale(loc);
+ }
+
+ /**
+ * The default behavior of this method is to return getLocale()
+ * on the wrapped response object.
+ */
+ public Locale getLocale() {
+ return this.response.getLocale();
+ }
+
+
+}
+
+
+
+
+
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletResponseWrapper.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletResponseWrapper.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/ServletResponseWrapper.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/SingleThreadModel.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/SingleThreadModel.java?rev=437256&r1=437255&r2=437256&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/SingleThreadModel.java (original)
+++ geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/SingleThreadModel.java Sat Aug 26 17:17:49 2006
@@ -1,48 +1,48 @@
-/*
-* Copyright 2004 The Apache Software Foundation
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package javax.servlet;
-
-/**
- * Ensures that servlets handle
- * only one request at a time. This interface has no methods.
- *
- * <p>If a servlet implements this interface, you are <i>guaranteed</i>
- * that no two threads will execute concurrently in the
- * servlet's <code>service</code> method. The servlet container
- * can make this guarantee by synchronizing access to a single
- * instance of the servlet, or by maintaining a pool of servlet
- * instances and dispatching each new request to a free servlet.
- *
- * <p>Note that SingleThreadModel does not solve all thread safety
- * issues. For example, session attributes and static variables can
- * still be accessed by multiple requests on multiple threads
- * at the same time, even when SingleThreadModel servlets are used.
- * It is recommended that a developer take other means to resolve
- * those issues instead of implementing this interface, such as
- * avoiding the usage of an instance variable or synchronizing
- * the block of the code accessing those resources.
- * This interface is deprecated in Servlet API version 2.4.
- *
- *
- * @author Various
- * @version $Version$
- *
- * @deprecated As of Java Servlet API 2.4, with no direct
- * replacement.
- */
-
-public interface SingleThreadModel {
-}
+/*
+* Copyright 2004 The Apache Software Foundation
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package javax.servlet;
+
+/**
+ * Ensures that servlets handle
+ * only one request at a time. This interface has no methods.
+ *
+ * <p>If a servlet implements this interface, you are <i>guaranteed</i>
+ * that no two threads will execute concurrently in the
+ * servlet's <code>service</code> method. The servlet container
+ * can make this guarantee by synchronizing access to a single
+ * instance of the servlet, or by maintaining a pool of servlet
+ * instances and dispatching each new request to a free servlet.
+ *
+ * <p>Note that SingleThreadModel does not solve all thread safety
+ * issues. For example, session attributes and static variables can
+ * still be accessed by multiple requests on multiple threads
+ * at the same time, even when SingleThreadModel servlets are used.
+ * It is recommended that a developer take other means to resolve
+ * those issues instead of implementing this interface, such as
+ * avoiding the usage of an instance variable or synchronizing
+ * the block of the code accessing those resources.
+ * This interface is deprecated in Servlet API version 2.4.
+ *
+ *
+ * @author Various
+ * @version $Version$
+ *
+ * @deprecated As of Java Servlet API 2.4, with no direct
+ * replacement.
+ */
+
+public interface SingleThreadModel {
+}
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/SingleThreadModel.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/SingleThreadModel.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/SingleThreadModel.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/UnavailableException.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/UnavailableException.java?rev=437256&r1=437255&r2=437256&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/UnavailableException.java (original)
+++ geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/UnavailableException.java Sat Aug 26 17:17:49 2006
@@ -1,205 +1,205 @@
-/*
-* Copyright 2004 The Apache Software Foundation
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-package javax.servlet;
-
-
-/**
- * Defines an exception that a servlet or filter throws to indicate
- * that it is permanently or temporarily unavailable.
- *
- * <p>When a servlet or filter is permanently unavailable, something is wrong
- * with it, and it cannot handle
- * requests until some action is taken. For example, a servlet
- * might be configured incorrectly, or a filter's state may be corrupted.
- * The component should log both the error and the corrective action
- * that is needed.
- *
- * <p>A servlet or filter is temporarily unavailable if it cannot handle
- * requests momentarily due to some system-wide problem. For example,
- * a third-tier server might not be accessible, or there may be
- * insufficient memory or disk storage to handle requests. A system
- * administrator may need to take corrective action.
- *
- * <p>Servlet containers can safely treat both types of unavailable
- * exceptions in the same way. However, treating temporary unavailability
- * effectively makes the servlet container more robust. Specifically,
- * the servlet container might block requests to the servlet or filter for a period
- * of time suggested by the exception, rather than rejecting them until
- * the servlet container restarts.
- *
- *
- * @author Various
- * @version $Version$
- *
- */
-
-public class UnavailableException
-extends ServletException {
-
- private Servlet servlet; // what's unavailable
- private boolean permanent; // needs admin action?
- private int seconds; // unavailability estimate
-
- /**
- *
- * @deprecated As of Java Servlet API 2.2, use {@link
- * #UnavailableException(String)} instead.
- *
- * @param servlet the <code>Servlet</code> instance that is
- * unavailable
- *
- * @param msg a <code>String</code> specifying the
- * descriptive message
- *
- */
-
- public UnavailableException(Servlet servlet, String msg) {
- super(msg);
- this.servlet = servlet;
- permanent = true;
- }
-
- /**
- * @deprecated As of Java Servlet API 2.2, use {@link
- * #UnavailableException(String, int)} instead.
- *
- * @param seconds an integer specifying the number of seconds
- * the servlet expects to be unavailable; if
- * zero or negative, indicates that the servlet
- * can't make an estimate
- *
- * @param servlet the <code>Servlet</code> that is unavailable
- *
- * @param msg a <code>String</code> specifying the descriptive
- * message, which can be written to a log file or
- * displayed for the user.
- *
- */
-
- public UnavailableException(int seconds, Servlet servlet, String msg) {
- super(msg);
- this.servlet = servlet;
- if (seconds <= 0)
- this.seconds = -1;
- else
- this.seconds = seconds;
- permanent = false;
- }
-
- /**
- *
- * Constructs a new exception with a descriptive
- * message indicating that the servlet is permanently
- * unavailable.
- *
- * @param msg a <code>String</code> specifying the
- * descriptive message
- *
- */
-
- public UnavailableException(String msg) {
- super(msg);
-
- permanent = true;
- }
-
- /**
- * Constructs a new exception with a descriptive message
- * indicating that the servlet is temporarily unavailable
- * and giving an estimate of how long it will be unavailable.
- *
- * <p>In some cases, the servlet cannot make an estimate. For
- * example, the servlet might know that a server it needs is
- * not running, but not be able to report how long it will take
- * to be restored to functionality. This can be indicated with
- * a negative or zero value for the <code>seconds</code> argument.
- *
- * @param msg a <code>String</code> specifying the
- * descriptive message, which can be written
- * to a log file or displayed for the user.
- *
- * @param seconds an integer specifying the number of seconds
- * the servlet expects to be unavailable; if
- * zero or negative, indicates that the servlet
- * can't make an estimate
- *
- */
-
- public UnavailableException(String msg, int seconds) {
- super(msg);
-
- if (seconds <= 0)
- this.seconds = -1;
- else
- this.seconds = seconds;
-
- permanent = false;
- }
-
- /**
- *
- * Returns a <code>boolean</code> indicating
- * whether the servlet is permanently unavailable.
- * If so, something is wrong with the servlet, and the
- * system administrator must take some corrective action.
- *
- * @return <code>true</code> if the servlet is
- * permanently unavailable; <code>false</code>
- * if the servlet is available or temporarily
- * unavailable
- *
- */
-
- public boolean isPermanent() {
- return permanent;
- }
-
- /**
- * @deprecated As of Java Servlet API 2.2, with no replacement.
- *
- * Returns the servlet that is reporting its unavailability.
- *
- * @return the <code>Servlet</code> object that is
- * throwing the <code>UnavailableException</code>
- *
- */
-
- public Servlet getServlet() {
- return servlet;
- }
-
- /**
- * Returns the number of seconds the servlet expects to
- * be temporarily unavailable.
- *
- * <p>If this method returns a negative number, the servlet
- * is permanently unavailable or cannot provide an estimate of
- * how long it will be unavailable. No effort is
- * made to correct for the time elapsed since the exception was
- * first reported.
- *
- * @return an integer specifying the number of seconds
- * the servlet will be temporarily unavailable,
- * or a negative number if the servlet is permanently
- * unavailable or cannot make an estimate
- *
- */
-
- public int getUnavailableSeconds() {
- return permanent ? -1 : seconds;
- }
-}
+/*
+* Copyright 2004 The Apache Software Foundation
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package javax.servlet;
+
+
+/**
+ * Defines an exception that a servlet or filter throws to indicate
+ * that it is permanently or temporarily unavailable.
+ *
+ * <p>When a servlet or filter is permanently unavailable, something is wrong
+ * with it, and it cannot handle
+ * requests until some action is taken. For example, a servlet
+ * might be configured incorrectly, or a filter's state may be corrupted.
+ * The component should log both the error and the corrective action
+ * that is needed.
+ *
+ * <p>A servlet or filter is temporarily unavailable if it cannot handle
+ * requests momentarily due to some system-wide problem. For example,
+ * a third-tier server might not be accessible, or there may be
+ * insufficient memory or disk storage to handle requests. A system
+ * administrator may need to take corrective action.
+ *
+ * <p>Servlet containers can safely treat both types of unavailable
+ * exceptions in the same way. However, treating temporary unavailability
+ * effectively makes the servlet container more robust. Specifically,
+ * the servlet container might block requests to the servlet or filter for a period
+ * of time suggested by the exception, rather than rejecting them until
+ * the servlet container restarts.
+ *
+ *
+ * @author Various
+ * @version $Version$
+ *
+ */
+
+public class UnavailableException
+extends ServletException {
+
+ private Servlet servlet; // what's unavailable
+ private boolean permanent; // needs admin action?
+ private int seconds; // unavailability estimate
+
+ /**
+ *
+ * @deprecated As of Java Servlet API 2.2, use {@link
+ * #UnavailableException(String)} instead.
+ *
+ * @param servlet the <code>Servlet</code> instance that is
+ * unavailable
+ *
+ * @param msg a <code>String</code> specifying the
+ * descriptive message
+ *
+ */
+
+ public UnavailableException(Servlet servlet, String msg) {
+ super(msg);
+ this.servlet = servlet;
+ permanent = true;
+ }
+
+ /**
+ * @deprecated As of Java Servlet API 2.2, use {@link
+ * #UnavailableException(String, int)} instead.
+ *
+ * @param seconds an integer specifying the number of seconds
+ * the servlet expects to be unavailable; if
+ * zero or negative, indicates that the servlet
+ * can't make an estimate
+ *
+ * @param servlet the <code>Servlet</code> that is unavailable
+ *
+ * @param msg a <code>String</code> specifying the descriptive
+ * message, which can be written to a log file or
+ * displayed for the user.
+ *
+ */
+
+ public UnavailableException(int seconds, Servlet servlet, String msg) {
+ super(msg);
+ this.servlet = servlet;
+ if (seconds <= 0)
+ this.seconds = -1;
+ else
+ this.seconds = seconds;
+ permanent = false;
+ }
+
+ /**
+ *
+ * Constructs a new exception with a descriptive
+ * message indicating that the servlet is permanently
+ * unavailable.
+ *
+ * @param msg a <code>String</code> specifying the
+ * descriptive message
+ *
+ */
+
+ public UnavailableException(String msg) {
+ super(msg);
+
+ permanent = true;
+ }
+
+ /**
+ * Constructs a new exception with a descriptive message
+ * indicating that the servlet is temporarily unavailable
+ * and giving an estimate of how long it will be unavailable.
+ *
+ * <p>In some cases, the servlet cannot make an estimate. For
+ * example, the servlet might know that a server it needs is
+ * not running, but not be able to report how long it will take
+ * to be restored to functionality. This can be indicated with
+ * a negative or zero value for the <code>seconds</code> argument.
+ *
+ * @param msg a <code>String</code> specifying the
+ * descriptive message, which can be written
+ * to a log file or displayed for the user.
+ *
+ * @param seconds an integer specifying the number of seconds
+ * the servlet expects to be unavailable; if
+ * zero or negative, indicates that the servlet
+ * can't make an estimate
+ *
+ */
+
+ public UnavailableException(String msg, int seconds) {
+ super(msg);
+
+ if (seconds <= 0)
+ this.seconds = -1;
+ else
+ this.seconds = seconds;
+
+ permanent = false;
+ }
+
+ /**
+ *
+ * Returns a <code>boolean</code> indicating
+ * whether the servlet is permanently unavailable.
+ * If so, something is wrong with the servlet, and the
+ * system administrator must take some corrective action.
+ *
+ * @return <code>true</code> if the servlet is
+ * permanently unavailable; <code>false</code>
+ * if the servlet is available or temporarily
+ * unavailable
+ *
+ */
+
+ public boolean isPermanent() {
+ return permanent;
+ }
+
+ /**
+ * @deprecated As of Java Servlet API 2.2, with no replacement.
+ *
+ * Returns the servlet that is reporting its unavailability.
+ *
+ * @return the <code>Servlet</code> object that is
+ * throwing the <code>UnavailableException</code>
+ *
+ */
+
+ public Servlet getServlet() {
+ return servlet;
+ }
+
+ /**
+ * Returns the number of seconds the servlet expects to
+ * be temporarily unavailable.
+ *
+ * <p>If this method returns a negative number, the servlet
+ * is permanently unavailable or cannot provide an estimate of
+ * how long it will be unavailable. No effort is
+ * made to correct for the time elapsed since the exception was
+ * first reported.
+ *
+ * @return an integer specifying the number of seconds
+ * the servlet will be temporarily unavailable,
+ * or a negative number if the servlet is permanently
+ * unavailable or cannot make an estimate
+ *
+ */
+
+ public int getUnavailableSeconds() {
+ return permanent ? -1 : seconds;
+ }
+}
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/UnavailableException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/UnavailableException.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/specs/trunk/geronimo-servlet_2.5_spec/src/main/java/javax/servlet/UnavailableException.java
------------------------------------------------------------------------------
svn:mime-type = text/plain