NodeVisitor.java
01 /**
02  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
03  */
04 package net.sourceforge.pmd.dcd.graph;
05 
06 /**
07  * Visitor for nodes in a UsageGraph.
08  */
09 public interface NodeVisitor {
10 
11   Object visit(UsageGraph usageGraph, Object data);
12 
13   Object visit(ClassNode classNode, Object data);
14 
15   Object visitFields(ClassNode classNode, Object data);
16 
17   Object visit(FieldNode fieldNode, Object data);
18 
19   Object visitConstructors(ClassNode classNode, Object data);
20 
21   Object visit(ConstructorNode constructorNode, Object data);
22 
23   Object visitMethods(ClassNode classNode, Object data);
24 
25   Object visit(MethodNode methodNode, Object data);
26 
27   Object visitUses(MemberNode memberNode, Object data);
28 
29   Object visitUse(MemberNode use, Object data);
30 
31   Object visitUsers(MemberNode memberNode, Object data);
32 
33   Object visitUser(MemberNode user, Object data);
34 }