X-Git-Url: https://juplo.de/gitweb/?p=percentcodec;a=blobdiff_plain;f=accelerator%2Fsrc%2Fmain%2Fjava%2Fde%2Fjuplo%2Faccelerator%2Fannotations%2FAccepts.java;fp=accelerator%2Fsrc%2Fmain%2Fjava%2Fde%2Fjuplo%2Faccelerator%2Fannotations%2FAccepts.java;h=2f44afc00b8636a8779e0faacdd28ed32e05aecc;hp=0000000000000000000000000000000000000000;hb=a6e0e65cce68acb20abc6ca935471611a740c342;hpb=1d395c6002486d485bde0d5dc713886d70bd3f8a diff --git a/accelerator/src/main/java/de/juplo/accelerator/annotations/Accepts.java b/accelerator/src/main/java/de/juplo/accelerator/annotations/Accepts.java new file mode 100644 index 00000000..2f44afc0 --- /dev/null +++ b/accelerator/src/main/java/de/juplo/accelerator/annotations/Accepts.java @@ -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 Methode kann eine Methode annotiert werden, die Auskunft darüber + * erteilt, mit welchem HTTP-Status-Code der Handler die Anfrage beatnworten + * wird. + *
+ * Die Methode muss eine Instanz von {@link HttpServletRequest} als (einziges!)
+ * Argument akzeptieren und einen Wert liefern, der sich nach
+ * int
casten lässt.
+ *
+ * Eine mit dieser Annotation markierte Methode wird nur benötigt, wenn die
+ * Caching-Dekoration im Modus eager=true
ausgeführt wird. Sie
+ * wird in diesem Fall benötigt, weil die Entscheidungen zur Cache-Dekoration
+ * dann getroffen werden müssen, bevor die verarbeitende Klasse die
+ * Anfrage verarbeitet hat.
+ * Wenn die Cache-Dekoration im Modus eager=true
betrieben wird
+ * und keine Methode mit dieser Annotation annotiert ist, geht {@link CacheControl}
+ * davon aus, dass die verarbeitende Klasse alle Anfragen annimmt.
+ *
+ * @author kai
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface Accepts {}