REGRAS DE NEGÓCIO
Introdução
Este seção visa explicar como criar regras de negócio no Framework Prodígio.
Requisitos: Possuir as classes de domínio já modeladas.
Criando primeira regra de negócio
As regras de negócios encontram-se nas classes terminadas em RN que herdam de BaseRN e são localizadas no pacote de negócio.
No exemplo a seguir iremos nos certificar de que um objeto do tipo FuncionarioVO só será persistido no banco caso possua o atributo nome preenchido.
Primeiramente criaremos a lógica de validação:
package br.gov.prodemge.proddigio.tutorial.negocio.funcionario;
/* imports omitidos */
public class FuncionarioRN extends TutorialBaseRN{
public void verificaNome(FuncionarioVO funcionarioVO) {
if (funcionarioVO.getNome() == null || funcionarioVO.getNome().isEmpty())
{
/* instruções*/
}
}
}
Agora iremos adicionar a anotação @RegraDeNegocio em nosso método da seguinte maneira:
@RegraDeNegocio(autor = "Autor", codigo = "CODIGO_DA_REGRA", ordem = 1, fluxo = "gravar", momentoDeExecucao = MomentoDeExecucao.ANTES)
public void verificaNome(FuncionarioVO funcionarioVO) {
if (funcionarioVO.getNome() == null || funcionarioVO.getNome().isEmpty())
{
/*instruções */
}
}
Nos resta apenas implementar as instruções. No caso lançaremos a exceção ViolacaoDeRegraEx com a mensagem relativa ao erro:
@RegraDeNegocio(autor = "Autor", codigo = "CODIGO_DA_REGRA", ordem = 1, fluxo = "gravar", momentoDeExecucao = MomentoDeExecucao.ANTES)
public void verificaNome(FuncionarioVO funcionarioVO) {
if (funcionarioVO.getNome() == null || funcionarioVO.getNome().isEmpty())
{
throw new ViolacaoDeRegraEx(“O funcionário precisa de um nome.”);
}
}