Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing.tree
Class TreePath

    java.lang.Object
      javax.swing.tree.TreePath

All Implemented Interfaces:
  Serializable

    public class TreePath

extends Object
implements Serializable

Represents a path to a node. A TreePath is an array of Objects that are vended from a TreeModel. The elements of the array are ordered such that the root is always the first element (index 0) of the array. TreePath is Serializable, but if any components of the path are not serializable, it will not be written out.

For further information and examples of using tree paths, see How to Use Trees in The Java Tutorial.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the `java.beans` package. Please see `XMLEncoder`.

Constructor Summary
`protected` | `TreePath()` Primarily provided for subclasses that represent paths in a different manner.
`` | `TreePath(Object singlePath)` Constructs a TreePath containing only a single element.
`` | `TreePath(Object[] path)` Constructs a path from an array of Objects, uniquely identifying the path from the root of the tree to a specific node, as returned by the tree's data model.
`protected` | `TreePath(Object[] path, int length)` Constructs a new TreePath with the identified path components of length `length`.
`protected` | `TreePath(TreePath parent, Object lastElement)` Constructs a new TreePath, which is the path identified by `parent` ending in `lastElement`.

Method Summary
`boolean` | `equals(Object o)` Tests two TreePaths for equality by checking each element of the paths for equality.
`Object` | `getLastPathComponent()` Returns the last component of this path.
`TreePath` | `getParentPath()` Returns a path containing all the elements of this object, except the last path component.
`Object[]` | `getPath()` Returns an ordered array of Objects containing the components of this TreePath.
`Object` | `getPathComponent(int element)` Returns the path component at the specified index.
`int` | `getPathCount()` Returns the number of elements in the path.
`int` | `hashCode()` Returns the hashCode for the object.
`boolean` | `isDescendant(TreePath aTreePath)` Returns true if `aTreePath` is a descendant of this TreePath.
`TreePath` | `pathByAddingChild(Object child)` Returns a new path containing all the elements of this object plus `child`.
`String` | `toString()` Returns a string that displays and identifies this object's properties.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### TreePath

    public TreePath(Object[] path)

  Constructs a path from an array of Objects, uniquely identifying the path from the root of the tree to a specific node, as returned by the tree's data model.

  The model is free to return an array of any Objects it needs to represent the path. The DefaultTreeModel returns an array of TreeNode objects. The first TreeNode in the path is the root of the tree, the last TreeNode is the node identified by the path.

  Parameters:
    `path` - an array of Objects representing the path to a node

### TreePath

    public TreePath(Object singlePath)

  Constructs a TreePath containing only a single element. This is usually used to construct a TreePath for the the root of the TreeModel.

  Parameters:
    `singlePath` - an Object representing the path to a node
  See Also:
    `TreePath(Object[])`

### TreePath

    protected TreePath(TreePath parent,
                       Object lastElement)

  Constructs a new TreePath, which is the path identified by `parent` ending in `lastElement`.

### TreePath

    protected TreePath(Object[] path,
                       int length)

  Constructs a new TreePath with the identified path components of length `length`.

### TreePath

    protected TreePath()

  Primarily provided for subclasses that represent paths in a different manner. If a subclass uses this constructor, it should also override the `getPath`, `getPathCount`, and `getPathComponent` methods, and possibly the `equals` method.

Method Detail

### getPath

    public Object[] getPath()

  Returns an ordered array of Objects containing the components of this TreePath. The first element (index 0) is the root.

  Returns:
    an array of Objects representing the TreePath
  See Also:
    `TreePath(Object[])`

### getLastPathComponent

    public Object getLastPathComponent()

  Returns the last component of this path. For a path returned by DefaultTreeModel this will return an instance of TreeNode.

  Returns:
    the Object at the end of the path
  See Also:
    `TreePath(Object[])`

### getPathCount

    public int getPathCount()

  Returns the number of elements in the path.

  Returns:
    an int giving a count of items the path

### getPathComponent

    public Object getPathComponent(int element)

  Returns the path component at the specified index.

  Parameters:
    `element` - an int specifying an element in the path, where 0 is the first element in the path
  Returns:
    the Object at that index location
  Throws:
    `IllegalArgumentException` - if the index is beyond the length of the path
  See Also:
    `TreePath(Object[])`

### equals

    public boolean equals(Object o)

  Tests two TreePaths for equality by checking each element of the paths for equality. Two paths are considered equal if they are of the same length, and contain the same elements (`.equals`).

  Overrides:
    `equals` in class `Object`
  Parameters:
    `o` - the Object to compare
  Returns:
    `true` if this object is the same as the obj argument; `false` otherwise.
  See Also:
    `Object.hashCode()`, `Hashtable`

### hashCode

    public int hashCode()

  Returns the hashCode for the object. The hash code of a TreePath is defined to be the hash code of the last component in the path.

  Overrides:
    `hashCode` in class `Object`
  Returns:
    the hashCode for the object
  See Also:
    `Object.equals(java.lang.Object)`, `Hashtable`

### isDescendant

    public boolean isDescendant(TreePath aTreePath)

  Returns true if `aTreePath` is a descendant of this TreePath. A TreePath P1 is a descendant of a TreePath P2 if P1 contains all of the components that make up P2's path. For example, if this object has the path [a, b], and `aTreePath` has the path [a, b, c], then `aTreePath` is a descendant of this object. However, if `aTreePath` has the path [a], then it is not a descendant of this object. By this definition a TreePath is always considered a descendant of itself. That is, `aTreePath.isDescendant(aTreePath)` returns true.

  Returns:
    true if `aTreePath` is a descendant of this path

### pathByAddingChild

    public TreePath pathByAddingChild(Object child)

  Returns a new path containing all the elements of this object plus `child`. `child` will be the last element of the newly created TreePath. This will throw a NullPointerException if child is null.

### getParentPath

    public TreePath getParentPath()

  Returns a path containing all the elements of this object, except the last path component.

### toString

    public String toString()

  Returns a string that displays and identifies this object's properties.

  Overrides:
    `toString` in class `Object`
  Returns:
    a String representation of this object

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.