X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=lib%2Fservlet-api%2Fjavax%2Fservlet%2Fhttp%2FHttpServletResponseWrapper.java;fp=lib%2Fservlet-api%2Fjavax%2Fservlet%2Fhttp%2FHttpServletResponseWrapper.java;h=aafc95fbd3cb164cc66f45d5baefeaceb4b194f2;hp=0000000000000000000000000000000000000000;hb=454e6afd89d77c1005eae4838e74e82fae759668;hpb=c2ca9ecd6facc79051cca2e6d46f211dfd54c7b9 diff --git a/lib/servlet-api/javax/servlet/http/HttpServletResponseWrapper.java b/lib/servlet-api/javax/servlet/http/HttpServletResponseWrapper.java new file mode 100644 index 00000000..aafc95fb --- /dev/null +++ b/lib/servlet-api/javax/servlet/http/HttpServletResponseWrapper.java @@ -0,0 +1,270 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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.http; + +import java.io.IOException; +import java.util.Collection; + +import javax.servlet.ServletResponseWrapper; + +/** + * Provides a convenient implementation of the HttpServletResponse 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. + * + * @since v 2.3 + * @see javax.servlet.http.HttpServletResponse + */ +public class HttpServletResponseWrapper extends ServletResponseWrapper + implements HttpServletResponse { + + /** + * Constructs a response adaptor wrapping the given response. + * + * @throws java.lang.IllegalArgumentException + * if the response is null + */ + public HttpServletResponseWrapper(HttpServletResponse response) { + super(response); + } + + private HttpServletResponse _getHttpServletResponse() { + return (HttpServletResponse) super.getResponse(); + } + + /** + * The default behavior of this method is to call addCookie(Cookie cookie) + * on the wrapped response object. + */ + @Override + public void addCookie(Cookie cookie) { + this._getHttpServletResponse().addCookie(cookie); + } + + /** + * The default behavior of this method is to call containsHeader(String + * name) on the wrapped response object. + */ + @Override + public boolean containsHeader(String name) { + return this._getHttpServletResponse().containsHeader(name); + } + + /** + * The default behavior of this method is to call encodeURL(String url) on + * the wrapped response object. + */ + @Override + public String encodeURL(String url) { + return this._getHttpServletResponse().encodeURL(url); + } + + /** + * The default behavior of this method is to return encodeRedirectURL(String + * url) on the wrapped response object. + */ + @Override + public String encodeRedirectURL(String url) { + return this._getHttpServletResponse().encodeRedirectURL(url); + } + + /** + * The default behavior of this method is to call encodeUrl(String url) on + * the wrapped response object. + * + * @deprecated As of Version 3.0 of the Java Servlet API + */ + @Override + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated + public String encodeUrl(String url) { + return this._getHttpServletResponse().encodeUrl(url); + } + + /** + * The default behavior of this method is to return encodeRedirectUrl(String + * url) on the wrapped response object. + * + * @deprecated As of Version 3.0 of the Java Servlet API + */ + @Override + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated + public String encodeRedirectUrl(String url) { + return this._getHttpServletResponse().encodeRedirectUrl(url); + } + + /** + * The default behavior of this method is to call sendError(int sc, String + * msg) on the wrapped response object. + */ + @Override + public void sendError(int sc, String msg) throws IOException { + this._getHttpServletResponse().sendError(sc, msg); + } + + /** + * The default behavior of this method is to call sendError(int sc) on the + * wrapped response object. + */ + @Override + public void sendError(int sc) throws IOException { + this._getHttpServletResponse().sendError(sc); + } + + /** + * The default behavior of this method is to return sendRedirect(String + * location) on the wrapped response object. + */ + @Override + public void sendRedirect(String location) throws IOException { + this._getHttpServletResponse().sendRedirect(location); + } + + /** + * The default behavior of this method is to call setDateHeader(String name, + * long date) on the wrapped response object. + */ + @Override + public void setDateHeader(String name, long date) { + this._getHttpServletResponse().setDateHeader(name, date); + } + + /** + * The default behavior of this method is to call addDateHeader(String name, + * long date) on the wrapped response object. + */ + @Override + public void addDateHeader(String name, long date) { + this._getHttpServletResponse().addDateHeader(name, date); + } + + /** + * The default behavior of this method is to return setHeader(String name, + * String value) on the wrapped response object. + */ + @Override + public void setHeader(String name, String value) { + this._getHttpServletResponse().setHeader(name, value); + } + + /** + * The default behavior of this method is to return addHeader(String name, + * String value) on the wrapped response object. + */ + @Override + public void addHeader(String name, String value) { + this._getHttpServletResponse().addHeader(name, value); + } + + /** + * The default behavior of this method is to call setIntHeader(String name, + * int value) on the wrapped response object. + */ + @Override + public void setIntHeader(String name, int value) { + this._getHttpServletResponse().setIntHeader(name, value); + } + + /** + * The default behavior of this method is to call addIntHeader(String name, + * int value) on the wrapped response object. + */ + @Override + public void addIntHeader(String name, int value) { + this._getHttpServletResponse().addIntHeader(name, value); + } + + /** + * The default behavior of this method is to call setStatus(int sc) on the + * wrapped response object. + */ + @Override + public void setStatus(int sc) { + this._getHttpServletResponse().setStatus(sc); + } + + /** + * The default behavior of this method is to call setStatus(int sc, String + * sm) on the wrapped response object. + * + * @deprecated As of Version 3.0 of the Java Servlet API + */ + @Override + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated + public void setStatus(int sc, String sm) { + this._getHttpServletResponse().setStatus(sc, sm); + } + + /** + * {@inheritDoc} + *

+ * The default implementation is to call + * {@link HttpServletResponse#getStatus()} + * on the wrapper {@link HttpServletResponse}. + * + * @since Servlet 3.0 + */ + @Override + public int getStatus() { + return this._getHttpServletResponse().getStatus(); + } + + /** + * {@inheritDoc} + *

+ * The default implementation is to call + * {@link HttpServletResponse#getHeader(String)} + * on the wrapper {@link HttpServletResponse}. + * + * @since Servlet 3.0 + */ + @Override + public String getHeader(String name) { + return this._getHttpServletResponse().getHeader(name); + } + + /** + * {@inheritDoc} + *

+ * The default implementation is to call + * {@link HttpServletResponse#getHeaders(String)} + * on the wrapper {@link HttpServletResponse}. + * + * @since Servlet 3.0 + */ + @Override + public Collection getHeaders(String name) { + return this._getHttpServletResponse().getHeaders(name); + } + + /** + * {@inheritDoc} + *

+ * The default implementation is to call + * {@link HttpServletResponse#getHeaderNames()} + * on the wrapper {@link HttpServletResponse}. + * + * @since Servlet 3.0 + */ + @Override + public Collection getHeaderNames() { + return this._getHttpServletResponse().getHeaderNames(); + } +}