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 {}