home *** CD-ROM | disk | FTP | other *** search
/ BUG 15 / BUGCD1998_06.ISO / aplic / jbuilder / jsamples.z / BasicOrderedTreeContainer.java < prev    next >
Encoding:
Java Source  |  1997-07-30  |  1011 b   |  38 lines

  1. package borland.samples.intl.beans;
  2.  
  3. import borland.jbcl.model.*;
  4. import borland.jbcl.util.*;
  5.  
  6. /**
  7.  * Extends BasicTreeContainer with a method for adding child nodes
  8.  * to the tree in collated order.
  9.  */
  10. public class BasicOrderedTreeContainer extends BasicTreeContainer {
  11.  
  12.   public BasicOrderedTreeContainer() {
  13.   }
  14.  
  15.   public BasicOrderedTreeContainer(Object root) {
  16.     super(root);
  17.   }
  18.  
  19.   public GraphLocation addOrderedChild(GraphLocation gl, Object data, BinaryComparator binaryComparator) {
  20.     int compareResult;
  21.  
  22.     LinkedTreeNode compareTreeNode = ((LinkedTreeNode) gl).getFirstChild();
  23.     while (compareTreeNode != null) {
  24.       compareResult = binaryComparator.compare(data, get(compareTreeNode));
  25.       if (compareResult < 0) {
  26.     return super.addChild(gl, compareTreeNode, data);
  27.       }
  28.       if (compareResult == 0) {
  29.     return compareTreeNode;
  30.       }
  31.       compareTreeNode = compareTreeNode.getNextSibling();
  32.     }
  33.     return super.addChild(gl, data);
  34.   }
  35.  
  36. }
  37.  
  38.