package org.jbehave.eclipse.cache; import org.eclipse.jdt.core.IClassFile; import org.eclipse.jdt.core.ICompilationUnit; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IMethod; import org.eclipse.jdt.core.IPackageFragment; import org.eclipse.jdt.core.IPackageFragmentRoot; import org.eclipse.jdt.core.IType; public class JavaVisitorDump<T> extends JavaVisitorAdapter<T> { private final boolean dump; public JavaVisitorDump() { this(true); } public JavaVisitorDump(boolean dump) { this.dump = dump; } public boolean visit(IPackageFragmentRoot packageFragmentRoot, T arg) { if(dump) { System.out.println("JavaScanner.Visitor.visit(packageFragmentRoot...:" + packageFragmentRoot.getElementName() + ")"); } return true; } public boolean visit(IPackageFragment packageFragment, T arg) { if(dump) System.out.println("JavaScanner.Visitor.visit(packageFragment.......:" + packageFragment.getElementName() + ")"); return true; } public boolean traverseCompilationUnit(IPackageFragment packageFragment, T arg) { return false; } public boolean traverseClassFile(IPackageFragment packageFragment, T arg) { return false; } public boolean visit(ICompilationUnit compilationUnit, T arg) { if(dump) System.out.println("JavaScanner.Visitor.visit(compilationUnit.......:" + compilationUnit.getElementName() + ")"); return true; } public boolean visit(IClassFile classFile, T arg) { if(dump) System.out.println("JavaScanner.Visitor.visit(classFile.............:" + classFile.getElementName() + ")"); return true; } public boolean visit(IType type, T arg) { if(dump) System.out.println("JavaScanner.Visitor.visit(type..................:" + type.getElementName() + ")"); return true; } public boolean visit(IMethod method, T arg) { if(dump) System.out.println("JavaScanner.Visitor.visit(method................:" + method.getElementName() + ")"); return true; } public boolean visit(IJavaElement element, T arg) { if(dump) System.out.println("JavaScanner.Visitor.visit(element...............:" + element.getElementName() + "): " + element.getClass()); return true; } }