home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 1998 October
/
PCWorld_1998-10_cd.bin
/
software
/
prehled
/
inprise
/
JSAMPLES.Z
/
BasicOrderedTreeContainer.java
< prev
next >
Wrap
Text File
|
1998-05-08
|
2KB
|
57 lines
/*
* Copyright (c) 1997-1998 Borland International, Inc. All Rights Reserved.
*
* This SOURCE CODE FILE, which has been provided by Borland as part
* of a Borland product for use ONLY by licensed users of the product,
* includes CONFIDENTIAL and PROPRIETARY information of Borland.
*
* USE OF THIS SOFTWARE IS GOVERNED BY THE TERMS AND CONDITIONS
* OF THE LICENSE STATEMENT AND LIMITED WARRANTY FURNISHED WITH
* THE PRODUCT.
*
* IN PARTICULAR, YOU WILL INDEMNIFY AND HOLD BORLAND, ITS RELATED
* COMPANIES AND ITS SUPPLIERS, HARMLESS FROM AND AGAINST ANY CLAIMS
* OR LIABILITIES ARISING OUT OF THE USE, REPRODUCTION, OR DISTRIBUTION
* OF YOUR PROGRAMS, INCLUDING ANY CLAIMS OR LIABILITIES ARISING OUT OF
* OR RESULTING FROM THE USE, MODIFICATION, OR DISTRIBUTION OF PROGRAMS
* OR FILES CREATED FROM, BASED ON, AND/OR DERIVED FROM THIS SOURCE
* CODE FILE.
*/
package borland.samples.intl.beans;
import borland.jbcl.model.*;
import borland.jbcl.util.*;
/**
* Extends BasicTreeContainer with a method for adding child nodes
* to the tree in collated order.
*/
public class BasicOrderedTreeContainer extends BasicTreeContainer {
public BasicOrderedTreeContainer() {
}
public BasicOrderedTreeContainer(Object root) {
super(root);
}
public GraphLocation addOrderedChild(GraphLocation gl, Object data, BinaryComparator binaryComparator) {
int compareResult;
LinkedTreeNode compareTreeNode = ((LinkedTreeNode) gl).getFirstChild();
while (compareTreeNode != null) {
compareResult = binaryComparator.compare(data, get(compareTreeNode));
if (compareResult < 0) {
return super.addChild(gl, compareTreeNode, data);
}
if (compareResult == 0) {
return compareTreeNode;
}
compareTreeNode = compareTreeNode.getNextSibling();
}
return super.addChild(gl, data);
}
}