/* * Copyright (C) 2014 Civilian Framework. * * Licensed under the Civilian License (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.civilian-framework.org/license.txt * * 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.civilian.response; import java.io.IOException; import java.io.OutputStream; import java.util.Locale; import javax.servlet.http.Cookie; import org.civilian.Request; import org.civilian.Response; import org.civilian.content.ContentType; import org.civilian.template.TemplateWriter; import org.civilian.text.LocaleService; import org.civilian.util.Check; import org.civilian.util.ClassUtil; /** * ResponseWrapper is a Response implementation which wraps another response. * All methods forward to the wrapped response. */ public class ResponseWrapper implements Response { /** * Creates a new ResponseWrapper. */ public ResponseWrapper(Response response) { response_ = Check.notNull(response, "response"); } @Override public Request getRequest() { return response_.getRequest(); } @Override public boolean isCommitted() { return response_.isCommitted(); } @Override public void reset() { response_.reset(); } @Override public void addCookie(Cookie cookie) { response_.addCookie(cookie); } @Override public String addSessionId(String url) { return response_.addSessionId(url); } @Override public UriEncoder getUriEncoder() { return response_.getUriEncoder(); } @Override public LocaleService getLocaleService() { return response_.getLocaleService(); } @Override public void setLocaleService(LocaleService service) { response_.setLocaleService(service); } @Override public void sendError(int errorCode, String message, Throwable error) throws IOException { response_.sendError(errorCode, message, error); } @Override public void sendRedirect(String url) throws IOException { response_.sendRedirect(url); } @Override public void writeContent(Object object, ContentType contentType) throws Exception { response_.writeContent(object, contentType); } @Override public int getStatus() { return response_.getStatus(); } @Override public Type getType() { return response_.getType(); } @Override public void setStatus(int statusCode) { response_.setStatus(statusCode); } @Override public ContentAccess getContentAccess() { return response_.getContentAccess(); } @Override public TemplateWriter getContentWriter() throws IOException { return response_.getContentWriter(); } @Override public OutputStream getContentStream() throws IOException { return response_.getContentStream(); } @Override public void setContentType(ContentType contentType) { response_.setContentType(contentType); } @Override public ContentType getContentType() { return response_.getContentType(); } @Override public void setContentEncoding(String encoding) { response_.setContentEncoding(encoding); } @Override public String getContentEncoding() { return response_.getContentEncoding(); } @Override public void setContentLength(long length) { response_.setContentLength(length); } @Override public void setContentLanguage(Locale locale) { response_.setContentLanguage(locale); } @Override public Locale getContentLanguage() { return response_.getContentLanguage(); } @Override public void closeContent() { response_.closeContent(); } @Override public void addInterceptor(ResponseStreamInterceptor interceptor) { response_.addInterceptor(interceptor); } @Override public void addInterceptor(ResponseWriterInterceptor interceptor) { response_.addInterceptor(interceptor); } @Override public void resetBuffer() { response_.resetBuffer(); } @Override public void flushBuffer() throws IOException { response_.flushBuffer(); } @Override public void setBufferSize(int size) { response_.setBufferSize(size); } @Override public int getBufferSize() { return response_.getBufferSize(); } @Override public ResponseHeaders getHeaders() { return response_.getHeaders(); } @Override public <T> T unwrap(Class<T> implClass) { T unwrapped = ClassUtil.unwrap(response_, implClass); if (unwrapped != null) return unwrapped; else return response_.unwrap(implClass); } protected Response response_; }