Java Servlet API 4.0.1 Source Code Files

Java Servlet API 4.0.1 Source Code Files are important if you want to compile them with different JDK releases.

You can get Java Servlet API 4.0.1 Source Code Files from Servlet API Maven Website in the "4.0.1/" folder.

You can also browse Java Servlet API 4.0.1 Source Code files below:

✍: FYIcenter.com

javax/servlet/http/HttpServletResponseWrapper.java

/*
 * Copyright (c) 1997-2018 Oracle and/or its affiliates. All rights reserved.
 * 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.http;

import java.io.IOException;
import java.util.Collection;
import java.util.Map;
import java.util.function.Supplier;
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.
 * 
 * @author Various
 * @since Servlet 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
     *
     * @param response the {@link HttpServletResponse} to be wrapped.
     */
    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 2.1, use {@link #encodeURL(String url)}
     * instead
     */
    @Deprecated
    @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.
     *
     * @deprecated As of version 2.1, use 
     * {@link #encodeRedirectURL(String url)} instead
     */
    @Deprecated
    @Override
    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 2.1, due to ambiguous meaning of the 
     * message parameter. To set a status code 
     * use {@link #setStatus(int)}, to send an error with a description
     * use {@link #sendError(int, String)}
     */
    @Deprecated
    @Override
    public void setStatus(int sc, String sm) {
        this._getHttpServletResponse().setStatus(sc, sm);
    }

    /**
     * The default behaviour of this method is to call
     * {@link HttpServletResponse#getStatus} on the wrapped response
     * object.
     *
     * @return the current status code of the wrapped response
     */
    @Override
    public int getStatus() {
        return _getHttpServletResponse().getStatus();
    }

    /**
     * The default behaviour of this method is to call
     * {@link HttpServletResponse#getHeader} on the wrapped response
     * object.
     *
     * @param name the name of the response header whose value to return
     *
     * @return the value of the response header with the given name,
     * or <tt>null</tt> if no header with the given name has been set
     * on the wrapped response
     *
     * @since Servlet 3.0
     */
    @Override
    public String getHeader(String name) {
        return _getHttpServletResponse().getHeader(name);
    }

    /**
     * The default behaviour of this method is to call
     * {@link HttpServletResponse#getHeaders} on the wrapped response
     * object.
     *
     * <p>Any changes to the returned <code>Collection</code> must not 
     * affect this <code>HttpServletResponseWrapper</code>.
     *
     * @param name the name of the response header whose values to return
     *
     * @return a (possibly empty) <code>Collection</code> of the values
     * of the response header with the given name
     *
     * @since Servlet 3.0
     */                        
    @Override
    public Collection<String> getHeaders(String name) {
        return _getHttpServletResponse().getHeaders(name);
    }

    /**
     * The default behaviour of this method is to call
     * {@link HttpServletResponse#getHeaderNames} on the wrapped response
     * object.
     *
     * <p>Any changes to the returned <code>Collection</code> must not 
     * affect this <code>HttpServletResponseWrapper</code>.
     *
     * @return a (possibly empty) <code>Collection</code> of the names
     * of the response headers
     *
     * @since Servlet 3.0
     */
    @Override
    public Collection<String> getHeaderNames() {
        return _getHttpServletResponse().getHeaderNames();
    }

    /**
     * The default behaviour of this method is to call
     * {@link HttpServletResponse#setTrailerFields} on the wrapped response
     * object.
     *
     * @param supplier of trailer headers
     *
     * @since Servlet 4.0
     */
    @Override
    public void setTrailerFields(Supplier<Map<String, String>> supplier) {
        _getHttpServletResponse().setTrailerFields(supplier);
    }

    /**
     * The default behaviour of this method is to call
     * {@link HttpServletResponse#getTrailerFields} on the wrapped response
     * object.
     *
     * @return supplier of trailer headers
     *
     * @since Servlet 4.0
     */
    @Override
    public Supplier<Map<String, String>> getTrailerFields() {
        return _getHttpServletResponse().getTrailerFields();
    }
}

javax/servlet/http/HttpServletResponseWrapper.java

 

Or download all of them as a single archive file:

File name: javax.servlet-api-4.0.1-sources.jar
File size: 203006 bytes
Release date: 2018-04-20
Download 

 

Download javax.servlet-api-3.0.1.jar

Download javax.servlet-api-4.0.1.jar

Downloading servlet-api.jar - Java Servlet API

⇑⇑ FAQ for Java Servlet API

2022-12-23, 5871👍, 0💬