package com.tarisan.generador; import java.io.*; import java.util.Vector; public class GenerarBeanInfoBD { public static void crearBeanInfo( Tabla tabla , String packageName) { String nombreClase = tabla.getNombre(); System.out.println("Generando " + nombreClase + "BeanInfo..."); try{ PrintWriter out = new PrintWriter( new FileWriter(".\\dataGenerado\\" + nombreClase + "BeanInfo.java" ) ); //Recorro las columnas //String definicionPropiedades = ""; String metodosPropiedades = ""; String tipo ="", nombrePropiedad=""; int numPropiedades = 0; String textoPropiedades = ""; Vector vectorCampos = tabla.getCampos(); Campo campo; for( int i=0; i < vectorCampos.size(); i++ ) { campo = ( Campo )vectorCampos.elementAt(i); nombrePropiedad = campo.getNombre(); tipo = campo.getTipo(); textoPropiedades += "\t\t\tpds[pdsParent.length + "+ numPropiedades + "] = new PropertyDescriptor(\""+ nombrePropiedad +"\", cls);\r\n"; numPropiedades++; } out.println("package " + packageName + ".data;\r\r\n\r\r\n\r\r\n"); out.println("import java.beans.SimpleBeanInfo;"); out.println("import java.beans.BeanInfo;"); out.println("import java.beans.Introspector;"); out.println("import java.beans.PropertyDescriptor;"); out.println("import java.beans.IndexedPropertyDescriptor;\r\n\r\n\r\n"); out.println( "public class " + nombreClase + "BeanInfo extends SimpleBeanInfo" ); out.println( "{\r\n" ); out.println("\tpublic PropertyDescriptor[] getPropertyDescriptors()"); out.println("\t{"); out.println("\t\tPropertyDescriptor[] pds = null;"); out.println("\t\ttry{"); out.println("\t\t\t//get the number of properties of the parent class"); out.println("\t\t\tBeanInfo bI = Introspector.getBeanInfo( com.iberdrola.compras.persistencia.ObjetoBase.class );"); out.println("\t\t\tPropertyDescriptor[] pdsParent = bI.getPropertyDescriptors();"); out.println("\t\t\tClass cls = com.iberdrola.compras.data."+ nombreClase +".class;"); out.println("\t\t\tint numberLocalProperties = "+ numPropiedades +";"); out.println("\t\t\tpds = new PropertyDescriptor[numberLocalProperties + pdsParent.length];"); out.println("\t\t\t//"); out.println("\t\t\t//first do the parent class"); out.println("\t\t\t//"); out.println("\t\t\tfor(int i=0;i