Apache JMeter

org.apache.jmeter.engine
Class TreeCloner

java.lang.Object
  extended by 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

Apache JMeter

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