CacheControl so umgebaut, dass es sich über Annotationen einbinden lässt
[percentcodec] / cachecontrol / src / main / java / de / halbekunst / juplo / cachecontrol / annotations / CacheControl.java
diff --git a/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/annotations/CacheControl.java b/cachecontrol/src/main/java/de/halbekunst/juplo/cachecontrol/annotations/CacheControl.java
new file mode 100644 (file)
index 0000000..ab5c4a3
--- /dev/null
@@ -0,0 +1,30 @@
+package de.halbekunst.juplo.cachecontrol.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 {
+}