CacheControl so umgebaut, dass es sich über Annotationen einbinden lässt
[percentcodec] / cachecontrol / src / main / java / de / halbekunst / juplo / cachecontrol / annotations / Accepts.java
1 package de.halbekunst.juplo.cachecontrol.annotations;
2
3 import java.lang.annotation.ElementType;
4 import java.lang.annotation.Retention;
5 import java.lang.annotation.RetentionPolicy;
6 import java.lang.annotation.Target;
7
8 /**
9  * Mit dieser Methode kann eine Methode annotiert werden, die Auskunft darüber
10  * erteilt, mit welchem HTTP-Status-Code der Handler die Anfrage beatnworten
11  * wird.
12  * <p>
13  * Die Methode muss eine Instanz von {@link HttpServletRequest} als (einziges!)
14  * Argument akzeptieren und einen Wert liefern, der sich nach
15  * <code>int</code> casten lässt.
16  * <p>
17  * Eine mit dieser Annotation markierte Methode wird nur benötigt, wenn die
18  * Caching-Dekoration im Modus <code>eager=true</code> ausgeführt wird. Sie
19  * wird in diesem Fall benötigt, weil die Entscheidungen zur Cache-Dekoration
20  * dann getroffen werden müssen, <em>bevor</em> die verarbeitende Klasse die
21  * Anfrage verarbeitet hat.
22  * Wenn die Cache-Dekoration im Modus <code>eager=true</code> betrieben wird
23  * und keine Methode mit dieser Annotation annotiert ist, geht {@link CacheControl}
24  * davn aus, dass die verarbeitende Klasse alle Anfragen annimmt.
25  *
26  * @author kai
27  */
28 @Retention(RetentionPolicy.RUNTIME)
29 @Target(ElementType.METHOD)
30 public @interface Accepts {}