Eclipse Krazo — Events

Daniel Dias
Daniel Dias
Published in
2 min readJul 17, 2019
Barista Duke — [DOAG](https://www.doag.org/de/home/)

Neste post veremos os uso de Eventos(Events) no Eclipse Krazo .

Este também sera bem curto, pois é somente para conhecermos o uso do Evento.

Então vamos lá.

Os aplicativos MVC podem ser informados sobre eventos que ocorrem durante o processamento de uma solicitação.

Este mecanismo é baseado em eventos CDI que podem ser disparado por implementações e observado por aplicações.

Dentro do pacote javax.mvc.event contém vários tipos de eventos que devem ser adicionado por implementações durante o processamento de uma solicitação. A implementações podem estender este conjunto e também fornecer informações adicionais sobre qualquer um dos eventos definidos na especificação.

Em nossas aplicações é muito útil observar os eventos para aprendermos sobre o ciclo de vida de uma requisição, logging, monitoramento de performance,etc.

Na especificação temos 5 eventos que são :

  • BeforeControllerEvent
  • AfterControllerEvent
  • BeforeProcessViewEvent
  • AfterProcessViewEvent
  • ControllerRedirectEvent

Vejamos um exemplo utilizando o BeforeControllerEvent e AfterControllerEvent :

Aqui os método recebem a anotação @Observers do CDI e as interfaces como parâmetro.

Então quando formos executar nosso aplicativo, primeiro será disparado o onBeforeController que retorna a informação da URI requisitada .

Já a onAfterController ira retorna a informação sobre o Controller disparado :

De forma similar ao anterior , o uso do BeforeProcessViewEvent e AfterProcessViewEvent trazem informações sobre a View a ViewEngine :

tendo como saída :

O último evento suportado pelo MVC é ControllerRedirectEvent, que é disparado imediatamente antes da implementação do MVC retornar um código de status de redirecionamento.

Bem isso é tudo .

Código :

--

--

Daniel Dias
Daniel Dias

SouJava Board Member, JCP Member, JSR-371 (MVC 1.0), JSR-382 (Config) specifications contributor, EG JSR-385 (UoM) and Eclipse Committer .