1
14
15 package com.liferay.portal.kernel.servlet;
16
17 import java.io.OutputStream;
18 import java.io.PrintWriter;
19 import java.io.Writer;
20
21 import javax.servlet.ServletOutputStream;
22 import javax.servlet.http.HttpServletResponse;
23 import javax.servlet.http.HttpServletResponseWrapper;
24 import javax.servlet.jsp.PageContext;
25
26
31 public class PipingServletResponse extends HttpServletResponseWrapper {
32
33 public PipingServletResponse(
34 HttpServletResponse response, OutputStream outputStream) {
35
36 super(response);
37
38 _servletOutputStream = new PipingServletOutputStream(outputStream);
39 }
40
41 public PipingServletResponse(
42 HttpServletResponse response, PrintWriter printWriter) {
43
44 super(response);
45
46 _printWriter = printWriter;
47 }
48
49 public PipingServletResponse(
50 HttpServletResponse response, ServletOutputStream servletOutputStream) {
51
52 super(response);
53
54 _servletOutputStream = servletOutputStream;
55 }
56
57 public PipingServletResponse(HttpServletResponse response, Writer writer) {
58 super(response);
59
60 _printWriter = new PrintWriter(writer, true);
61 }
62
63 public PipingServletResponse(PageContext pageContext) {
64 this(
65 (HttpServletResponse)pageContext.getResponse(),
66 pageContext.getOut());
67 }
68
69 public ServletOutputStream getOutputStream() {
70 if (_servletOutputStream == null) {
71 throw new IllegalStateException("Servlet output stream is null");
72 }
73
74 return _servletOutputStream;
75 }
76
77 public PrintWriter getWriter() {
78 if (_printWriter == null) {
79 throw new IllegalStateException("Print writer is null");
80 }
81
82 return _printWriter;
83 }
84
85 private PrintWriter _printWriter;
86 private ServletOutputStream _servletOutputStream;
87
88 }