Package common.http.interceptor
Class ServletInterceptor<A extends Annotation>
- java.lang.Object
-
- common.http.interceptor.ServletInterceptor<A>
-
- Type Parameters:
A
- Il tipo di annotazione a cui l'interceptor sarà associato
- Direct Known Subclasses:
AuthorizationConstraintsInterceptor
,ForwardOnErrorInterceptor
,JSONErrorInterceptor
public abstract class ServletInterceptor<A extends Annotation> extends Object
Classe astratta rappresentante un interceptor invocabile da unInterceptableServlet
prima di eseguire un metodo "doGet", "doPost", "doX"...
Per definire un interceptor occorre:- Estendere questa classe (Specificando l'annotazione a cui la nuova sottoclasse sarà associata)
- Definire il comportamento dell'interceptor sovrascrivendo i metodi
handle(HttpServletRequest, HttpServletResponse, HttpServletBiConsumer)
einit(Annotation)
-
-
Constructor Summary
Constructors Constructor Description ServletInterceptor()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
handle(HttpServletRequest req, HttpServletResponse resp, HttpServletBiConsumer next)
Metodo contenete la logica dell'interceptor, che si occupa di processare la richiesta e la risposta passati come parametro e di passare eventualmente il controllo eventualmente al prossimo metodo specificato come parametroprotected abstract void
init(A annotation)
Chiamato dal factory per inizializzare l'interceptor dopo averlo istanziato.int
priority()
Definisce l'ordine in cui l'interceptor deve essere eseguito rispetto agli altri interceptor.
-
-
-
Constructor Detail
-
ServletInterceptor
public ServletInterceptor()
-
-
Method Detail
-
init
protected abstract void init(A annotation)
Chiamato dal factory per inizializzare l'interceptor dopo averlo istanziato.- Parameters:
annotation
- L'istanza di annotazione associata all'interceptor, con eventuali parametri necessari per la configurazione
-
handle
public abstract void handle(HttpServletRequest req, HttpServletResponse resp, HttpServletBiConsumer next) throws ServletException, IOException
Metodo contenete la logica dell'interceptor, che si occupa di processare la richiesta e la risposta passati come parametro e di passare eventualmente il controllo eventualmente al prossimo metodo specificato come parametro- Parameters:
req
- La richiesta da processareresp
- La risposta da processarenext
- Il riferimento al metodo a cui poter passare il controllo- Throws:
ServletException
IOException
-
priority
public int priority()
Definisce l'ordine in cui l'interceptor deve essere eseguito rispetto agli altri interceptor. Un numero più basso implica una maggiore priorità. Il valore di default (Se il metodo non è sovrascritto) è Integer.MAX_VALUE- Returns:
- La priorità dell'interceptor
-
-