home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / tree / DefaultMutableTreeNode$PreorderEnumeration.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  1.8 KB  |  40 lines

  1. package com.sun.java.swing.tree;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Stack;
  5. import java.util.Vector;
  6.  
  7. final class DefaultMutableTreeNode$PreorderEnumeration implements Enumeration {
  8.    // $FF: synthetic field
  9.    private final DefaultMutableTreeNode this$0;
  10.    protected Stack stack;
  11.  
  12.    public DefaultMutableTreeNode$PreorderEnumeration(DefaultMutableTreeNode var1, TreeNode var2) {
  13.       this.this$0 = var1;
  14.       this.this$0 = var1;
  15.       Vector var3 = new Vector(1);
  16.       var3.addElement(var2);
  17.       this.stack = new Stack();
  18.       this.stack.push(var3.elements());
  19.    }
  20.  
  21.    public boolean hasMoreElements() {
  22.       return !this.stack.empty() && ((Enumeration)this.stack.peek()).hasMoreElements();
  23.    }
  24.  
  25.    public Object nextElement() {
  26.       Enumeration var1 = (Enumeration)this.stack.peek();
  27.       TreeNode var2 = (TreeNode)var1.nextElement();
  28.       Enumeration var3 = var2.children();
  29.       if (!var1.hasMoreElements()) {
  30.          this.stack.pop();
  31.       }
  32.  
  33.       if (var3.hasMoreElements()) {
  34.          this.stack.push(var3);
  35.       }
  36.  
  37.       return var2;
  38.    }
  39. }
  40.