source: trunk/docx4j/src/main/java/org/docx4j/utils/SingleTraversalUtilVisitorCallback.java @ 1725

Revision 1725, 942 bytes checked in by jharrop, 6 months ago (diff)

Add some comments

Line 
1package org.docx4j.utils;
2
3import java.util.List;
4
5/**
6 * Use this if there is only a single object type (eg just P's)
7 * you are interested in doing something with.
8 *
9 * @author alberto */
10public class SingleTraversalUtilVisitorCallback extends AbstractTraversalUtilVisitorCallback {
11       
12        protected TraversalUtilVisitor visitor = null;
13        protected Class visitorClass = null;
14       
15        public SingleTraversalUtilVisitorCallback(TraversalUtilVisitor visitor) {
16                this.visitor = visitor;
17                visitorClass = findClassParameter(visitor.getClass());
18                if (visitorClass == null) {
19                        throw new IllegalArgumentException("Can't identify the parameter class of the visitor " + visitor.getClass().getName());
20                }
21        }
22       
23        @Override
24        protected List<Object> apply(Object child, Object parent, List siblings) {
25                if (visitorClass.isAssignableFrom(child.getClass())) {
26                        visitor.apply(child, parent, siblings);
27                }
28                return null;
29        }
30
31}
Note: See TracBrowser for help on using the repository browser.