Package systextil.nxj

Class ChainedFieldController<T extends Comparable<? super T>>

All Implemented Interfaces:
Comparable<Object>, FieldListener
Direct Known Subclasses:
ChainedIntField, ChainedStringField

public abstract class ChainedFieldController<T extends Comparable<? super T>> extends FieldController<T>
Representa um campo que trabalha encadeado com outros campos semelhantes.

Quando o campo está preenchido com o valor default, os campos seguintes ficam desabilitados e preenchidos com o mesmo valor default.

Se o campo for preenchido com um valor já presente nos campos anteriores, é lançada getRepeatedValueTag().

Author:
sergio
  • Field Details

  • Constructor Details

    • ChainedFieldController

      protected ChainedFieldController(DataViewController controller, DataViewValue<T> data, String tagRepeated, T defaultValue, ChainedFieldController<T> previous)
      Cria um campo com o mesmo nome da classe que o implementa.
      Parameters:
      controller - o data view onde o campo está
      tagRepeated - a tag da mensagem que informa que o valor já foi usado por um campo anterior
      defaultValue - o valor que indica que os campos seguintes não devem ser preenchidos
      previous - o campo anterior na cadeia; pode ser nulo, se não houver campo anterior.
    • ChainedFieldController

      protected ChainedFieldController(DataViewController controller, DataViewValue<T> data, String name, String tagRepeated, T defaultValue, ChainedFieldController<T> previous)
      Cria um campo com o nome informado.
      Parameters:
      controller - o data view onde o campo está
      name - o nome com o qual o campo é referenciado no data view
      tagRepeated - a tag da mensagem que informa que o valor já foi usado por um campo anterior
      defaultValue - o valor que indica que os campos seguintes não devem ser preenchidos
      previous - o campo anterior na cadeia; pode ser nulo, se não houver campo anterior.
  • Method Details

    • getRepeatedValueTag

      protected br.com.intersys.systextil.global.TagException getRepeatedValueTag()
      Retorna a mensagem que será lançada se o valor já foi usado em um campo anterior. Por padrão retorna o que foi informado em tagRepeated no construtor, mas este método pode ser sobrescrito.
    • validar

      protected void validar(T value) throws Exception
      Validação feita se o campo estiver preenchido com um valor que não é o default. Sobrescrever este método se houver validações adicionais.
      Throws:
      Exception
    • validarDefault

      protected void validarDefault() throws Exception
      Validação feita se o campo estiver preenchido com o valor default. Sobrescrever este método se houver validações adicionais.
      Throws:
      Exception
    • validar

      public final void validar() throws Exception
      Valida o valor informado no campo e inicia o encadeamento de validação dos campos seguintes.
      Specified by:
      validar in interface FieldListener
      Overrides:
      validar in class FieldController<T extends Comparable<? super T>>
      Throws:
      Exception - when the validation fails
    • beforeField

      public final void beforeField() throws Exception
      Implementa um controle de habilitação do campo para permitir a validação correta ao sair do campo anterior com a tecla TAB.
      Specified by:
      beforeField in interface FieldListener
      Overrides:
      beforeField in class FieldController<T extends Comparable<? super T>>
      Throws:
      Exception