Class ValidaAlertaETrava

java.lang.Object
br.com.intersys.systextil.function.ValidaAlertaETrava

public class ValidaAlertaETrava extends Object
Dá alerta ou lança exceptions, conforme estiver configurado em determinado parâmetro de empresa.

Cada instância é configurada conforme um parâmetro de empresa.

Tipicamente, deve-se criar uma instância em um processo, e então usá-la conforme a necessidade.

Esta classe foi inspirada na classe GeraLogParamError, tentando ser flexível para uso em classes Java genéricas ou formulários NXJ.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
    Executa a validação e, se for necessário dar um alerta, lança uma Exception ou retorna uma mensagem.
  • Constructor Summary

    Constructors
    Constructor
    Description
    ValidaAlertaETrava(br.com.intersys.systextil.connection.AppConnection conn, int codigo_empresa, Interactive interactive, String param)
    Configura um validador conforme um parâmetro de empresa.
    ValidaAlertaETrava(Interactive interactive, int tipoAlerta)
    Configura um validador conforme um parâmetro de empresa.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Registra e apresenta o alerta com a mensagem informada, se estiver configurado para isso.
    boolean
    Permite saber se algum alerta do tipo 1 (não bloqueia) foi apresentado.
    void
    Quando esta instância é reusada, apaga o indicador de que algum alerta foi apresentado, para só considerar de agora em diante.
    boolean
    Informa se será emitido algum alerta.
    <E extends Exception>
    void
    Conveniência para encapsular a validação que lança a mensagem de alerta.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ValidaAlertaETrava

      public ValidaAlertaETrava(br.com.intersys.systextil.connection.AppConnection conn, int codigo_empresa, Interactive interactive, String param)
      Configura um validador conforme um parâmetro de empresa.
      Parameters:
      conn - a conexão a ser usada para ler o parâmetro de empresa
      codigo_empresa - a empresa
      interactive - para apresentar mensagens sem interromper o processo; pode ser nulo se com certeza não for usado.
      param - o nome do parâmetro de empresa
    • ValidaAlertaETrava

      public ValidaAlertaETrava(Interactive interactive, int tipoAlerta)
      Configura um validador conforme um parâmetro de empresa.

      Este construtor pode ser usado se o parâmetro de empresa já foi obtido.

      Parameters:
      interactive - para apresentar mensagens sem interromper o processo; pode ser nulo se com certeza não for usado.
      tipoAlerta - o tipo de alerta obtido do parâmetro de empresa: 1 é alerta; 2 é trava; outros valores são ignorados.
  • Method Details

    • temAlerta

      public boolean temAlerta()
      Informa se será emitido algum alerta.

      É conveniente usar este método antes de aplicar regras de negócio e gerar mensagens desnecessariamente.

      Returns:
      se o tipo de alerta configurado é 1 ou 2, ou não é.
    • alertou

      public boolean alertou()
      Permite saber se algum alerta do tipo 1 (não bloqueia) foi apresentado. Assim pode-se apresentar vários alertas e então tomar uma decisão, por exemplo interromper a execução do método atual.
      Returns:
      se algum alerta foi apresentado
      See Also:
    • resetAlertou

      public void resetAlertou()
      Quando esta instância é reusada, apaga o indicador de que algum alerta foi apresentado, para só considerar de agora em diante.
      See Also:
    • alertar

      public void alertar(Translatable msg) throws TagException
      Registra e apresenta o alerta com a mensagem informada, se estiver configurado para isso. Se não estiver, não faz nada.

      Prefira usar o método validar(Validacao), pois o mesmo só invocará a rotina de validação se este validador estiver configurado para fazê-lo.

      Atenção: Se não lançar exceção, este método continua a execução normalmente depois de apresentar a mensagem. Portanto, qualquer tipo de limpeza ou tratamento de dados pode ser feito depois de invocar este método.

      Parameters:
      msg - o texto da mensagem; se for nulo, nada será feito
      Throws:
      TagException - se o alerta deve interromper o processo
    • validar

      public <E extends Exception> void validar(ValidaAlertaETrava.Validacao<E> validacao) throws TagException, E
      Conveniência para encapsular a validação que lança a mensagem de alerta. Se não estiver configurado para apresentar alerta, não faz nada.

      Pode ser usado no NXJ, pois lá qualquer acesso SQL pode lançar diversos tipos de Exception.

      Atenção: Se não lançar exceção, este método continua a execução normalmente depois de apresentar a mensagem. Portanto, qualquer tipo de limpeza ou tratamento de dados pode ser feito depois de invocar este método.

      Type Parameters:
      E - uma eventual exceção imprevista
      Parameters:
      validacao - a função que faz a validação e lança uma mensagem se houver
      Throws:
      TagException - se o alerta deve interromper o processo
      E - se algum outro problema ocorrer
      See Also: