Sobes.tech
Junior — Middle

Selgitage välja Interceptor kontseptsiooni Java ja milline on selle eesmärk

sobes.tech AI

Vastus AI-lt

Interceptor on disainimuster, mis võimaldab vahele võtta meetodite, päringute või sõnumite väljakutseid, et täita täiendavat loogikat enne või pärast põhitegevust.

Java-s kasutatakse Interceptorit sageli sellistes tehnoloogiates nagu Java EE (näiteks CDI, EJB), kus saab määratleda meetodeid, mis kutsutakse automaatselt välja ärimeetodite kutsumisel, et rakendada ristküljelisi funktsioone: logimine, tehingud, turvalisus, vahemälu ja nii edasi.

Lihtne Interceptor näide Java EE-s:

@Interceptor
public class LoggingInterceptor {
    @AroundInvoke
    public Object logMethod(InvocationContext ctx) throws Exception {
        System.out.println("Meetodi kutsumine: " + ctx.getMethod().getName());
        Object result = ctx.proceed(); // sihtmeetodi väljakutse
        System.out.println("Meetod täidetud");
        return result;
    }
}

Interceptori eesmärk on eraldada abiloogika põhiloogikast, suurendada modulaarust ja koodi taaskasutusvõimalusi.