Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache JMeter
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.jmeter.engine
Class TreeCloner

    java.lang.Object
      org.apache.jmeter.engine.TreeCloner

All Implemented Interfaces:
  HashTreeTraverser

Direct Known Subclasses:
  TreeClonerNoTimer

    public class TreeCloner

extends Object
implements HashTreeTraverser

Clones the test tree, skipping test elements that implement `NoThreadClone` by default.

Constructor Summary
`TreeCloner()` Clone the test tree, honouring NoThreadClone markers.
`TreeCloner(boolean honourNoThreadClone)` Clone the test tree.

Method Summary
`void` | `addNode(Object node, HashTree subTree)` The tree traverses itself depth-first, calling addNode for each object it encounters as it goes.
`protected Object` | `addNodeToTree(Object node)`
`ListedHashTree` | `getClonedTree()`
`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

### TreeCloner

    public TreeCloner()

  Clone the test tree, honouring NoThreadClone markers.

### TreeCloner

    public TreeCloner(boolean honourNoThreadClone)

  Clone the test tree.

  Parameters:
    `honourNoThreadClone` - set false to clone NoThreadClone nodes as well

Method Detail

### addNode

    public final void addNode(Object node,
                              HashTree subTree)

  Description copied from interface: `HashTreeTraverser`
  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` -
    `subTree` - `HashTree`

### addNodeToTree

    protected Object addNodeToTree(Object node)

  Parameters:
    `node` - Node to add to tree or not
  Returns:
    Object node (clone or not)

### subtractNode

    public void subtractNode()

  Description copied from interface: `HashTreeTraverser`
  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`

### getClonedTree

    public ListedHashTree getClonedTree()

### processPath

    public void processPath()

  Description copied from interface: `HashTreeTraverser`
  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`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache JMeter
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 1998-2012 Apache Software Foundation. All Rights Reserved.