001package org.jadira.scanner.classpath.visitor; 002 003import java.util.List; 004 005import org.apache.commons.collections15.set.ListOrderedSet; 006import org.jadira.scanner.classpath.types.JAnnotation; 007import org.jadira.scanner.classpath.types.JClass; 008import org.jadira.scanner.classpath.types.JConstructor; 009import org.jadira.scanner.classpath.types.JElement; 010import org.jadira.scanner.classpath.types.JField; 011import org.jadira.scanner.classpath.types.JInnerClass; 012import org.jadira.scanner.classpath.types.JInterface; 013import org.jadira.scanner.classpath.types.JMethod; 014import org.jadira.scanner.classpath.types.JPackage; 015import org.jadira.scanner.classpath.types.JParameter; 016import org.jadira.scanner.classpath.types.JStaticInitializer; 017 018public class CollectingVisitor implements IntrospectionVisitor { 019 020 private ListOrderedSet<JElement> visitedElements = new ListOrderedSet<JElement>(); 021 022 public List<JElement> getVisitedElements() { 023 return visitedElements.asList(); 024 } 025 026 @Override 027 public void visit(JConstructor element) { 028 visitedElements.add(element); 029 } 030 031 @Override 032 public void visit(JMethod element) { 033 visitedElements.add(element); 034 } 035 036 @Override 037 public void visit(JStaticInitializer element) { 038 visitedElements.add(element); 039 } 040 041 @Override 042 public void visit(JPackage element) { 043 visitedElements.add(element); 044 } 045 046 @Override 047 public void visit(JAnnotation<?> element) { 048 visitedElements.add(element); 049 } 050 051 @Override 052 public void visit(JInnerClass element) { 053 visitedElements.add(element); 054 } 055 056 @Override 057 public void visit(JClass element) { 058 visitedElements.add(element); 059 } 060 061 @Override 062 public void visit(JInterface element) { 063 visitedElements.add(element); 064 } 065 066 @Override 067 public void visit(JField element) { 068 visitedElements.add(element); 069 } 070 071 @Override 072 public void visit(JParameter element) { 073 visitedElements.add(element); 074 } 075}