home *** CD-ROM | disk | FTP | other *** search
- package com.sfs.awt.treeview;
-
- import com.sfs.debug.Debug;
- import java.util.StringTokenizer;
- import java.util.Vector;
-
- public class Folder extends Item {
- public Vector Root;
- protected RootFolder Owner;
-
- public void setOpen(boolean var1) {
- if (((Item)this).isOpen() != var1) {
- super.setOpen(var1);
- if (((Item)this).isOpen()) {
- for(Folder var2 = super.Parent; var2 != null; var2 = var2.Parent) {
- if (!((Item)var2).isOpen()) {
- var2.setOpen(true);
- return;
- }
- }
- }
- }
-
- }
-
- public Item getItem(int var1) {
- return (Item)this.Root.elementAt(var1);
- }
-
- public String toString() {
- String var1 = "[" + super.Name + "] = {";
-
- for(int var2 = 0; var2 < this.Root.size(); ++var2) {
- var1 = var1 + this.Root.elementAt(var2) + ", ";
- }
-
- return var1 + "}\n";
- }
-
- protected boolean isLastElement(Item var1) {
- Debug.Info(var1.getName() + " is " + (this.Root.lastElement() == var1 ? "last" : "not last") + " element of " + ((Item)this).getName());
- return this.Root.lastElement() == var1;
- }
-
- protected synchronized void add(Item var1) throws TreeViewException {
- for(int var2 = 0; var2 < this.Root.size(); ++var2) {
- if (var1.getName().equals(((Item)this.Root.elementAt(var2)).getName())) {
- throw new TreeViewException(2);
- }
- }
-
- this.Owner.Sorter.doInsertionsort(this.Root, var1);
- this.Owner.insertItem(var1);
- }
-
- public Item getItem(String var1) throws TreeViewException {
- if (var1.equals("/")) {
- return this;
- } else {
- StringTokenizer var2 = new StringTokenizer(var1, "/");
- return this.Search(var2, this.Root);
- }
- }
-
- public void removeItem(String var1) throws TreeViewException {
- int var2 = var1.lastIndexOf(47);
- Folder var3;
- String var4;
- if (var2 != -1) {
- var4 = var1.substring(var2 + 1);
- var1 = var1.substring(0, var2);
- StringTokenizer var5 = new StringTokenizer(var1, "/");
-
- try {
- var3 = (Folder)this.Search(var5, this.Root);
- } catch (TreeViewException var9) {
- throw var9;
- }
- } else {
- var3 = this;
- var4 = var1;
- }
-
- try {
- this.Owner.removeItem(var3.getItem(var4));
- var3.Root.removeElement(var3.getItem(var4));
- } catch (TreeViewException var8) {
- Debug.Info(var8.getMessage());
- }
- }
-
- public Item Search(StringTokenizer var1, Vector var2) throws TreeViewException {
- String var3 = var1.nextToken();
-
- for(int var4 = 0; var4 < var2.size(); ++var4) {
- Item var5 = (Item)var2.elementAt(var4);
- if (var5 instanceof Folder) {
- if (var3.equals(((Folder)var5).getName())) {
- if (var1.countTokens() > 0) {
- return this.Search(var1, ((Folder)var5).Root);
- }
-
- return var5;
- }
- } else if (var3.equals(var5.getName())) {
- return var5;
- }
- }
-
- throw new TreeViewException(3);
- }
-
- public int size() {
- return this.Root.size();
- }
-
- public Item addItem(String var1, Object var2, int var3) throws TreeViewException {
- Item var4;
- this.add(var4 = new Item(this.Owner, this, var1, var2, var3));
- return var4;
- }
-
- public Item addItem(String var1, Object var2) throws TreeViewException {
- Object var3 = null;
- Item var4;
- this.add(var4 = new Item(this.Owner, this, var1, var2));
- return var4;
- }
-
- public Folder addFolder(String var1, Object var2, int var3) throws TreeViewException {
- Object var4 = null;
- Folder var5;
- this.add(var5 = new Folder(this.Owner, this, var1, var2, var3));
- return var5;
- }
-
- public Folder addFolder(String var1, Object var2) throws TreeViewException {
- Object var3 = null;
- Folder var4;
- this.add(var4 = new Folder(this.Owner, this, var1, var2));
- return var4;
- }
-
- protected Folder(RootFolder var1, Folder var2, String var3, Object var4) {
- this(var1, var2, var3, var4, 0);
- }
-
- protected Folder(RootFolder var1, Folder var2, String var3, Object var4, int var5) {
- super(var1, var2, var3, var4);
- this.Root = new Vector();
- super.iconType = 0;
- this.Owner = var1;
- super.iconType = var5;
- }
-
- public Item lookup(String var1) {
- for(int var2 = 0; var2 < this.Root.size(); ++var2) {
- Item var3 = (Item)this.Root.elementAt(var2);
- if (var3.getName().equals(var1)) {
- return var3;
- }
- }
-
- return null;
- }
- }
-