home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VCafe / debug / databind.jar / javax / awt / swing / tree / DefaultMutableTreeNode$BreadthFirstEnumeration.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-03-19  |  2.2 KB  |  39 lines

  1. package javax.awt.swing.tree;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Vector;
  5.  
  6. final class DefaultMutableTreeNode$BreadthFirstEnumeration implements Enumeration {
  7.    // $FF: synthetic field
  8.    private final DefaultMutableTreeNode this$0;
  9.    protected DefaultMutableTreeNode.BreadthFirstEnumeration.Queue queue;
  10.  
  11.    public DefaultMutableTreeNode$BreadthFirstEnumeration(DefaultMutableTreeNode this$0, TreeNode rootNode) {
  12.       this.this$0 = this$0;
  13.       this.this$0 = this$0;
  14.       Vector v = new Vector(1);
  15.       v.addElement(rootNode);
  16.       this.queue = new DefaultMutableTreeNode.BreadthFirstEnumeration.Queue(this);
  17.       this.queue.enqueue(v.elements());
  18.    }
  19.  
  20.    public boolean hasMoreElements() {
  21.       return !this.queue.isEmpty() && ((Enumeration)this.queue.firstObject()).hasMoreElements();
  22.    }
  23.  
  24.    public Object nextElement() {
  25.       Enumeration enumer = (Enumeration)this.queue.firstObject();
  26.       TreeNode node = (TreeNode)enumer.nextElement();
  27.       Enumeration children = node.children();
  28.       if (!enumer.hasMoreElements()) {
  29.          this.queue.dequeue();
  30.       }
  31.  
  32.       if (children.hasMoreElements()) {
  33.          this.queue.enqueue(children);
  34.       }
  35.  
  36.       return node;
  37.    }
  38. }
  39.