org.apache.jmeter.threads

## Class FindTestElementsUpToRootTraverser

- java.lang.Object
- - org.apache.jmeter.threads.FindTestElementsUpToRootTraverser

All Implemented Interfaces:
  HashTreeTraverser

    public class FindTestElementsUpToRootTraverser
    extends Object
    implements HashTreeTraverser

HashTreeTraverser implementation that stores in a Stack all the Test Elements on the path to a particular node.

### Constructor Summary

Constructors
Constructor and Description
`FindTestElementsUpToRootTraverser(Object nodeToFind)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addNode(Object node, HashTree subTree)` The tree traverses itself depth-first, calling addNode for each object it encounters as it goes.
`List<Controller>` `getControllersToRoot()` Returns all controllers that where in Tree down to nodeToFind in reverse order (from leaf to root)
`void` `processPath()` Process path is called when a leaf is reached.
`void` `subtractNode()` Indicates traversal has moved up a step, and the visitor should remove the top node from its stack structure.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### FindTestElementsUpToRootTraverser

    public FindTestElementsUpToRootTraverser(Object nodeToFind)

Parameters:
  `nodeToFind` - Node to find

### Method Detail

#### addNode

    public void addNode(Object node,
                        HashTree subTree)

The tree traverses itself depth-first, calling addNode for each object it encounters as it goes. This is a callback method, and should not be called except by a HashTree during traversal.

Specified by:
  `addNode` in interface `HashTreeTraverser`
Parameters:
  `node` - the node currently encountered
  `subTree` - the HashTree under the node encountered

#### subtractNode

    public void subtractNode()

Indicates traversal has moved up a step, and the visitor should remove the top node from its stack structure. This is a callback method, and should not be called except by a HashTree during traversal.

Specified by:
  `subtractNode` in interface `HashTreeTraverser`

#### processPath

    public void processPath()

Process path is called when a leaf is reached. If a visitor wishes to generate Lists of path elements to each leaf, it should keep a Stack data structure of nodes passed to it with addNode, and removing top items for every `HashTreeTraverser.subtractNode()` call. This is a callback method, and should not be called except by a HashTree during traversal.

Specified by:
  `processPath` in interface `HashTreeTraverser`

#### getControllersToRoot

    public List<Controller> getControllersToRoot()

Returns all controllers that where in Tree down to nodeToFind in reverse order (from leaf to root)

Returns:
  List of `Controller`