1 19 20 package org.netbeans.modules.apisupport.beanbrowser; 21 22 import java.util.ArrayList ; 23 import java.util.Collections ; 24 import java.util.Enumeration ; 25 import java.util.List ; 26 import org.openide.ErrorManager; 27 import org.openide.filesystems.FileObject; 28 import org.openide.nodes.Children; 29 import org.openide.nodes.Node; 30 31 class FileAttrKids extends Children.Keys { 32 33 private FileObject fo; 34 35 public FileAttrKids(FileObject fo) { 36 this.fo = fo; 37 } 38 39 protected void addNotify() { 40 List l = new ArrayList (); 41 Enumeration e = fo.getAttributes(); 42 while (e.hasMoreElements()) { 43 Object o = e.nextElement(); 44 if (o instanceof String ) { 45 l.add(o); 46 } else { 47 ErrorManager.getDefault().notify(ErrorManager.WARNING, new IllegalStateException ("Strange key " + o + " from " + fo)); } 49 } 50 Collections.sort(l); 51 setKeys(l); 52 } 53 54 protected void removeNotify() { 55 setKeys(Collections.EMPTY_SET); 56 } 57 58 protected Node[] createNodes(Object k) { 59 String key = (String ) k; 60 Node n = PropSetKids.makeObjectNode(fo.getAttribute(key)); 61 n.setDisplayName(key + " = " + n.getDisplayName()); 62 return new Node[] { n }; 63 } 64 65 } 66 | Popular Tags |