Sobes.tech
Junior — Middle

Vysvetlite koncept Interceptor v Jave in v čem je njegova namen

sobes.tech AI

Odpoveď od AI

Interceptor je vzor návrhu, ktorý umožňuje zachytávať volania metód, požiadavky alebo správy na vykonanie dodatočnej logiky pred alebo po hlavnej akcii.

V Jave sa Interceptor často používa v technológiách ako Java EE (napríklad CDI, EJB), kde je možné definovať metódy, ktoré budú automaticky volané pri volaní podnikových metód, na implementáciu priečnych funkcií: logovanie, transakcie, bezpečnosť, cache atď.

Príklad jednoduchého Interceptoru v Jave EE:

@Interceptor
public class LoggingInterceptor {
    @AroundInvoke
    public Object logMethod(InvocationContext ctx) throws Exception {
        System.out.println("Volanie metódy: " + ctx.getMethod().getName());
        Object result = ctx.proceed(); // volanie cieľovej metódy
        System.out.println("Metóda dokončená");
        return result;
    }
}

Účelom Interceptoru je oddeliť pomocnú logiku od hlavnej, zvýšiť modularitu a opätovné použitie kódu.