Package org.apache.jmeter.engine
Class TreeCloner
java.lang.Object
org.apache.jmeter.engine.TreeCloner
- All Implemented Interfaces:
HashTreeTraverser
- Direct Known Subclasses:
TreeClonerForValidation
,TreeClonerNoTimer
Clones the test tree, skipping test elements that implement
NoThreadClone
by default.-
Constructor Summary
ConstructorDescriptionClone the test tree, honouring NoThreadClone markers.TreeCloner
(boolean honourNoThreadClone) Clone the test tree. -
Method Summary
Modifier and TypeMethodDescriptionfinal void
The tree traverses itself depth-first, calling addNode for each object it encounters as it goes.protected Object
addNodeToTree
(Object node) void
Process path is called when a leaf is reached.void
Indicates traversal has moved up a step, and the visitor should remove the top node from its stack structure.
-
Constructor Details
-
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 Details
-
addNode
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
- 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
-
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
-