/* * The following code will use reflection to enumerate all public * methods of each IceFaces component (including all methods of parent classes) * and generate code to invoke such method. * * HOW TO USE * * Create empty IceFaces VWP project with Netbeans 6.0.1 and IceFaces 1.7 * Cut and paste the following code into Page1.java * In init method of Page1.java call add * try { enumerateMethods(); } catch (ClassNotFoundException ex) { } * * Run project * Cut and paste code that appeares in Tomcat's output window into destroy method of Page1.java * Compile */ /* * List of almost all classes under con.icesoft.faces.componenent * Edit this array to control components for which code will be generated. * You definately want to do this list in chunks as you will get more than 100 errors. */ public String[] comps = { "com.icesoft.faces.component.commandsortheader.CommandSortHeader", "com.icesoft.faces.component.datapaginator.DataPaginator", "com.icesoft.faces.component.datapaginator.PaginatorActionEvent", "com.icesoft.faces.component.dragdrop.DndEvent", "com.icesoft.faces.component.dragdrop.DragEvent", "com.icesoft.faces.component.dragdrop.DropEvent", "com.icesoft.faces.component.effect.ApplyEffect", "com.icesoft.faces.component.gmap.GMap", "com.icesoft.faces.component.gmap.GMapControl", "com.icesoft.faces.component.gmap.GMapDirection", "com.icesoft.faces.component.gmap.GMapGeoXml", "com.icesoft.faces.component.gmap.GMapLatLng", "com.icesoft.faces.component.gmap.GMapLatLngs", "com.icesoft.faces.component.gmap.GMapMarker", "com.icesoft.faces.component.inputfile.FileInfo", "com.icesoft.faces.component.inputfile.FileUploadServlet", "com.icesoft.faces.component.inputfile.InputFile", "com.icesoft.faces.component.inputrichtext.InputRichText", "com.icesoft.faces.component.menubar.IceMenuObject", "com.icesoft.faces.component.menubar.MenuBar", "com.icesoft.faces.component.menubar.MenuItem", "com.icesoft.faces.component.menubar.MenuItemBase", "com.icesoft.faces.component.menubar.MenuItemCheckbox", "com.icesoft.faces.component.menubar.MenuItemRadio", "com.icesoft.faces.component.menubar.MenuItemRendererBase", "com.icesoft.faces.component.menubar.MenuItems", "com.icesoft.faces.component.menubar.MenuItemSeparator", "com.icesoft.faces.component.menupopup.MenuPopup", "com.icesoft.faces.component.outputchart.AbstractChart", "com.icesoft.faces.component.outputchart.AxisChart", "com.icesoft.faces.component.outputchart.ChartResource", "com.icesoft.faces.component.outputchart.OutputChart", "com.icesoft.faces.component.outputchart.PieChart", "com.icesoft.faces.component.outputconnectionstatus.OutputConnectionStatus", "com.icesoft.faces.component.outputdeclaration.OutputDeclaration", "com.icesoft.faces.component.outputmedia.OutputMedia", "com.icesoft.faces.component.outputprogress.OutputProgress", "com.icesoft.faces.component.panelborder.PanelBorder", "com.icesoft.faces.component.panelcollapsible.PanelCollapsible", "com.icesoft.faces.component.paneldivider.PanelDivider", "com.icesoft.faces.component.panellayout.PanelLayout", "com.icesoft.faces.component.panelpopup.PanelPopup", "com.icesoft.faces.component.panelpositioned.PanelPositioned", "com.icesoft.faces.component.panelpositioned.PanelPositionedColumn", "com.icesoft.faces.component.panelpositioned.PanelPositionedEvent", "com.icesoft.faces.component.panelpositioned.PanelPositionedModel", "com.icesoft.faces.component.panelpositioned.PanelPositionedValue", "com.icesoft.faces.component.panelseries.PanelSeries", "com.icesoft.faces.component.panelseries.UISeries", "com.icesoft.faces.component.panelstack.PanelStack", "com.icesoft.faces.component.paneltabset.PanelTab", "com.icesoft.faces.component.paneltabset.PanelTabSet", "com.icesoft.faces.component.paneltabset.TabChangeEvent", "com.icesoft.faces.component.paneltooltip.PanelTooltip", "com.icesoft.faces.component.paneltooltip.TooltipInfo", "com.icesoft.faces.component.portlet.Portlet", "com.icesoft.faces.component.selectinputdate.SelectInputDate", "com.icesoft.faces.component.selectinputtext.SelectInputText", "com.icesoft.faces.component.selectinputtext.TextChangeEvent", "com.icesoft.faces.component.style.OutputStyle", "com.icesoft.faces.component.tree.IceUserObject", "com.icesoft.faces.component.tree.Tree", "com.icesoft.faces.component.tree.TreeDataModel", "com.icesoft.faces.component.tree.TreeNode", "com.icesoft.faces.component.ext.HtmlCheckbox", "com.icesoft.faces.component.ext.HtmlCommandButton", "com.icesoft.faces.component.ext.HtmlCommandLink", "com.icesoft.faces.component.ext.HtmlDataTable", "com.icesoft.faces.component.ext.HtmlForm", "com.icesoft.faces.component.ext.HtmlGraphicImage", "com.icesoft.faces.component.ext.HtmlInputHidden", "com.icesoft.faces.component.ext.HtmlInputSecret", "com.icesoft.faces.component.ext.HtmlInputText", "com.icesoft.faces.component.ext.HtmlInputTextarea", "com.icesoft.faces.component.ext.HtmlMessage", "com.icesoft.faces.component.ext.HtmlMessages", "com.icesoft.faces.component.ext.HtmlOutputFormat", "com.icesoft.faces.component.ext.HtmlOutputLabel", "com.icesoft.faces.component.ext.HtmlOutputLink", "com.icesoft.faces.component.ext.HtmlOutputText", "com.icesoft.faces.component.ext.HtmlPanelGrid", "com.icesoft.faces.component.ext.HtmlPanelGroup", "com.icesoft.faces.component.ext.HtmlRadio", "com.icesoft.faces.component.ext.HtmlSelectBooleanCheckbox", "com.icesoft.faces.component.ext.HtmlSelectManyCheckbox", "com.icesoft.faces.component.ext.HtmlSelectManyListbox", "com.icesoft.faces.component.ext.HtmlSelectManyMenu", "com.icesoft.faces.component.ext.HtmlSelectOneListbox", "com.icesoft.faces.component.ext.HtmlSelectOneMenu", "com.icesoft.faces.component.ext.HtmlSelectOneRadio" }; public void printPrimitiveParameter(Class cl) { if (cl == Boolean.TYPE) { System.out.print("false"); } else if (cl == Character.TYPE) { System.out.print("'\u0000'"); } else if (cl == Byte.TYPE) { System.out.print("0"); } else if (cl == Short.TYPE) { System.out.print("0"); } else if (cl == Integer.TYPE) { System.out.print("0"); } else if (cl == Long.TYPE) { System.out.print("0L"); } else if (cl == Float.TYPE) { System.out.print("0.0f"); } else if (cl == Double.TYPE) { System.out.print("0.0d"); } } public void printClassParameter(Class cl) { if (cl.isPrimitive()) { System.out.print("new " + cl.getName() + "[1]"); return; } System.out.print("null"); } public String prependPackageName(Package p) { if (p == null) { return ""; } return p.getName() + "."; } public void enumerateMethods() throws ClassNotFoundException { initExceptions(); for (int c = 0; c < comps.length; c++) { Class cl = Class.forName(comps[c]); System.out.println(cl.getName() + " _" + cl.getSimpleName() + "= new " + cl.getName() + "();"); Method[] methods = cl.getMethods(); for (int i = 0; i < methods.length; i++) { if (Modifier.isPrivate(methods[i].getModifiers()) || Modifier.isProtected(methods[i].getModifiers())) { continue; } System.out.print("_" + cl.getSimpleName() + "." + methods[i].getName() + "("); Class[] params = methods[i].getParameterTypes(); if (params.length > 0) { if (params[0].isPrimitive()) { printPrimitiveParameter(params[0]); } else { printClassParameter(params[0]); } for (int j = 1; j < params.length; j++) { System.out.print(","); if (params[j].isPrimitive()) { printPrimitiveParameter(params[j]); } else { printClassParameter(params[j]); } } } System.out.println(");"); } System.out.println("\n\n\n\n"); } } }