Files
tarisan_gitea/Fuentes/com/tarisan/generador/GenerarBeanInfoBD.java
T
2025-06-09 13:37:06 +02:00

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 );
}
}
}