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 implementNoThreadClone
by 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 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.
-
-
-
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:
addNode
in 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: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 interfaceHashTreeTraverser
-
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 everyHashTreeTraverser.subtractNode()
call. This is a callback method, and should not be called except by a HashTree during traversal.- Specified by:
processPath
in interfaceHashTreeTraverser
-
-