1 package de.halbekunst.juplo.cachecontrol.annotations;
3 import java.lang.annotation.ElementType;
4 import java.lang.annotation.Retention;
5 import java.lang.annotation.RetentionPolicy;
6 import java.lang.annotation.Target;
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
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.
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 * davon aus, dass die verarbeitende Klasse alle Anfragen annimmt.
28 @Retention(RetentionPolicy.RUNTIME)
29 @Target(ElementType.METHOD)
30 public @interface Accepts {}