1 package org.columba.mail.gui.tree.util; 17 18 import java.io.File ; 19 import java.util.List ; 20 import java.util.StringTokenizer ; 21 import java.util.Vector ; 22 23 import javax.swing.tree.TreePath ; 24 25 26 public class TreeNodeList { 27 protected List list; 28 29 public TreeNodeList() { 30 list = new Vector (); 31 } 32 33 public TreeNodeList(Vector v) { 34 list = v; 35 } 36 37 public TreeNodeList(String [] str) { 38 for (int i = 0; i < str.length; i++) { 39 list.add(str[i]); 40 } 41 } 42 43 public TreeNodeList(String s) { 44 list = new Vector (); 45 46 StringTokenizer tok = new StringTokenizer (s, "/"); 47 48 while (tok.hasMoreTokens()) { 49 String next = tok.nextToken(); 50 51 list.add(next); 52 } 53 } 54 55 public TreePath getTreePath() { 56 TreePath path = new TreePath (get(0)); 57 58 for (int i = 1; i < count(); i++) { 59 Object o = get(i); 60 path = path.pathByAddingChild(o); 61 } 62 63 return path; 64 } 65 66 public void removeElementAt(int index) { 67 list.remove(index); 68 } 69 70 public List getList() { 71 return list; 72 } 73 74 public void setElementAt(String s, int i) { 75 list.set(i, s); 76 } 77 78 public void add(String s) { 79 list.add(s); 80 } 81 82 public String get(int i) { 83 if (count() > 0) { 84 return (String ) list.get(i); 85 } else { 86 return ""; 87 } 88 } 89 90 public int count() { 91 return list.size(); 92 } 93 94 public void clear() { 95 list.clear(); 96 } 97 98 public String lastElement() { 99 return (String ) list.get(list.size() - 1); 100 } 101 102 public void removeLastElement() { 103 list.remove(list.size() - 1); 104 } 105 106 public boolean equals(TreeNodeList v) { 107 String s1; 108 String s2; 109 110 if ((count() == 0) && (v.count() == 0)) { 111 return true; 112 } 113 114 if (count() != v.count()) { 115 return false; 116 } 117 118 for (int i = 0; i < count(); i++) { 119 s1 = get(i); 120 s2 = v.get(i); 121 122 if (!s1.equals(s2)) { 123 return false; 124 } 125 } 126 127 return true; 128 } 129 130 public File getFile(File programDirectory) { 131 File file = programDirectory; 132 133 for (int i = 0; i < count(); i++) { 134 file = new File (file, get(i)); 135 } 136 137 return file; 138 } 139 } 140 | Popular Tags |