Manipulação de Tipo de Dados no Web UI Framework
Um método consistente de manipulação de tipo de dados é necessário para validar caixas de entrada na UI, para definir seus arquivos XML de entidade e para outras tarefas. Um tipo de dados é um atributo de dados que o ajuda a configurar restrições sobre os dados, como valores aceitáveis e quais operações podem ser executadas nesses dados.
- Validação de campo da UI (comprimento, tamanho, etc.)
Quando você incluir campos na tela utilizando o Extensibility Designer, os tipos de dados dos novos campos ajudam a determinar a exibição da tela.
- Exibição do componente de UI (tamanho, etc.)
A validação pode ser configurada para eventos do usuário, como clicar em um botão ou alterar o foco do cursor.
- A implementação padrão, que permite continuar usando a
implementação da manipulação de tipo de dados das implementações de UI do Console JSP, Swing ou RCP. Estas implementações usam os arquivos de definição de tipo de dados a seguir:
- datatypes.xml (localizado em < INSTALL_DIR>/repository/datatypes)
- yfsdatatypemap.xml (localizado em < INSTALL_DIR>/repository/xapi/template/merged/resource)
É possível customizar essa implementação padrão.
- Registre a implementação customizada de manipulação de dados. É possível usar
o arquivo web.xml para esse registro.
A seguir é mostrada uma configuração pronta para uso dos parâmetros relacionados ao tipo de dados no arquivo web.xml. Para customizar a manipulação de tipo de dados, você deve substituir a entrada < param-value> pelo caminho de classe para a classe Java™ customizada, com base em seu local e nome do pacote.
<context-param> <param-name>scui-datatype-provider</param-name> <param-value> com.sterlingcommerce.ui.web.platform.dataType.SCUIDataTypeProvider </param-value> </context-param>Você também pode registrar a implementação personalizada fazendo uma chamada Java para o método SCUIDataTypeHelper.setDataTypeProvider.
A seguir, é mostrado um exemplo de uma implementação de pacote:
package com.sterlingcommerce.ui.dataType; import java.util.Map; public interface ISCUIDataTypeProvider{ public Map getDataTypes(); public SCUIDataType getDataType(StringdataTypeName); public SCUIValidationResponse validate(StringdataTypeName, Stringvalue); publicbooleanisValid(StringdataTypeName,Stringvalue); publicvoidinit();A seguir são mostradas as diretrizes para a criação de tipo de dados usando a classe SCUIDataType que é usada no pacote acima:
package com.sterlingcommerce.ui.dataType; public class SCUIDataType { /** Holds value of property name. */ private String name; /** Holds value of property type. */ private String type; /** Holds value of property size. */ private Integer size; /** Holds value of property decimalDigits. */ private Integer decimalDigits; /** Holds value of property negativeAllowed. */ private Boolean negativeAllowed; ....... public void setName(String name) { this.name = name; } public void setType(String type){ this.type = type; } public void setSize(int size){ this.size = new Integer(size); } public void setDecimalDigits(int decimalDigits) { this.decimalDigits = new Integer(decimalDigits); } public void setNegativeAllowed(boolean negativeAllowed){ this.negativeAllowed = new Boolean(negativeAllowed); } ....... public String getType(){ return this.type; } public boolean isNumeric() { return ("NUMBER".equalsIgnoreCase(getType())); } ........ }
Para implementar o código Java customizado, crie um arquivo JAR que contenha a classe Java e, em seguida, instale o arquivo JAR usando o script install3rdparty.sh .
Para implementar essa customização, reconstrua o arquivo EAR ou WAR tal como é feito durante a instalação e, em seguida, implemente o aplicativo no servidor de aplicativos.