package com.tarisan.generador; import java.io.*; import java.util.Vector; public class GenerarAttributeInfoBD { public static void crearAttributeInfo( Tabla tabla , String packageName) { String nombreClase = tabla.getNombre(); System.out.println("Generando " + nombreClase + "AttributeInfo..."); try{ PrintWriter out = new PrintWriter( new FileWriter(".\\dataGenerado\\" + nombreClase + "AttributeInfo.java" ) ); out.println("package " + packageName + ".data;\r\r\n\r\r\n\r\r\n"); out.println( "public class " + nombreClase + "AttributeInfo extends " + packageName + ".persistencia.ObjetoBaseAttributeInfo" ); out.println( "{" ); //Recorro las propiedades String definicionPropiedades = ""; String listaClaves = ""; String metodosPropiedades = ""; String tipo="", nombrePropiedad=""; boolean clave , required; String originalName=null, largo=null; String nombrePropiedadCambiada = null; String tipoElemento = null; String columna=""; Vector vectorCampos = tabla.getCampos(); Campo campo; for( int i=0; i < vectorCampos.size(); i++ ) { campo = ( Campo )vectorCampos.elementAt(i); nombrePropiedad = campo.getNombre(); //Saco sus propiedades nombrePropiedad = campo.getNombre(); tipo = campo.getTipo(); clave = campo.getClave(); required = campo.getRequerido(); originalName = campo.getNombreOriginal(); largo = "" + campo.getLargo(); //Definicion de las propiedades definicionPropiedades += "\tprivate boolean " + nombrePropiedad +"Required = "+ required +";\r\n"; definicionPropiedades += "\tprivate String " + nombrePropiedad +"OriginalName = \""+ originalName +"\";\r\n"; definicionPropiedades += "\tprivate int " + nombrePropiedad +"Largo = "+ largo +";\r\n"; //Genero el codigo para las claves if( clave ) { if( !listaClaves.equals("") ) listaClaves += ", "; listaClaves += "\""+ nombrePropiedad +"\""; } //Metodos GET //Required nombrePropiedadCambiada = nombrePropiedad + "Required"; metodosPropiedades += "\r\n\r\n\tpublic boolean " + getGetMethod( nombrePropiedadCambiada ) +"()\r\n"; metodosPropiedades += "\t{\r\n"; metodosPropiedades += "\t\treturn " + nombrePropiedadCambiada + ";\r\n"; metodosPropiedades += "\t}\r\n"; //OriginalName nombrePropiedadCambiada = nombrePropiedad + "OriginalName"; metodosPropiedades += "\tpublic String " + getGetMethod( nombrePropiedadCambiada ) +"()\r\n"; metodosPropiedades += "\t{\r\n"; metodosPropiedades += "\t\treturn " + nombrePropiedadCambiada + ";\r\n"; metodosPropiedades += "\t}\r\n"; //Largo nombrePropiedadCambiada = nombrePropiedad + "Largo"; metodosPropiedades += "\tpublic int " + getGetMethod( nombrePropiedadCambiada ) +"()\r\n"; metodosPropiedades += "\t{\r\n"; metodosPropiedades += "\t\treturn " + nombrePropiedadCambiada + ";\r\n"; metodosPropiedades += "\t}\r\n"; //Metodos SET //Required nombrePropiedadCambiada = nombrePropiedad + "Required"; metodosPropiedades += "\r\n\tpublic void " + getSetMethod( nombrePropiedadCambiada ) + "( boolean s )\r\n"; metodosPropiedades += "\t{\r\n"; metodosPropiedades += "\t\t" + nombrePropiedadCambiada + " = s;\r\n"; metodosPropiedades += "\t}\r\n"; //OriginalName nombrePropiedadCambiada = nombrePropiedad + "OriginalName"; metodosPropiedades += "\tpublic void " + getSetMethod( nombrePropiedadCambiada ) + "( String s )\r\n"; metodosPropiedades += "\t{\r\n"; metodosPropiedades += "\t\t" + nombrePropiedadCambiada + " = s;\r\n"; metodosPropiedades += "\t}\r\n"; //Required nombrePropiedadCambiada = nombrePropiedad + "Largo"; metodosPropiedades += "\tpublic void " + getSetMethod( nombrePropiedadCambiada ) + "( int s )\r\n"; metodosPropiedades += "\t{\r\n"; metodosPropiedades += "\t\t" + nombrePropiedadCambiada + " = s;\r\n"; metodosPropiedades += "\t}\r\n"; }//fin del for //Imprimo el resto out.println( definicionPropiedades ); out.println( "\tprivate String[] primaryKey = {" + listaClaves + "};" ); out.println( "\r\n\tpublic String[] getPrimaryKey(){" ); out.println( "\t\treturn primaryKey;" ); out.println( "\t}" ); out.println( metodosPropiedades ); out.println( "\r\n\r\n}\r\n" ); out.close(); } catch( Exception e ) { System.out.println( e ); } } public static String getGetMethod( String nombrePropiedad ) { String nombreMetodo = "get" + nombrePropiedad.substring(0,1).toUpperCase() + nombrePropiedad.substring(1); return nombreMetodo; } public static String getSetMethod( String nombrePropiedad ) { String nombreMetodo = "set" + nombrePropiedad.substring(0,1).toUpperCase() + nombrePropiedad.substring(1); return nombreMetodo; } }