/** * Use this if there is more than one object type (eg Tables and Paragraphs) * you are interested in doing something with during the traversal. * * This method is for traversing an arbitrary WML object (eg a table), as opposed to * eg the main document part, or a header. * * @param parent * @param visitorList */ public static void visit(Object parent, List<TraversalUtilVisitor> visitorList) { CompoundTraversalUtilVisitorCallback callback = null; if ((visitorList != null) && (!visitorList.isEmpty())) { if (visitorList.size() > 1) { visit(parent, new CompoundTraversalUtilVisitorCallback( visitorList)); } else { visit(parent, visitorList.get(0)); } } }
protected Map<Class, List<TraversalUtilVisitor>> setupTraversalVistorMap( List<TraversalUtilVisitor> visitorList) { Map<Class, List<TraversalUtilVisitor>> ret = new HashMap<Class, List<TraversalUtilVisitor>>(); Class visitorClass = null; List<TraversalUtilVisitor> classVisitorList = null; for (TraversalUtilVisitor visitor : visitorList) { visitorClass = findClassParameter(visitor.getClass()); if (visitorClass == null) { throw new IllegalArgumentException( "Can't identify the parameter class of the visitor " + visitor.getClass().getName()); } classVisitorList = ret.get(visitorClass); if (classVisitorList == null) { classVisitorList = new LinkedList<TraversalUtilVisitor>(); ret.put(visitorClass, classVisitorList); } classVisitorList.add(visitor); } return ret; }
public CompoundTraversalUtilVisitorCallback( List<TraversalUtilVisitor> visitorList) { visitorMap = setupTraversalVistorMap(visitorList); }
visitors.add(new VisitorRemoveTableFormatting(sdp, allowedStyleNames)); CompoundTraversalUtilVisitorCallback compound = new CompoundTraversalUtilVisitorCallback(visitors); compound.walkJAXBElements(((ContentAccessor)p).getContent());
visitors.add(new VisitorRemoveTableFormatting(sdp, allowedStyleNames)); CompoundTraversalUtilVisitorCallback compound = new CompoundTraversalUtilVisitorCallback(visitors); compound.walkJAXBElements(((ContentAccessor)p).getContent());
/** * Use this if there is more than one object type (eg Tables and Paragraphs) * you are interested in doing something with during the traversal. * * This method allows you to traverse just the main document * part, or also headers/footers, footnotes/endnotes, and comments * as well. * * @param wmlPackage * @param bodyOnly * @param visitorList */ public static void visit(WordprocessingMLPackage wmlPackage, boolean bodyOnly, List<TraversalUtilVisitor> visitorList) { CompoundTraversalUtilVisitorCallback callback = null; if ((visitorList != null) && (!visitorList.isEmpty())) { if (visitorList.size() > 1) { visit(wmlPackage, bodyOnly, new CompoundTraversalUtilVisitorCallback(visitorList)); } else { visit(wmlPackage, bodyOnly, visitorList.get(0)); } } }
public CompoundTraversalUtilVisitorCallback( List<TraversalUtilVisitor> visitorList) { visitorMap = setupTraversalVistorMap(visitorList); }
protected Map<Class, List<TraversalUtilVisitor>> setupTraversalVistorMap( List<TraversalUtilVisitor> visitorList) { Map<Class, List<TraversalUtilVisitor>> ret = new HashMap<Class, List<TraversalUtilVisitor>>(); Class visitorClass = null; List<TraversalUtilVisitor> classVisitorList = null; for (TraversalUtilVisitor visitor : visitorList) { visitorClass = findClassParameter(visitor.getClass()); if (visitorClass == null) { throw new IllegalArgumentException( "Can't identify the parameter class of the visitor " + visitor.getClass().getName()); } classVisitorList = ret.get(visitorClass); if (classVisitorList == null) { classVisitorList = new LinkedList<TraversalUtilVisitor>(); ret.put(visitorClass, classVisitorList); } classVisitorList.add(visitor); } return ret; }
/** * Use this if there is more than one object type (eg Tables and Paragraphs) * you are interested in doing something with during the traversal. * * This method is for traversing an arbitrary WML object (eg a table), as opposed to * eg the main document part, or a header. * * @param parent * @param visitorList */ public static void visit(Object parent, List<TraversalUtilVisitor> visitorList) { CompoundTraversalUtilVisitorCallback callback = null; if ((visitorList != null) && (!visitorList.isEmpty())) { if (visitorList.size() > 1) { visit(parent, new CompoundTraversalUtilVisitorCallback( visitorList)); } else { visit(parent, visitorList.get(0)); } } }
/** * Use this if there is more than one object type (eg Tables and Paragraphs) * you are interested in doing something with during the traversal. * * This method allows you to traverse just the main document * part, or also headers/footers, footnotes/endnotes, and comments * as well. * * @param wmlPackage * @param bodyOnly * @param visitorList */ public static void visit(WordprocessingMLPackage wmlPackage, boolean bodyOnly, List<TraversalUtilVisitor> visitorList) { CompoundTraversalUtilVisitorCallback callback = null; if ((visitorList != null) && (!visitorList.isEmpty())) { if (visitorList.size() > 1) { visit(wmlPackage, bodyOnly, new CompoundTraversalUtilVisitorCallback(visitorList)); } else { visit(wmlPackage, bodyOnly, visitorList.get(0)); } } }