segunda-feira, 10 de setembro de 2018

Eventos - Parte 2/5

Introdução

No post anterior eu mostrei alguns exemplos de eventos na inicialização do CRUD e no login. Nesse segundo post mostrarei alguns eventos de validações.

@JArchEventValidInsert

Esse evento é disparado antes da gravação de uma inclusão ou clonagem.
Segue um exemplo abaixo:
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
package br.com.wesa.gcpr.lancamento;

import com.arch.annotation.ArchEventValidInsert;
import com.arch.bundle.BundleUtils;
import com.arch.exception.ValidationException;
import com.arch.util.DateUtils;

import javax.enterprise.event.Observes;
import java.time.LocalDate;

public class LancamentoValidacaoVencimentoAnteriorCincoAnosObserver {

    private void validaVencimentoAnteriorCincoAnos(@Observes @JArchEventValidInsert LancamentoEntity lancamento) {
        if (lancamento.getVencimento().before(DateUtils.toDate(LocalDate.now().minusYears(5)))) {
            throw new ValidationException(BundleUtils.messageBundle("message.vencimentoInferiorCincoAnos"));
        }

    }
}

@JArchEventValidChange

Esse evento é disparado antes da gravação de uma alteração.
Segue um exemplo abaixo:
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package br.com.wesa.gcpr.lancamento;

import com.arch.annotation.ArchEventValidChange;
import com.arch.annotation.ArchEventValidInsert;
import com.arch.bundle.BundleUtils;
import com.arch.exception.ValidationException;
import com.arch.util.DateUtils;

import javax.enterprise.event.Observes;
import java.time.LocalDate;

public class LancamentoValidacaoVencimentoAnteriorCincoAnosObserver {

    private void validaVencimentoAnteriorCincoAnosAlteracao(@Observes @JArchEventValidChange LancamentoEntity lancamento) {
        validaVencimentoAnteriorCincoAnos(lancamento);
    }

    private void validaVencimentoAnteriorCincoAnosInclusao(@Observes @JArchEventValidInsert LancamentoEntity lancamento) {
        validaVencimentoAnteriorCincoAnos(lancamento);
    }

    private void validaVencimentoAnteriorCincoAnos(LancamentoEntity lancamento) {
        if (lancamento.getVencimento().before(DateUtils.toDate(LocalDate.now().minusYears(5)))) {
            throw new ValidationException(BundleUtils.messageBundle("message.vencimentoInferiorCincoAnos"));
        }
    }
}

@JArchEventValidInsertChange

Esse evento é disparado antes da gravação de uma inclusão, clonagem ou alteração.
Segue um exemplo abaixo:
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package br.com.wesa.gcpr.lancamento;

import com.arch.annotation.ArchEventValidChange;
import com.arch.annotation.ArchEventValidInsert;
import com.arch.annotation.ArchEventValidInsertChange;
import com.arch.bundle.BundleUtils;
import com.arch.exception.ValidationException;
import com.arch.util.DateUtils;

import javax.enterprise.event.Observes;
import java.time.LocalDate;

public class LancamentoValidacaoVencimentoAnteriorCincoAnosObserver {

    private void validaVencimentoAnteriorCincoAnosInclusaoAlteracao(@Observes @JArchEventValidInsertChange LancamentoEntity lancamento) {
        validaVencimentoAnteriorCincoAnos(lancamento);
    }

    private void validaVencimentoAnteriorCincoAnosAlteracao(@Observes @JArchEventValidChange LancamentoEntity lancamento) {
        validaVencimentoAnteriorCincoAnos(lancamento);
    }

    private void validaVencimentoAnteriorCincoAnosInclusao(@Observes @JArchEventValidInsert LancamentoEntity lancamento) {
        validaVencimentoAnteriorCincoAnos(lancamento);
    }

    private void validaVencimentoAnteriorCincoAnos(LancamentoEntity lancamento) {
        if (lancamento.getVencimento().before(DateUtils.toDate(LocalDate.now().minusYears(5)))) {
            throw new ValidationException(BundleUtils.messageBundle("message.vencimentoInferiorCincoAnos"));
        }
    }
}

@JArchEventValidDelete

Esse evento é disparado antes da gravação de uma exclusão.
Segue um exemplo abaixo:

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

import com.arch.annotation.ArchEventValidDelete;
import com.arch.bundle.BundleUtils;
import com.arch.exception.ValidationException;

import javax.enterprise.event.Observes;

public class LancamentoValidaExclusaoContaBaixada {

    private void validaExclusaoContaBaixada(@Observes @JArchEventValidDelete LancamentoEntity lancamento) {
        if (lancamento.isLancamentoPago()) {
            throw new ValidationException(BundleUtils.messageBundle("message.lancamentoBaixadoNaoPodeSerExcluido"));
        }
    }
}

Conclusão

Nesse post eu mostrei alguns eventos de validações que são disparados de acordo com o tipo de anotação utilizada. No próximo post mostrarei mais eventos.

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...