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