home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.tree;
-
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.Serializable;
- import java.util.Vector;
-
- public class TreePath implements Serializable {
- protected transient Object[] path;
-
- public TreePath(Object[] var1) {
- if (var1 == null) {
- throw new IllegalArgumentException("path in TreePath must be non null.");
- } else {
- this.path = var1;
- }
- }
-
- public TreePath(Object var1) {
- if (var1 == null) {
- throw new IllegalArgumentException("path in TreePath must be non null.");
- } else {
- this.path = new Object[1];
- this.path[0] = var1;
- }
- }
-
- public Object[] getPath() {
- int var1 = this.path.length;
- Object[] var2 = new Object[var1];
- System.arraycopy(this.path, 0, var2, 0, var1);
- return var2;
- }
-
- public Object getLastPathComponent() {
- return this.path.length > 0 ? this.path[this.path.length - 1] : null;
- }
-
- public int getPathCount() {
- return this.path.length;
- }
-
- public Object getPathComponent(int var1) {
- if (var1 >= 0 && var1 < this.getPathCount()) {
- return this.path[var1];
- } else {
- throw new IllegalArgumentException("Index " + var1 + " is greater than path length");
- }
- }
-
- public boolean equals(Object var1) {
- if (!(var1 instanceof TreePath)) {
- return false;
- } else {
- TreePath var2 = (TreePath)var1;
- Object[] var3 = var2.path;
- if ((var3 == null || this.path != null) && (var3 != null || this.path == null)) {
- if (this.path != null) {
- int var4 = this.path.length;
- if (var4 != var3.length) {
- return false;
- }
-
- for(int var5 = 0; var5 < var4; ++var5) {
- if (!this.path[var5].equals(var3[var5])) {
- return false;
- }
- }
- }
-
- return true;
- } else {
- return false;
- }
- }
- }
-
- public int hashCode() {
- return super.hashCode();
- }
-
- public boolean isDescendant(TreePath var1) {
- if (this.path != null) {
- Object[] var2 = var1.getPath();
- int var3 = this.path.length;
- if (var2.length >= var3 && var3 > 0) {
- for(int var4 = 0; var4 < var3; ++var4) {
- if (!this.path[var4].equals(var2[var4])) {
- return false;
- }
- }
-
- return true;
- }
- }
-
- return false;
- }
-
- public String toString() {
- StringBuffer var1 = new StringBuffer("[");
-
- for(int var2 = 0; var2 < this.path.length; ++var2) {
- if (var2 > 0) {
- var1.append(", ");
- }
-
- var1.append(this.path[var2]);
- }
-
- var1.append("]");
- return var1.toString();
- }
-
- private void writeObject(ObjectOutputStream var1) throws IOException {
- var1.defaultWriteObject();
- Vector var2 = new Vector();
- boolean var3 = true;
- int var4 = 0;
-
- for(int var5 = this.path.length; var4 < var5; ++var4) {
- if (!(this.path[var4] instanceof Serializable)) {
- var3 = false;
- break;
- }
- }
-
- if (var3) {
- var2.addElement("path");
- var2.addElement(this.path);
- }
-
- var1.writeObject(var2);
- }
-
- private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
- var1.defaultReadObject();
- Vector var2 = (Vector)var1.readObject();
- int var3 = 0;
- int var4 = var2.size();
- if (var3 < var4 && var2.elementAt(var3).equals("path")) {
- ++var3;
- this.path = var2.elementAt(var3);
- ++var3;
- } else {
- this.path = new Object[0];
- }
- }
- }
-