X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=accelerator%2Fsrc%2Fmain%2Fjava%2Fde%2Fjuplo%2Faccelerator%2Fannotations%2FETag.java;fp=accelerator%2Fsrc%2Fmain%2Fjava%2Fde%2Fjuplo%2Faccelerator%2Fannotations%2FETag.java;h=0000000000000000000000000000000000000000;hb=f95f687755d54c46975b15dbd0221e82a7458f79;hp=81b6d16ae3f71ca44b391f699ea7c9a539bd792d;hpb=4f07e33a7c246caa3e4cd7c939f75064e4af03b0;p=percentcodec diff --git a/accelerator/src/main/java/de/juplo/accelerator/annotations/ETag.java b/accelerator/src/main/java/de/juplo/accelerator/annotations/ETag.java deleted file mode 100644 index 81b6d16a..00000000 --- a/accelerator/src/main/java/de/juplo/accelerator/annotations/ETag.java +++ /dev/null @@ -1,84 +0,0 @@ -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; -import javax.servlet.http.HttpServletRequest; - -/** - * Über diese Annotation kann der Inhalt des ETag/code>-Headers - * gesteuert werden. - * Mit dieser Annotation können Klassen oder Methoden merkiert werden. - *

- * Wenn eine Methode annotiert wird, muss diese eine Instanz von - * {@link HttpServletRequest} als (einziges!) Argument akzeptieren und einen - * String liefern. - *

- * Wenn eine Klasse Annotiert wird, muss der Annotation der Wert für den - * ETag-Header übergeben werden. - * Da dieser Wert somit statisch ist, macht es nur Sinn, Klassen mit dieser - * Annotation zu markieren, die ausschließlich statische Ressourcen ausliefern, - * die sich nur mit der Neuinstallation der Webanwendung ändern. - * Wenn sich (z.B. nach einer Neuinstallation der Webanwendung) die statischen - * Ressourcen geändert haben, muss der übergebene statische ETag geändert - * werden, da Caches sonst weiterhin die alten Ressourcen ausliefern! - *

- * Frei wählbares ETag nach - * {@linkplain http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19 RFC 2616, Abschnitt 14.19 ETag}. - * Der gelieferte Wert darf die vom RFC geforderten Anführungszeichen noch nicht - * enthalten, da er, wenn vary gesetzt ist, noch um je nach - * erfolgter Content-Negotiation varriierende Teile ergänzt wird. - *

- * Die erzeugten ETag's können über die Annotations-Parameter - * weak und vary weiter gesteuert werden. - *

- * Zu beachten: - * Wenn zugleich die Annotation {@link CacheSeconds} verwendet wird, wird - * die mit dieser Annotation markierte Methode nur aufgerufen, wenn die mit - * der Annotation {@link CacheSeconds} markierte Methode einen Wert größer - * oder gleich 0 liefert, bzw. für die mit Annotation - * {@link CacheSeconds} markierte Klasse eine Cache-Zeit größer oder gleich - * 0 festgelegt wurde. - * - * @see #getCacheSeconds(javax.servlet.http.HttpServletRequest) - * - * @author kai - * @see Cacheable - * @see CacheSeconds - */ -@Retention(RetentionPolicy.RUNTIME) -@Target({ ElementType.TYPE, ElementType.METHOD }) -public @interface ETag { - - public final static String ACCEPT = "Accept"; - public final static String ACCEPT_CHARSET = "Accept-Charset"; - public final static String ACCEPT_ENCODING = "Accept-Encoding"; - public final static String ACCEPT_LANGUAGE = "Accept-Language"; - - - String value() default "X"; - boolean weak() default false; - String[] vary() default {}; -}