View Javadoc

1   package net.sourceforge.pmd.util.viewer.gui.menu;
2   
3   import net.sourceforge.pmd.ast.SimpleNode;
4   import net.sourceforge.pmd.jaxen.Attribute;
5   import net.sourceforge.pmd.jaxen.AttributeAxisIterator;
6   import net.sourceforge.pmd.util.viewer.model.AttributeToolkit;
7   import net.sourceforge.pmd.util.viewer.model.ViewerModel;
8   import net.sourceforge.pmd.util.viewer.util.NLS;
9   
10  import javax.swing.*;
11  import java.text.MessageFormat;
12  
13  
14  /***
15   * contains menu items for the predicate creation
16   *
17   * @author Boris Gruschko ( boris at gruschko.org )
18   * @version $Id: AttributesSubMenu.java,v 1.8 2005/08/23 17:17:49 tomcopeland Exp $
19   */
20  public class AttributesSubMenu
21          extends JMenu {
22      private ViewerModel model;
23      private SimpleNode node;
24  
25      public AttributesSubMenu(ViewerModel model, SimpleNode node) {
26          super(MessageFormat.format(NLS.nls("AST.MENU.ATTRIBUTES"), new Object[]{node.toString()}));
27  
28          this.model = model;
29          this.node = node;
30  
31          init();
32      }
33  
34      private void init() {
35          AttributeAxisIterator i = new AttributeAxisIterator(node);
36  
37          while (i.hasNext()) {
38              Attribute attribute = (Attribute) i.next();
39  
40              add(new XPathFragmentAddingItem(attribute.getName() + " = " + attribute.getValue(), model,
41                      AttributeToolkit.constructPredicate(attribute)));
42          }
43      }
44  }