segunda-feira, 10 de setembro de 2018

Eventos - Parte 3/5

Introdução

Nos posts anteriores eu mostrei os eventos de login, abertura e validações de CRUD. Nesse post vou mostrar como interceptar um evento de ação dinâmica.

@JArchEventDynamicBefore

Esse evento é disparado antes do método da ação dinâmica.
Segue um exemplo abaixo:
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
package br.com.wesa.gcpr.lancamento;

import br.com.wesa.gcpr.constant.ConstanteGcpr;
import com.arch.annotation.ArchEventDynamicBefore;
import com.arch.util.LogUtils;

import javax.enterprise.event.Observes;

public class LancamentoAntesCancelamentoBaixaObserver {

    private void antesCancelamentoBaixa(@Observes @JArchEventDynamicBefore(ConstanteGcpr.CANCELAR_BAIXA) LancamentoEntity lancamento) {
        LogUtils.warning("Antes do cancelamento de baixa...");
    }
}

@JArchEventValidDynamic

Esse evento é disparado antes do método da ação dinâmica.
Segue um exemplo abaixo:
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
package br.com.wesa.gcpr.lancamento;

import br.com.wesa.gcpr.constant.ConstanteGcpr;
import com.arch.annotation.ArchEventValidDynamic;
import com.arch.bundle.BundleUtils;
import com.arch.exception.ValidationException;

import javax.enterprise.event.Observes;

public class LancamentoValidacaoCancelamentoBaixaObserver {

    private void cancelamentoBaixaAberto(@Observes @JArchEventValidDynamic(ConstanteGcpr.CANCELAR_BAIXA) LancamentoEntity lancamento) {
        if (!lancamento.isLancamentoPago()) {
            throw new ValidationException(BundleUtils.messageBundle("message.lancamentoNaoEstaBaixado"));
        }
    }
}

@JArchEventDynamicAfter

Esse evento é disparado após o método da ação dinâmica.
Segue um exemplo abaixo:

1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
package br.com.wesa.gcpr.lancamento;

import br.com.wesa.gcpr.constant.ConstanteGcpr;
import com.arch.annotation.ArchEventDynamicAfter;
import com.arch.util.LogUtils;

import javax.enterprise.event.Observes;

public class LancamentoDepoisCancelamentoBaixaObserver {

    private void depoisCancelamentoBaixa(@Observes @JArchEventDynamicAfter(ConstanteGcpr.CANCELAR_BAIXA) LancamentoEntity lancamento) {
        LogUtils.warning("Depois do cancelamento de baixa...");
    }
}

Conclusão

Nesse post eu mostrei os eventos relacionados a ação dinâmica. No próximo post tem muito mais eventos pra analisarmos.

Até mais,

Nenhum comentário:

Postar um comentário

Versão 23.3.0-Final

      Introdução Nesse post vou mostrar as principais novidades da versão 23.3.0, algumas correções e pequenas alterações. Alterações Além d...