82 lines
2.8 KiB
Java
82 lines
2.8 KiB
Java
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<pdsParent.length;i++){");
|
|
out.println("\t\t\t\tpds[i] = pdsParent[i];");
|
|
out.println("\t\t\t}");
|
|
out.println( textoPropiedades );
|
|
out.println( "\t\t}" );
|
|
out.println( "\t\tcatch(Exception e){" );
|
|
out.println( "\t\t\tSystem.out.println( e );" );
|
|
out.println( "\t\t\treturn null;" );
|
|
out.println( "\t\t}\r\n" );
|
|
out.println( "\t\treturn pds;" );
|
|
out.println( "\t}\r\n" );
|
|
out.println( "}" );
|
|
|
|
out.close();
|
|
}
|
|
catch( Exception e )
|
|
{
|
|
System.out.println( e );
|
|
}
|
|
}
|
|
|
|
|
|
} |