blob: 85be4cf45b0e297f22d7ae5823d9ba9c9e5ec4a1 [file] [log] [blame]
/*
* Copyright 1999-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 org.apache.cocoon.components.jsp;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Locale;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
/**
* Stub implementation of HttpServletResponse.
*/
public class JSPEngineServletResponse implements HttpServletResponse {
private final HttpServletResponse servletResponse;
private final JSPEngineServletOutputStream output;
private boolean hasWriter = false;
private boolean hasOutputStream = false;
public JSPEngineServletResponse(HttpServletResponse servletResponse, JSPEngineServletOutputStream output) {
this.servletResponse = servletResponse;
this.output = output;
}
public String getCharacterEncoding() {
return this.servletResponse.getCharacterEncoding();
}
public Locale getLocale(){
return this.servletResponse.getLocale();
}
public PrintWriter getWriter() {
if (this.hasOutputStream) {
throw new IllegalStateException("getOutputStream was already called.");
}
this.hasWriter = true;
return this.output.getWriter();
}
public void setContentLength(int len) {
// this value can be overriden by cocoon
servletResponse.setContentLength(len);
}
public void setContentType(java.lang.String type) {
servletResponse.setContentType(type);
}
public void setLocale(java.util.Locale loc) {
servletResponse.setLocale(loc);
}
public ServletOutputStream getOutputStream() {
if (this.hasWriter) {
throw new IllegalStateException("getWriter was already called.");
}
this.hasOutputStream = true;
return this.output;
}
public void addCookie(Cookie cookie){
servletResponse.addCookie(cookie);
}
public boolean containsHeader(String s){
return servletResponse.containsHeader(s);
}
/** @deprecated use encodeURL(String url) instead. */
public String encodeUrl(String s){
return servletResponse.encodeUrl(s);
}
public String encodeURL(String s){
return servletResponse.encodeURL(s);
}
/** @deprecated use encodeRedirectURL(String url) instead. */
public String encodeRedirectUrl(String s){
return servletResponse.encodeRedirectUrl(s);
}
public String encodeRedirectURL(String s){
return servletResponse.encodeRedirectURL(s);
}
public void sendError(int i, String s) throws IOException{
servletResponse.sendError(i,s);
}
public void sendError(int i) throws IOException{
servletResponse.sendError(i);
}
public void sendRedirect(String s) throws IOException{
servletResponse.sendRedirect(s);
}
public void setDateHeader(String s, long l) {
servletResponse.setDateHeader(s, l);
}
public void addDateHeader(String s, long l) {
servletResponse.addDateHeader(s, l);
}
public void setHeader(String s, String s1) {
servletResponse.setHeader(s, s1);
}
public void addHeader(String s, String s1) {
servletResponse.addHeader(s, s1);
}
public void setIntHeader(String s, int i) {
servletResponse.setIntHeader(s, i);
}
public void addIntHeader(String s, int i) {
servletResponse.addIntHeader(s, i);
}
public void setStatus(int i){
servletResponse.setStatus(i);
}
/** @deprecated use sendError(int, String) instead */
public void setStatus(int i, String s){
servletResponse.setStatus(i, s);
}
public void resetBuffer() {}
public void reset() {}
public int getBufferSize() { return 1024; }
public void setBufferSize(int size) {}
public void flushBuffer() throws IOException {}
public boolean isCommitted() { return false; }
}