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 }