Package 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 implementNoThreadCloneby default.
-
-
Constructor Summary
Constructors Constructor Description TreeCloner()Clone the test tree, honouring NoThreadClone markers.TreeCloner(boolean honourNoThreadClone)Clone the test tree.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddNode(Object node, HashTree subTree)The tree traverses itself depth-first, calling addNode for each object it encounters as it goes.protected ObjectaddNodeToTree(Object node)ListedHashTreegetClonedTree()voidprocessPath()Process path is called when a leaf is reached.voidsubtractNode()Indicates traversal has moved up a step, and the visitor should remove the top node from its stack structure.
-
-
-
Method Detail
-
addNode
public final 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:
addNodein interfaceHashTreeTraverser- Parameters:
node- the node currently encounteredsubTree- the HashTree under the node encountered
-
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:HashTreeTraverserIndicates 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:
subtractNodein interfaceHashTreeTraverser
-
getClonedTree
public ListedHashTree getClonedTree()
-
processPath
public void processPath()
Description copied from interface:HashTreeTraverserProcess 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 everyHashTreeTraverser.subtractNode()call. This is a callback method, and should not be called except by a HashTree during traversal.- Specified by:
processPathin interfaceHashTreeTraverser
-
-