Sobes.tech
Junior — Middle

Explique o conceito de Interceptor em Java e qual é o seu propósito

sobes.tech IA

Resposta da IA

Interceptor é um padrão de projeto que permite interceptar chamadas de métodos, requisições ou mensagens para executar lógica adicional antes ou depois da ação principal.

Em Java, o Interceptor é frequentemente usado em tecnologias como Java EE (por exemplo, CDI, EJB), onde é possível definir métodos que serão chamados automaticamente ao invocar métodos de negócio, para implementar funcionalidades transversais: logging, transações, segurança, cache, etc.

Exemplo de um Interceptor simples em Java EE:

@Interceptor
public class LoggingInterceptor {
    @AroundInvoke
    public Object logMethod(InvocationContext ctx) throws Exception {
        System.out.println("Chamada do método: " + ctx.getMethod().getName());
        Object result = ctx.proceed(); // chamada ao método alvo
        System.out.println("Método concluído");
        return result;
    }
}

O objetivo do Interceptor é separar a lógica auxiliar da principal, aumentar a modularidade e a reutilização do código.