From: lscheidegger - x. <lsc...@xd...> - 2003-08-19 13:31:43
|
>Desvantagens: >- Tem alguma? Me avisem. ;) S=F3 uma, vc escreve pra diabo. Ao mapear as interfaces e opera=E7=F5es, n=F3s temos que ter em conta = que teremos uma situa=E7=E3o padr=E3o definida para cada uma delas. O que fazemos normalmente =E9 criar uma defini=E7=E3o padr=E3o para cada interface, opera=E7=E3o e propriedade, e mesclamos apenas as = diferen=E7as que a entidade/classe que est=E1 sendo processada tem. Supondo que a defini=E7=E3o padr=E3o da opera=E7=E3o add seja (seguindo = seu padr=E3o): //LINK //define a imagem que aparecer=E1 no bot=E3o add.setImage("bt_inclusao.gif"); //LINK + DISPLAY //Define o caption do link, bem como o t=EDtulo da p=E1gina add.setTitle("Inclus=E3o"); //DISPLAY //define que por default ser=E3o mostrados todas as propriedades no formul=E1rio add.getAllProperties(true); //indica que a primary key =E9 gerada automaticamente e n=E3o pode ser alterada add.hiddenIdentifier(true); //defini=E7=E3o de subt=EDtulo add.setSubtitle(""); //PROCESS //define qual =E9 a opera=E7=E3o que ser=E1 chamada ap=F3s o = processamento do formul=E1rio add.setRedirectOperation("report"); //define a query de processamento add.setQuery("add"); //define se h=E1 algum m=E9todo de valida=E7=E3o que deva ser chamado = antes da inclus=E3o add.setValidationMethod("validate"); Supondo que essa seja a defini=E7=E3o padr=E3o de uma propriedade = string: string.setLenght(100) string.isMandatory(false) string.isVisible(true) string.setCaption("") string.isIdentifier(false) Essa =E9 a defini=E7=E3o padr=E3o de um campo num=E9rico number.setType(integer) number.setCaption("") number.minValue(null) number.maxValue(null) number.isIdentifier(false) number.isMandatory(false) number.isVisible(true) Vamos criar uma entidade Usu=E1rio, vou exemplificar apenas a = inclus=E3o. // Cria a definicao da classe usuario =3D new ClassDefinition("Usuario"); // Cria as propriedades que a classe vai ter usuario.addProperty("id", Number.class); usuario.addProperty("nome", String.class); //define que o campo id =E9 chave prim=E1rio, e que seu valor vem de uma seguence ou campo auto_increment usuario.properties.get("id").isIdentifier(true); usuario.properties.get("id").setType("sequencer"); //define a legenda da propriedade nome usuario.properties.get("nome").setCaption("Nome do Usu=E1rio"); //addAction (String type,boolean automatic=3Dtrue) usuario.addAction("add"); []'s Luiz |