/** * Utility method to dump a single component/page to standard output * @param c * @param dumpClass * @param dumpValue */ public static void print(Component c, boolean dumpClass, boolean dumpValue, boolean dumpPath) { WicketHierarchyPrinter printer = new WicketHierarchyPrinter(); printer.setPathDumpEnabled(dumpClass); printer.setClassDumpEnabled(dumpClass); printer.setValueDumpEnabled(dumpValue); if(c instanceof Page) { printer.print((Page) c); } else { printer.print(c); } }
/** * Prints the component containment hierarchy * * @param c */ public void print(Component c) { walkHierarchy(c, 0); }
/** Walks down the containment hierarchy depth first and prints each component found */ private void walkHierarchy(Component c, int level) { printComponent(c, level); if (c instanceof MarkupContainer) { MarkupContainer mc = (MarkupContainer) c; for (Iterator<?> it = mc.iterator(); it.hasNext(); ) { walkHierarchy((Component) it.next(), level + 1); } } }
/** * Utility method to dump a single component/page to standard output * * @param c * @param dumpClass * @param dumpValue */ public static void print(Component c, boolean dumpClass, boolean dumpValue) { print(c, dumpClass, dumpValue, false); }
/** Prints a single component */ private void printComponent(Component c, int level) { if (c instanceof Page) out.print(tab(level) + "PAGE_ROOT"); else out.print(tab(level) + c.getId()); if (pathDumpEnabled) { out.print(" " + c.getPageRelativePath()); } if (classDumpEnabled) { String className; if (c.getClass().isAnonymousClass()) { className = c.getClass().getSuperclass().getName(); } else { className = c.getClass().getName(); } out.print("(" + className + ")"); } if (valueDumpEnabled) { try { String value = NEWLINE.matcher(c.getDefaultModelObjectAsString()).replaceAll("\\\\n"); out.print(" '" + value + "'"); } catch (Exception e) { out.print(" 'ERROR_RETRIEVING_MODEL " + e.getMessage() + "'"); } } out.println(); }
/** * Walks down the containment hierarchy depth first and prints each component found */ private void walkHierarchy(Component c, int level) { printComponent(c, level); if (c instanceof MarkupContainer) { MarkupContainer mc = (MarkupContainer) c; for (Iterator it = mc.iterator(); it.hasNext();) { walkHierarchy((Component) it.next(), level + 1); } } }
/** * Utility method to dump a single component/page to standard output * @param c * @param dumpClass * @param dumpValue */ public static void print(Component c, boolean dumpClass, boolean dumpValue) { print(c, dumpClass, dumpValue, false); }
/** * Utility method to dump a single component/page to standard output * * @param c * @param dumpClass * @param dumpValue */ public static void print(Component c, boolean dumpClass, boolean dumpValue, boolean dumpPath) { WicketHierarchyPrinter printer = new WicketHierarchyPrinter(); printer.setPathDumpEnabled(dumpClass); printer.setClassDumpEnabled(dumpClass); printer.setValueDumpEnabled(dumpValue); if (c instanceof Page) { printer.print((Page) c); } else { printer.print(c); } }
/** * Prints the component containment hierarchy * * @param c */ public void print(Component c) { walkHierarchy(c, 0); }