home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / Extras / OSpace / jgl.exe / jgl_2_0 / COM / objectspace / jgl / OrderedSetIterator.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-03-12  |  2.4 KB  |  155 lines

  1. package COM.objectspace.jgl;
  2.  
  3. public final class OrderedSetIterator implements BidirectionalIterator {
  4.    OrderedSet myOrderedSet;
  5.    Tree myTree;
  6.    Tree.TreeNode myNode;
  7.  
  8.    public OrderedSetIterator() {
  9.    }
  10.  
  11.    public OrderedSetIterator(OrderedSetIterator var1) {
  12.       this.myOrderedSet = var1.myOrderedSet;
  13.       this.myTree = var1.myTree;
  14.       this.myNode = var1.myNode;
  15.    }
  16.  
  17.    OrderedSetIterator(Tree var1, Tree.TreeNode var2, OrderedSet var3) {
  18.       this.myOrderedSet = var3;
  19.       this.myTree = var1;
  20.       this.myNode = var2;
  21.    }
  22.  
  23.    public Object clone() {
  24.       return new OrderedSetIterator(this);
  25.    }
  26.  
  27.    public boolean equals(Object var1) {
  28.       if (var1 instanceof OrderedSetIterator) {
  29.          OrderedSetIterator var2 = (OrderedSetIterator)var1;
  30.          if (this.myNode == var2.myNode || false) {
  31.             return true;
  32.          }
  33.       }
  34.  
  35.       return false;
  36.    }
  37.  
  38.    public boolean equals(OrderedSetIterator var1) {
  39.       return this.myNode == var1.myNode;
  40.    }
  41.  
  42.    public boolean atBegin() {
  43.       return this.myNode == this.myTree.myHeader.left;
  44.    }
  45.  
  46.    public boolean atEnd() {
  47.       return this.myNode == this.myTree.myHeader;
  48.    }
  49.  
  50.    public boolean hasMoreElements() {
  51.       return this.myNode != this.myTree.myHeader;
  52.    }
  53.  
  54.    public void advance() {
  55.       this.myNode = Tree.increment(this.myNode, this.myTree.NIL);
  56.    }
  57.  
  58.    public void advance(int var1) {
  59.       if (var1 >= 0) {
  60.          while(var1-- > 0) {
  61.             this.myNode = Tree.increment(this.myNode, this.myTree.NIL);
  62.          }
  63.  
  64.       } else {
  65.          while(var1++ < 0) {
  66.             this.myNode = Tree.decrement(this.myNode, this.myTree.NIL);
  67.          }
  68.  
  69.       }
  70.    }
  71.  
  72.    public void retreat() {
  73.       this.myNode = Tree.decrement(this.myNode, this.myTree.NIL);
  74.    }
  75.  
  76.    public void retreat(int var1) {
  77.       int var2 = -var1;
  78.       if (var2 >= 0) {
  79.          while(var2-- > 0) {
  80.             this.myNode = Tree.increment(this.myNode, this.myTree.NIL);
  81.          }
  82.  
  83.       } else {
  84.          while(var2++ < 0) {
  85.             this.myNode = Tree.decrement(this.myNode, this.myTree.NIL);
  86.          }
  87.  
  88.       }
  89.    }
  90.  
  91.    public Object nextElement() {
  92.       Object var1 = this.myNode.object;
  93.       this.myNode = Tree.increment(this.myNode, this.myTree.NIL);
  94.       return var1;
  95.    }
  96.  
  97.    public Object get() {
  98.       return this.myNode.object;
  99.    }
  100.  
  101.    public void put(Object var1) {
  102.       this.myNode.object = var1;
  103.    }
  104.  
  105.    public Object get(int var1) {
  106.       Tree.TreeNode var2 = this.myNode;
  107.       int var3 = var1;
  108.       if (var1 >= 0) {
  109.          while(var3-- > 0) {
  110.             this.myNode = Tree.increment(this.myNode, this.myTree.NIL);
  111.          }
  112.       } else {
  113.          while(var3++ < 0) {
  114.             this.myNode = Tree.decrement(this.myNode, this.myTree.NIL);
  115.          }
  116.       }
  117.  
  118.       Object var4 = this.myNode.object;
  119.       this.myNode = var2;
  120.       return var4;
  121.    }
  122.  
  123.    public void put(int var1, Object var2) {
  124.       Tree.TreeNode var3 = this.myNode;
  125.       int var4 = var1;
  126.       if (var1 >= 0) {
  127.          while(var4-- > 0) {
  128.             this.myNode = Tree.increment(this.myNode, this.myTree.NIL);
  129.          }
  130.       } else {
  131.          while(var4++ < 0) {
  132.             this.myNode = Tree.decrement(this.myNode, this.myTree.NIL);
  133.          }
  134.       }
  135.  
  136.       this.myNode.object = var2;
  137.       this.myNode = var3;
  138.    }
  139.  
  140.    public int distance(ForwardIterator var1) {
  141.       Tree.TreeNode var2 = ((OrderedSetIterator)var1).myNode;
  142.  
  143.       int var3;
  144.       for(var3 = 0; var2 != this.myNode; var2 = Tree.decrement(var2, this.myTree.NIL)) {
  145.          ++var3;
  146.       }
  147.  
  148.       return var3;
  149.    }
  150.  
  151.    public Container getContainer() {
  152.       return this.myOrderedSet;
  153.    }
  154. }
  155.