Projekt von de.halbekunst.juplo nach de.juplo verschoben und aufgeräumt
[percentcodec] / accelerator / src / main / java / de / juplo / accelerator / annotations / CacheControl.java
diff --git a/accelerator/src/main/java/de/juplo/accelerator/annotations/CacheControl.java b/accelerator/src/main/java/de/juplo/accelerator/annotations/CacheControl.java
new file mode 100644 (file)
index 0000000..6f7705d
--- /dev/null
@@ -0,0 +1,30 @@
+package de.juplo.accelerator.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Mit dieser Annotation kann eine Methode markiert werden, die die von Juplo-
+ * CacheControl für den Header <code>Cache-Control</code> generierten
+ * Schlüssel/Wert-Kombinationen manipulieren oder ergänzen kann, bevor der
+ * Header an den Client ausgeliefert wird (s. {@plainlink
+ * http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.3 RFC2616, Abschnitt 14.9.3}).
+ * <p>
+ * Die Methode muss zwei Parameter akzeptieren.
+ * Als ersten Parameter eine Instanz von {@link HttpServletRequest}.
+ * Als zweiten Parameter eine <code>Map<String,String></code>, die die von
+ * Juplo-CacheControl erzeugten Schlüssel/Wert-Paare enthält.
+ * <p>
+ * Diese Methode liefert eine Map mit Schlüssel-Wert-Paaren für den
+ * HTTP/1.1-Header <code>Cache-Control</code> (s. {@plainlink
+ * http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.3 RFC2616,
+ * Abschnitt 14.9.3}).
+ *
+ * @author kai
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface CacheControl {
+}