PreProcess

De BIS Wiki
Revisão de 13h45min de 15 de outubro de 2020 por Rodrigogml (discussão | contribs) (Criou página com 'O PreProcess é uma classe utilitária com métodos de rotina que auxiliam na validação de valores entrados pelo usuário. Por exemplo, em uma entrada de texto do usuário,...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

O PreProcess é uma classe utilitária com métodos de rotina que auxiliam na validação de valores entrados pelo usuário.

Por exemplo, em uma entrada de texto do usuário, não é desejável que ele digite "espaços duplos", comece ou termine com espaço, ou uma entrada contendo apenas espaços seja considerada o mesmo que null. Para fazer todas essa verificações e "limpeza" da String temos o método:

processStringToZeroLength(...)

Caso, no fim o resultado seja uma String vazia, e preferimos ter o valor nulo do que um objeto String, podemos ainda utilizar o método:

processStringToNull(...)


Esse é apenas um exemplo, a classe apresenta inúmeros métodos similares para diversos tipos de dados.


Documentação dos Métodos no JavaDoc
Para não replicar as informações aqui, e mesmo não ter uma documentação desatualizada, consulte os métodos e seus funcionamentos no JavaDoc da classe.


PreProcess no BISMeta Annotations

Algumas BISMeta Annotations tem o atributo preProcess que permite definir como queremos que o atributo seja pre-processado.

Por exemplo, a BISMetaStringField pode ter o atributo preProcess definido como PreProcessOption.STRING_SPACESCLEAN_TO_NULL, que define que o atributo deve ter o seu conteúdo "limpo" e se resultar em uma string vazia, o valor deve ser substituído por nulo.

Uma vez definida essas opções na BISMeta, prodemos passar o vo inteiro para o método:

PreProcess.vo(...)

Este método procurará recursivamente no vo todas as BISMeta com opções de preProcess e executará o método. Simplificando muitas das tarefas de preparação do dado antes da validação.

Além de centralizar a configuração da necessidade desse processamento dos dados apenas no meta-dado do atributo.