home *** CD-ROM | disk | FTP | other *** search
Wrap
package symantec.descfileconverter; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.StreamTokenizer; import java.io.Writer; import java.util.Enumeration; import java.util.Vector; class DescFileConverter extends StreamTokenizer { private IconFileToGifConverter iconConverter; private Vector vComponentInfo = new Vector(); private ComponentInfo tempInfo; private CConnection tempConnection; private CProperty tempProperty; private CIconsuite tempIconsuite; private CSmallicon tempSmallicon; private CWinhelp tempWinhelp; private String descFile; DescFileConverter(FileReader var1, String var2) { super(var1); this.descFile = var2; } void tokenize() throws IOException { ((StreamTokenizer)this).commentChar(59); ((StreamTokenizer)this).eolIsSignificant(false); ((StreamTokenizer)this).lowerCaseMode(false); ((StreamTokenizer)this).slashSlashComments(true); ((StreamTokenizer)this).slashStarComments(true); ((StreamTokenizer)this).whitespaceChars(61, 61); ((StreamTokenizer)this).whitespaceChars(44, 44); ((StreamTokenizer)this).wordChars(91, 93); while(((StreamTokenizer)this).nextToken() != -1) { if (super.sval.equals("BASECLASS")) { ((StreamTokenizer)this).nextToken(); if (this.tempInfo != null) { this.vComponentInfo.addElement(this.tempInfo); } this.tempInfo = new ComponentInfo(); this.tempInfo.setBaseclass(super.sval); } else if (super.sval.equals("CLASS")) { ((StreamTokenizer)this).nextToken(); if (this.tempInfo != null && this.tempInfo.getComponentClass() != null) { this.vComponentInfo.addElement(this.tempInfo); this.tempInfo = new ComponentInfo(); this.tempInfo.setComponentClass(super.sval); } else if (this.tempInfo != null && this.tempInfo.getComponentClass() == null) { this.tempInfo.setComponentClass(super.sval); } else { this.tempInfo = new ComponentInfo(); this.tempInfo.setComponentClass(super.sval); } } else if (super.sval.equals("AWTEVENT")) { ((StreamTokenizer)this).nextToken(); this.tempInfo.setAwtevent(super.sval); } else if (!super.sval.equals("CONNECTION") && !super.sval.equals("CONSTRAINEDCONNECTION")) { if (!super.sval.equals("DEFPROPERTY") && !super.sval.equals("CONSTRAINEDDEFPROPERTY")) { if (super.sval.equals("FLAGS")) { ((StreamTokenizer)this).nextToken(); this.tempInfo.setFlags(super.sval); } else if (super.sval.equals("FOLDER")) { ((StreamTokenizer)this).nextToken(); this.tempInfo.setFolder(super.sval); } else if (super.sval.equals("ICONSUITE")) { this.tempIconsuite = new CIconsuite(); ((StreamTokenizer)this).nextToken(); this.tempIconsuite.a = new String(super.sval); ((StreamTokenizer)this).nextToken(); this.tempIconsuite.b = new String(super.sval); this.tempInfo.setIconsuite(this.tempIconsuite); } else if (!super.sval.equals("PROPERTY") && !super.sval.equals("CONSTRAINEDPROPERTY")) { if (super.sval.equals("SMALLICON")) { this.tempSmallicon = new CSmallicon(); ((StreamTokenizer)this).nextToken(); this.tempSmallicon.a = new String(super.sval); ((StreamTokenizer)this).nextToken(); this.tempSmallicon.b = new String(super.sval); this.tempInfo.setSmallicon(this.tempSmallicon); } else if (super.sval.equals("TOOLBAR")) { ((StreamTokenizer)this).nextToken(); this.tempInfo.setToolbar(super.sval); } else if (super.sval.equals("WINHELP")) { this.tempWinhelp = new CWinhelp(); ((StreamTokenizer)this).nextToken(); if (super.sval == null) { ((StreamTokenizer)this).nextToken(); this.tempWinhelp.help_id = "0" + new String(super.sval); } else { this.tempWinhelp.help_id = new String(super.sval); } ((StreamTokenizer)this).nextToken(); if (!super.sval.equals("BASECLASS") && !super.sval.equals("CLASS") && !super.sval.equals("AWTEVENT") && !super.sval.equals("CONNECTION") && !super.sval.equals("CONSTRAINEDCONNECTION") && !super.sval.equals("DEFPROPERTY") && !super.sval.equals("CONSTRAINEDDEFPROPERTY") && !super.sval.equals("FLAGS") && !super.sval.equals("FOLDER") && !super.sval.equals("ICONSUITE") && !super.sval.equals("PROPERTY") && !super.sval.equals("CONSTRAINEDPROPERTY") && !super.sval.equals("SMALLICON") && !super.sval.equals("TOOLBAR") && !super.sval.equals("WINHELP")) { this.tempWinhelp.help_file = new String(super.sval); } else { ((StreamTokenizer)this).pushBack(); } this.tempInfo.setWinhelp(this.tempWinhelp); } else { System.err.println(this.descFile + " :Huh? Shouldn't get here! sval = " + super.sval); } } else { this.tempProperty = new CProperty(); this.tempProperty.bound = true; if (super.sval.equals("CONSTRAINEDPROPERTY")) { this.tempProperty.constrained = true; } ((StreamTokenizer)this).nextToken(); this.tempProperty.type = new String(super.sval); ((StreamTokenizer)this).nextToken(); this.tempProperty.description = new String(super.sval); ((StreamTokenizer)this).nextToken(); this.tempProperty.method = new String(super.sval); ((StreamTokenizer)this).nextToken(); this.tempProperty.def_val = new String(super.sval); if (this.tempProperty.type.equalsIgnoreCase("URL") || this.tempProperty.type.equalsIgnoreCase("URL[]") || this.tempProperty.type.equalsIgnoreCase("Enum")) { ((StreamTokenizer)this).nextToken(); this.tempProperty.xtra_info = new String(super.sval); } this.tempInfo.setProperty(this.tempProperty); } } else { this.tempProperty = new CProperty(); this.tempProperty.bound = true; if (super.sval.equals("CONSTRAINEDDEFPROPERTY")) { this.tempProperty.constrained = true; } ((StreamTokenizer)this).nextToken(); this.tempProperty.type = new String(super.sval); ((StreamTokenizer)this).nextToken(); this.tempProperty.description = new String(super.sval); ((StreamTokenizer)this).nextToken(); this.tempProperty.method = new String(super.sval); ((StreamTokenizer)this).nextToken(); this.tempProperty.def_val = new String(super.sval); if (this.tempProperty.type.equalsIgnoreCase("URL") || this.tempProperty.type.equalsIgnoreCase("URL[]") || this.tempProperty.type.equalsIgnoreCase("Enum")) { ((StreamTokenizer)this).nextToken(); this.tempProperty.xtra_info = new String(super.sval); } this.tempInfo.setDefproperty(this.tempProperty); } } else { this.tempConnection = new CConnection(); ((StreamTokenizer)this).nextToken(); this.tempConnection.form = new String(super.sval); ((StreamTokenizer)this).nextToken(); this.tempConnection.type = new String(super.sval); ((StreamTokenizer)this).nextToken(); this.tempConnection.init = new String(super.sval); ((StreamTokenizer)this).nextToken(); this.tempConnection.expr = new String(super.sval); ((StreamTokenizer)this).nextToken(); this.tempConnection.description = new String(super.sval); this.tempConnection.setMethodName(this.tempInfo.getComponentClass()); this.tempInfo.setConnection(this.tempConnection); } } if (this.tempInfo != null) { this.vComponentInfo.addElement(this.tempInfo); this.tempInfo = null; } } void write(String var1, String var2, boolean var3) throws IOException { boolean var8 = false; for(int var9 = 0; var9 < this.vComponentInfo.size(); ++var9) { ComponentInfo var4 = (ComponentInfo)this.vComponentInfo.elementAt(var9); FileWriter var5; String var7; if (var3) { File var10 = new File(var2 + File.separator + var4.getClassPath()); if (!var10.exists() && !var10.mkdirs()) { throw new IOException("unable to create output directory " + var10.getPath()); } var7 = var10.getPath(); var5 = new FileWriter(var2 + File.separator + var4.getClassPath() + File.separator + var4.getAbbreviatedClass() + "BeanInfo.java"); } else { File var19 = new File(var2); if (!var19.exists() && !var19.mkdirs()) { throw new IOException("unable to create output directory " + var19.getPath()); } var7 = var19.getPath(); var5 = new FileWriter(var2 + File.separator + var4.getAbbreviatedClass() + "BeanInfo.java"); } BufferedWriter var6 = new BufferedWriter(var5); ((Writer)var6).write("package " + var4.getPackageName() + ";"); var6.newLine(); var6.newLine(); ((Writer)var6).write("import java.beans.*;"); var6.newLine(); ((Writer)var6).write("import symantec.itools.beans.*;"); var6.newLine(); var6.newLine(); ((Writer)var6).write("/**"); var6.newLine(); ((Writer)var6).write(" * BeanInfo for " + var4.getAbbreviatedClass()); var6.newLine(); ((Writer)var6).write(" *"); var6.newLine(); ((Writer)var6).write(" */"); var6.newLine(); var6.newLine(); ((Writer)var6).write("public class " + var4.getAbbreviatedClass() + "BeanInfo "); ((Writer)var6).write("extends SimpleBeanInfo {"); var6.newLine(); var6.newLine(); ((Writer)var6).write("\tpublic BeanInfo[] getAdditionalBeanInfo() {"); var6.newLine(); ((Writer)var6).write("\t\ttry {"); var6.newLine(); ((Writer)var6).write("\t\t\tjava.util.Vector v = new java.util.Vector();"); var6.newLine(); ((Writer)var6).write("\t\t\tBeanInfo[] rv;"); var6.newLine(); ((Writer)var6).write("\t\t\tBeanInfo b;"); var6.newLine(); ((Writer)var6).write("\t\t\tClass c = beanClass.getSuperclass();"); var6.newLine(); var6.newLine(); ((Writer)var6).write("\t\t\twhile (c.isAssignableFrom(Object.class) != true) {"); var6.newLine(); ((Writer)var6).write("\t\t\t\tb = Introspector.getBeanInfo(c);"); var6.newLine(); ((Writer)var6).write("\t\t\t\tv.addElement(b);"); var6.newLine(); ((Writer)var6).write("\t\t\t\tc = c.getSuperclass();"); var6.newLine(); ((Writer)var6).write("\t\t\t}"); var6.newLine(); ((Writer)var6).write("\t\t\trv = new BeanInfo[v.size()];"); var6.newLine(); ((Writer)var6).write("\t\t\tv.copyInto(rv);"); var6.newLine(); var6.newLine(); ((Writer)var6).write("\t\t\treturn rv;"); var6.newLine(); ((Writer)var6).write("\t\t}"); var6.newLine(); ((Writer)var6).write("\t\tcatch (IntrospectionException e) { throw new Error(e.toString());}"); var6.newLine(); ((Writer)var6).write("\t}"); var6.newLine(); var6.newLine(); ((Writer)var6).write("\tpublic BeanDescriptor getBeanDescriptor() {"); var6.newLine(); ((Writer)var6).write("\t\tSymantecBeanDescriptor bd = new SymantecBeanDescriptor(beanClass);"); var6.newLine(); if (var4.getBaseclass() != null && var4.getBaseclass().equals("java.awt.Component")) { ((Writer)var6).write("\t\tbd.setCanAddChild(false);"); var6.newLine(); } if (var4.getFlags() != null) { ((Writer)var6).write("\t\tbd.setFlags(\"" + var4.getFlags() + "\");"); var6.newLine(); } if (var4.getFolder() != null) { ((Writer)var6).write("\t\tbd.setFolder(\"" + var4.getFolder() + "\");"); var6.newLine(); } if (var4.getToolbar() != null) { ((Writer)var6).write("\t\tbd.setToolbar(\"" + var4.getToolbar() + "\");"); var6.newLine(); } if (var4.getWinhelp() != null) { ((Writer)var6).write("\t\tbd.setWinHelp(\"" + var4.getWinhelp().help_id); if (var4.getWinhelp().help_file == null) { ((Writer)var6).write("\");"); var6.newLine(); } else { ((Writer)var6).write(", " + var4.getWinhelp().help_file + "\");"); var6.newLine(); } } if (var4.getConnections() != null && var4.getConnections().containsKey("none")) { Vector var20 = (Vector)var4.getConnections().get("none"); var6.newLine(); for(int var11 = 0; var11 < var20.size(); ++var11) { ((Writer)var6).write("\t\tbd.addConnectionDescriptor(new ConnectionDescriptor("); ((Writer)var6).write("\"" + ((CConnection)var20.elementAt(var11)).form + "\", "); ((Writer)var6).write("\"" + ((CConnection)var20.elementAt(var11)).type + "\", "); ((Writer)var6).write("\"" + ((CConnection)var20.elementAt(var11)).init + "\","); var6.newLine(); ((Writer)var6).write("\t\t\t\t\t\t\t\t\t\t\t\t\"" + ((CConnection)var20.elementAt(var11)).expr + "\","); var6.newLine(); ((Writer)var6).write("\t\t\t\t\t\t\t\t\t\t\t\t\"" + ((CConnection)var20.elementAt(var11)).description + "\"));"); var6.newLine(); var6.newLine(); } var4.getConnections().remove("none"); } var6.newLine(); ((Writer)var6).write("\t\treturn (BeanDescriptor) bd;"); var6.newLine(); ((Writer)var6).write("\t}"); var6.newLine(); if (System.getProperty("os.name").startsWith("Windows")) { if (var4.getSmallicon() != null) { int var21 = var4.getSmallicon().a.lastIndexOf(92); String var26 = var4.getSmallicon().a.substring(var21 + 1); if (var4.getSmallicon().a.endsWith(".ico")) { this.iconConverter = new IconFileToGifConverter(); var8 = this.iconConverter.icoToGif(var26, var1, var7); if (var8) { var6.newLine(); ((Writer)var6).write("\tpublic java.awt.Image getIcon(int iconKind) {"); var6.newLine(); ((Writer)var6).write("\t\tif (iconKind == BeanInfo.ICON_MONO_16x16 ||"); var6.newLine(); ((Writer)var6).write("\t\t\ticonKind == BeanInfo.ICON_COLOR_16x16) {"); var6.newLine(); ((Writer)var6).write("\t\t\tjava.awt.Image img = loadImage(\"" + var4.getAbbreviatedClass() + "C16.gif\");"); var6.newLine(); ((Writer)var6).write("\t\t\treturn img;"); var6.newLine(); ((Writer)var6).write("\t\t}"); var6.newLine(); var6.newLine(); ((Writer)var6).write("\t\tif (iconKind == BeanInfo.ICON_MONO_32x32 ||"); var6.newLine(); ((Writer)var6).write("\t\t\ticonKind == BeanInfo.ICON_COLOR_32x32) {"); var6.newLine(); ((Writer)var6).write("\t\t\tjava.awt.Image img = loadImage(\"" + var4.getAbbreviatedClass() + "C32.gif\");"); var6.newLine(); ((Writer)var6).write("\t\t\treturn img;"); var6.newLine(); ((Writer)var6).write("\t\t}"); var6.newLine(); var6.newLine(); ((Writer)var6).write("\t\treturn null;"); var6.newLine(); ((Writer)var6).write("\t}"); var6.newLine(); } else { System.out.println("Unable to convert " + var26 + " to a GIF file."); var6.newLine(); ((Writer)var6).write("/********************************************************"); var6.newLine(); ((Writer)var6).write(" *"); var6.newLine(); ((Writer)var6).write(" * WE WERE UNABLE TO CONVERT YOUR COMPONENT'S ICON"); var6.newLine(); ((Writer)var6).write(" * IMAGE TO GIF FORMAT. PLEASE PROVIDE AN IMPLEMENTATION"); var6.newLine(); ((Writer)var6).write(" * OF GETICON() WITH GIF OR JPEG FORMATTED ICON IMAGES"); var6.newLine(); ((Writer)var6).write(" * FOR YOUR COMPONENT IN PLACE OF THIS COMMENT BLOCK."); var6.newLine(); ((Writer)var6).write(" *"); var6.newLine(); ((Writer)var6).write(" ********************************************************/"); var6.newLine(); } } else { var6.newLine(); ((Writer)var6).write("/****************************************************"); var6.newLine(); ((Writer)var6).write(" *"); var6.newLine(); ((Writer)var6).write(" * YOUR COMPONENT'S ICON RESOURCE IS IN A DLL."); var6.newLine(); ((Writer)var6).write(" * PLEASE PROVIDE AN IMPLEMENATION OF GETICON() WITH"); var6.newLine(); ((Writer)var6).write(" * GIF OR JPEG FORMATTED ICON IMAGES FOR YOUR"); var6.newLine(); ((Writer)var6).write(" * COMPONENT IN PLACE OF THIS COMMENT BLOCK."); var6.newLine(); ((Writer)var6).write(" *"); var6.newLine(); ((Writer)var6).write(" ****************************************************/"); var6.newLine(); } } } else if (var4.getIconsuite() != null) { var6.newLine(); ((Writer)var6).write("/********************************************************"); var6.newLine(); ((Writer)var6).write(" *"); var6.newLine(); ((Writer)var6).write(" * PLEASE PROVIDE AN IMPLEMENTATION OF GETICON() WITH"); var6.newLine(); ((Writer)var6).write(" * GIF OR JPEG FORMATTED ICON IMAGES FOR YOUR COMPONENT"); var6.newLine(); ((Writer)var6).write(" * IN PLACE OF THIS COMMENT BLOCK."); var6.newLine(); ((Writer)var6).write(" *"); var6.newLine(); ((Writer)var6).write(" ********************************************************/"); var6.newLine(); } if (var4.getConnections() != null && !var4.getConnections().isEmpty()) { var6.newLine(); ((Writer)var6).write("\tpublic MethodDescriptor[] getMethodDescriptors() {"); var6.newLine(); ((Writer)var6).write("\t\tClass[] args;"); var6.newLine(); ((Writer)var6).write("\t\tConnectionDescriptor connection;"); var6.newLine(); ((Writer)var6).write("\t\tjava.util.Vector connections;"); var6.newLine(); ((Writer)var6).write("\t\tjava.util.Vector md = new java.util.Vector();"); var6.newLine(); var6.newLine(); Vector var22 = new Vector(); Enumeration var12 = var4.getConnections().elements(); do { Vector var27 = (Vector)var12.nextElement(); String var13 = ((CConnection)var27.firstElement()).method; var22.addElement(var13); String var14 = ((CConnection)var27.firstElement()).arg; ((Writer)var6).write("\t\ttry{"); var6.newLine(); if (var14.equalsIgnoreCase("void")) { ((Writer)var6).write("\t\t\targs = null;"); } else { int var15; if ((var15 = var14.indexOf(44)) == -1) { ((Writer)var6).write("\t\t\targs = new Class[1];"); var6.newLine(); ((Writer)var6).write("\t\t\targs[0] = " + this.argToClass(var14, var13, var4.getComponentClass()) + " ;"); } else { ((Writer)var6).write("\t\t\targs = new Class[2];"); var6.newLine(); ((Writer)var6).write("\t\t\targs[0] = " + this.argToClass(var14.substring(0, var15), var13, var4.getComponentClass()) + " ;"); var6.newLine(); ((Writer)var6).write("\t\t\targs[1] = " + this.argToClass(var14.substring(var15 + 1), var13, var4.getComponentClass()) + " ;"); } } var6.newLine(); ((Writer)var6).write("\t\t\tMethodDescriptor " + var13 + " = new MethodDescriptor("); ((Writer)var6).write("beanClass.getMethod(\"" + var13 + "\", args));"); var6.newLine(); var6.newLine(); ((Writer)var6).write("\t\t\tconnections = new java.util.Vector();"); var6.newLine(); for(int var17 = 0; var17 < var27.size(); ++var17) { CConnection var16 = (CConnection)var27.elementAt(var17); ((Writer)var6).write("\t\t\tconnection = new ConnectionDescriptor("); ((Writer)var6).write("\"" + var16.form + "\", "); ((Writer)var6).write("\"" + var16.type + "\", "); ((Writer)var6).write("\"" + var16.init + "\","); var6.newLine(); ((Writer)var6).write("\t\t\t\t\t\t\t\t\t\"" + var16.expr + "\","); var6.newLine(); ((Writer)var6).write("\t\t\t\t\t\t\t\t\t\"" + var16.description + "\");"); var6.newLine(); ((Writer)var6).write("\t\t\tconnections.addElement(connection);"); var6.newLine(); var6.newLine(); } ((Writer)var6).write("\t\t\t" + var13 + ".setValue(ConnectionDescriptor.CONNECTIONS, connections);"); var6.newLine(); ((Writer)var6).write("\t\t\tmd.addElement(" + var13 + ");"); var6.newLine(); ((Writer)var6).write("\t\t} catch (Exception e) { throw new Error(\"" + var13 + ":: \" + e.toString()); }"); var6.newLine(); var6.newLine(); } while(var12.hasMoreElements()); ((Writer)var6).write("\t\tMethodDescriptor[] rv = new MethodDescriptor[md.size()];"); var6.newLine(); ((Writer)var6).write("\t\tmd.copyInto(rv);"); var6.newLine(); var6.newLine(); ((Writer)var6).write("\t\treturn rv;"); var6.newLine(); ((Writer)var6).write("\t}"); var6.newLine(); } if (var4.getProperty() != null || var4.getDefproperty() != null) { var6.newLine(); ((Writer)var6).write("\tpublic PropertyDescriptor[] getPropertyDescriptors() {"); var6.newLine(); ((Writer)var6).write("\t\ttry{"); var6.newLine(); if (var4.getDefproperty() != null) { ((Writer)var6).write("\t\tPropertyDescriptor defProperty = new PropertyDescriptor(\""); ((Writer)var6).write(var4.getDefproperty().getPropertyName() + "\", beanClass);"); var6.newLine(); ((Writer)var6).write("\t\tdefProperty.setBound(true);"); var6.newLine(); if (var4.getDefproperty().constrained) { ((Writer)var6).write("\t\tdefProperty.setConstrained(true);"); var6.newLine(); } else { ((Writer)var6).write("\t\tdefProperty.setConstrained(false);"); var6.newLine(); } ((Writer)var6).write("\t\tdefProperty.setDisplayName(\"" + var4.getDefproperty().description + "\");"); if (var4.getDefproperty().xtra_info != null) { var6.newLine(); if (!var4.getDefproperty().type.equalsIgnoreCase("URL") && !var4.getDefproperty().type.equalsIgnoreCase("URL[]")) { if (var4.getDefproperty().type.equalsIgnoreCase("Enum")) { ((Writer)var6).write("\t\tdefProperty.setValue(\"ENUMERATION\", \"" + var4.getDefproperty().xtra_info + "\");"); } } else { ((Writer)var6).write("\t\tdefProperty.setValue(\"URLFILTER\", \"" + var4.getDefproperty().xtra_info + "\");"); } } var6.newLine(); var6.newLine(); } if (var4.getProperty() != null) { for(int var23 = 0; var23 < var4.getProperty().size(); ++var23) { ((Writer)var6).write("\t\tPropertyDescriptor "); ((Writer)var6).write(((CProperty)var4.getProperty().elementAt(var23)).getPropertyName() + " = new PropertyDescriptor(\""); ((Writer)var6).write(((CProperty)var4.getProperty().elementAt(var23)).getPropertyName() + "\", beanClass);"); var6.newLine(); ((Writer)var6).write("\t\t" + ((CProperty)var4.getProperty().elementAt(var23)).getPropertyName() + ".setBound(true);"); var6.newLine(); if (((CProperty)var4.getProperty().elementAt(var23)).constrained) { ((Writer)var6).write("\t\t" + ((CProperty)var4.getProperty().elementAt(var23)).getPropertyName() + ".setConstrained(true);"); var6.newLine(); } else { ((Writer)var6).write("\t\t" + ((CProperty)var4.getProperty().elementAt(var23)).getPropertyName() + ".setConstrained(false);"); var6.newLine(); } ((Writer)var6).write("\t\t" + ((CProperty)var4.getProperty().elementAt(var23)).getPropertyName()); ((Writer)var6).write(".setDisplayName(\"" + ((CProperty)var4.getProperty().elementAt(var23)).description + "\");"); if (((CProperty)var4.getProperty().elementAt(var23)).xtra_info != null) { var6.newLine(); if (!((CProperty)var4.getProperty().elementAt(var23)).type.equalsIgnoreCase("URL") && !((CProperty)var4.getProperty().elementAt(var23)).type.equalsIgnoreCase("URL[]")) { if (((CProperty)var4.getProperty().elementAt(var23)).type.equalsIgnoreCase("Enum")) { ((Writer)var6).write("\t\t" + ((CProperty)var4.getProperty().elementAt(var23)).getPropertyName()); ((Writer)var6).write(".setValue(\"ENUMERATION\", \"" + ((CProperty)var4.getProperty().elementAt(var23)).xtra_info + "\");"); } } else { ((Writer)var6).write("\t\t" + ((CProperty)var4.getProperty().elementAt(var23)).getPropertyName()); ((Writer)var6).write(".setValue(\"URLFILTER\", \"" + ((CProperty)var4.getProperty().elementAt(var23)).xtra_info + "\");"); } } var6.newLine(); var6.newLine(); } } ((Writer)var6).write("\t\tPropertyDescriptor[] rv = {"); var6.newLine(); if (var4.getDefproperty() != null && var4.getProperty() == null) { ((Writer)var6).write("\t\t\tdefProperty};"); var6.newLine(); } else if (var4.getDefproperty() != null && var4.getProperty() != null) { ((Writer)var6).write("\t\t\tdefProperty,"); var6.newLine(); for(int var25 = 0; var25 < var4.getProperty().size() - 1; ++var25) { ((Writer)var6).write("\t\t\t" + ((CProperty)var4.getProperty().elementAt(var25)).getPropertyName() + ","); var6.newLine(); } ((Writer)var6).write("\t\t\t" + ((CProperty)var4.getProperty().lastElement()).getPropertyName()); ((Writer)var6).write("};"); var6.newLine(); } else { for(int var24 = 0; var24 < var4.getProperty().size() - 1; ++var24) { ((Writer)var6).write("\t\t\t" + ((CProperty)var4.getProperty().elementAt(var24)).getPropertyName() + ","); var6.newLine(); } ((Writer)var6).write("\t\t\t" + ((CProperty)var4.getProperty().lastElement()).getPropertyName()); ((Writer)var6).write("};"); var6.newLine(); } ((Writer)var6).write("\t\treturn rv;"); var6.newLine(); ((Writer)var6).write("\t\t} catch (IntrospectionException e) { throw new Error(e.toString()); }"); var6.newLine(); ((Writer)var6).write("\t}"); var6.newLine(); } if (var4.getDefproperty() != null) { var6.newLine(); ((Writer)var6).write("\tpublic int getDefaultPropertyIndex() {"); var6.newLine(); ((Writer)var6).write("\t\treturn 0;\t// the index for our default property is always 0"); var6.newLine(); ((Writer)var6).write("\t}"); var6.newLine(); } var6.newLine(); ((Writer)var6).write("\tprivate final static Class beanClass = "); ((Writer)var6).write(var4.getAbbreviatedClass() + ".class;"); var6.newLine(); var6.newLine(); ((Writer)var6).write("\t}\t// end of class " + var4.getAbbreviatedClass()); ((Writer)var6).write("BeanInfo"); var6.close(); } } private String argToClass(String var1, String var2, String var3) { if (var1.equals("boolean")) { return "java.lang.Boolean.TYPE"; } else if (var1.equals("char")) { return "java.lang.Character.TYPE"; } else if (var1.equals("byte")) { return "java.lang.Byte.TYPE"; } else if (var1.equals("short")) { return "java.lang.Short.TYPE"; } else if (var1.equals("int")) { return "java.lang.Integer.TYPE"; } else if (var1.equals("long")) { return "java.lang.Long.TYPE"; } else if (var1.equals("float")) { return "java.lang.Float.TYPE"; } else if (var1.equals("double")) { return "java.lang.Double.TYPE"; } else if (var1.equals("void")) { return "java.lang.Void.TYPE"; } else if (var1.equals("String")) { return "java.lang.String.class"; } else if (var1.equals("String[]")) { return "java.lang.String[].class"; } else if (var1.equals("URL")) { return "java.net.URL.class"; } else if (var1.equals("URL[]")) { return "java.net.URL[].class"; } else if (var1.equals("Color")) { return "java.awt.Color.class"; } else if (var1.equals("Font")) { return "java.awt.Font.class"; } else if (var1.equals("Image")) { return "java.awt.Image.class"; } else { System.out.println("argToClass:: " + var1 + " not supported as arg type (" + var2 + " in " + var3 + ")"); return null; } } }