blob: d9ccf92a7df14ef2c8f3b3a712cad5792f321373 [file] [log] [blame]
package org.apache.struts2.portlet.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Locale;
import javax.portlet.MimeResponse;
import javax.portlet.PortletResponse;
import javax.portlet.ResourceResponse;
import javax.servlet.ServletOutputStream;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
/**
* PortletServletResponseJSR286.
*
* @author Rene Gielen
*/
public class PortletServletResponseJSR286 extends PortletServletResponse {
private static final Logger LOG = LoggerFactory.getLogger(PortletServletResponseJSR286.class);
public PortletServletResponseJSR286( PortletResponse portletResponse ) {
super(portletResponse);
}
public void flushBuffer() throws IOException {
if(portletResponse instanceof MimeResponse) {
((MimeResponse)portletResponse).flushBuffer();
}
else {
throw new IllegalStateException("Only allowed in render or resource phase");
}
}
public int getBufferSize() {
if(portletResponse instanceof MimeResponse) {
return ((MimeResponse)portletResponse).getBufferSize();
}
else {
throw new IllegalStateException("Only allowed in render or resource phase");
}
}
public String getCharacterEncoding() {
if(portletResponse instanceof MimeResponse) {
return ((MimeResponse)portletResponse).getCharacterEncoding();
}
else {
throw new IllegalStateException("Only allowed in render or resource phase");
}
}
public String getContentType() {
if(portletResponse instanceof MimeResponse) {
return ((MimeResponse)portletResponse).getContentType();
}
else {
throw new IllegalStateException("Only allowed in render or resource phase");
}
}
public Locale getLocale() {
if(portletResponse instanceof MimeResponse) {
return ((MimeResponse)portletResponse).getLocale();
}
else {
throw new IllegalStateException("Only allowed in render or resource phase");
}
}
public ServletOutputStream getOutputStream() throws IOException {
if(portletResponse instanceof MimeResponse) {
return new PortletServletOutputStream(((MimeResponse)portletResponse).getPortletOutputStream());
}
else {
throw new IllegalStateException("Only allowed in render or resource phase");
}
}
public PrintWriter getWriter() throws IOException {
if(portletResponse instanceof MimeResponse) {
return ((MimeResponse)portletResponse).getWriter();
}
else {
throw new IllegalStateException("Only allowed in render or resource phase");
}
}
public boolean isCommitted() {
if(portletResponse instanceof MimeResponse) {
return ((MimeResponse)portletResponse).isCommitted();
}
else {
throw new IllegalStateException("Only allowed in render or resource phase");
}
}
public void reset() {
if(portletResponse instanceof MimeResponse) {
((MimeResponse)portletResponse).reset();
}
else {
throw new IllegalStateException("Only allowed in render or resource phase");
}
}
public void resetBuffer() {
if(portletResponse instanceof MimeResponse) {
((MimeResponse)portletResponse).resetBuffer();
}
else {
throw new IllegalStateException("Only allowed in render or resource phase");
}
}
public void setBufferSize(int size) {
if(portletResponse instanceof MimeResponse) {
((MimeResponse)portletResponse).setBufferSize(size);
}
else {
throw new IllegalStateException("Only allowed in render or resource phase");
}
}
public void setCharacterEncoding(String charset) {
if(portletResponse instanceof ResourceResponse) {
((ResourceResponse)portletResponse).setCharacterEncoding(charset);
}
else {
throw new IllegalStateException("Only allowed in resource phase");
}
}
public void setContentLength(int len) {
if(portletResponse instanceof ResourceResponse) {
((ResourceResponse)portletResponse).setContentLength(len);
}
else {
throw new IllegalStateException("Only allowed in resource phase");
}
}
public void setContentType(String type) {
if(portletResponse instanceof MimeResponse) {
((MimeResponse)portletResponse).setContentType(type);
}
else {
throw new IllegalStateException("Only allowed in render or resource phase");
}
}
public void setLocale(Locale loc) {
if(portletResponse instanceof ResourceResponse) {
((ResourceResponse)portletResponse).setLocale(loc);
}
else {
throw new IllegalStateException("Only allowed in resource phase");
}
}
}