CacheControl so umgebaut, dass es sich über Annotationen einbinden lässt
[percentcodec] / cachecontrol / src / main / java / de / halbekunst / juplo / cachecontrol / CacheControlFilter.java
diff --git a/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/CacheControlFilter.java b/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/CacheControlFilter.java
new file mode 100644 (file)
index 0000000..549f35c
--- /dev/null
@@ -0,0 +1,209 @@
+package de.halbekunst.juplo.cachecontrol;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Locale;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ * @author kai
+ */
+public class CacheControlFilter implements Filter {
+
+
+  @Override
+  public void init(FilterConfig filterConfig) throws ServletException {
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+
+  @Override
+  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+
+  @Override
+  public void destroy() {
+    throw new UnsupportedOperationException("Not supported yet.");
+  }
+
+
+  class HttpServletResponseWrapper implements HttpServletResponse {
+
+    private final HttpServletResponse response;
+
+
+    HttpServletResponseWrapper(HttpServletResponse response) {
+      this.response = response;
+    }
+
+
+    @Override
+    public void addCookie(Cookie cookie) {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public boolean containsHeader(String name) {
+      return response.containsHeader(name);
+    }
+
+    @Override
+    public String encodeURL(String url) {
+      return response.encodeURL(url);
+    }
+
+    @Override
+    public String encodeRedirectURL(String url) {
+      return response.encodeRedirectURL(url);
+    }
+
+    @Override
+    public String encodeUrl(String url) {
+      return response.encodeUrl(url);
+    }
+
+    @Override
+    public String encodeRedirectUrl(String url) {
+      return response.encodeRedirectUrl(url);
+    }
+
+    @Override
+    public void sendError(int sc, String msg) throws IOException {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void sendError(int sc) throws IOException {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void sendRedirect(String location) throws IOException {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void setDateHeader(String name, long date) {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void addDateHeader(String name, long date) {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void setHeader(String name, String value) {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void addHeader(String name, String value) {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void setIntHeader(String name, int value) {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void addIntHeader(String name, int value) {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void setStatus(int sc) {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void setStatus(int sc, String sm) {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public String getCharacterEncoding() {
+      return response.getCharacterEncoding();
+    }
+
+    @Override
+    public String getContentType() {
+      return response.getContentType();
+    }
+
+    @Override
+    public ServletOutputStream getOutputStream() throws IOException {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public PrintWriter getWriter() throws IOException {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void setCharacterEncoding(String charset) {
+      response.setCharacterEncoding(charset);
+    }
+
+    @Override
+    public void setContentLength(int len) {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void setContentType(String type) {
+      response.setContentType(type);
+    }
+
+    @Override
+    public void setBufferSize(int size) {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public int getBufferSize() {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void flushBuffer() throws IOException {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void resetBuffer() {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public boolean isCommitted() {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void reset() {
+      throw new UnsupportedOperationException("Not supported yet.");
+    }
+
+    @Override
+    public void setLocale(Locale loc) {
+      response.setLocale(loc);
+    }
+
+    @Override
+    public Locale getLocale() {
+      return response.getLocale();
+    }
+  }
+}