Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 3rd, 2012  |  syntax: None  |  size: 0.76 KB  |  hits: 10  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. //Option #B3: Have one single node type with a reference to ElementDescriptor, have getKind() on ElementDescriptor
  2.  
  3. interface Node {
  4.  
  5.         String getName();
  6.  
  7.         boolean isInIterable();
  8.  
  9.         Integer getIndex();
  10.  
  11.         Object getKey();
  12.  
  13.         ElementDescriptor getElementDescriptor();
  14.  
  15. }
  16.  
  17. //Iterating over a Path
  18.  
  19. Path path = ...;
  20. Iterator<Node> nodeIterator = path.iterator();
  21. while(nodeIterator.hasNext()) {
  22.         Node node = nodeIterator.next();
  23.        
  24.         if(node.getElementDescriptor().getKind() == ElementKind.METHOD) {
  25.                 MethodDescriptor = (MethodDescriptor)node.getElementDescriptor();
  26.                 //...
  27.         }
  28.  
  29.         if(node.getElementDescriptor().getKind() == ElementKind.PARAMETER) {
  30.                 ParameterDescriptor = (ParameterDescriptor)node.getElementDescriptor();
  31.                 //...
  32.         }
  33. }