Package org.apache.jmeter.gui.tree

# Class JMeterTreeModel

java.lang.Object
javax.swing.tree.DefaultTreeModel
org.apache.jmeter.gui.tree.JMeterTreeModel

All Implemented Interfaces:
  `Serializable`, `TreeModel`

public class JMeterTreeModel extends DefaultTreeModel

See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class javax.swing.tree.DefaultTreeModel

  `asksAllowsChildren, listenerList, root`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JMeterTreeModel()`
  `JMeterTreeModel(Object o)`
  Deprecated.
  - only for use by JMeter class!
  `JMeterTreeModel(org.apache.jmeter.testelement.TestElement tp)`
  `JMeterTreeModel(org.apache.jmeter.testelement.TestElement tp, org.apache.jmeter.testelement.TestElement wb)`
  Deprecated.
  since 4.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `JMeterTreeNode`
  `addComponent(org.apache.jmeter.testelement.TestElement component, JMeterTreeNode node)`
  Add a `TestElement` to a `JMeterTreeNode`
  `HashTree`
  `addSubTree(HashTree subTree, JMeterTreeNode current)`
  Adds the sub tree at the given node.
  `void`
  `clearTestPlan()`
  Clear the test plan, and use default node for test plan.
  `void`
  `clearTestPlan(org.apache.jmeter.testelement.TestElement testPlan)`
  Clear the test plan, and use specified node for test plan N.B.
  `HashTree`
  `getCurrentSubTree(JMeterTreeNode node)`
  Get the current sub tree for a `JMeterTreeNode`
  `JMeterTreeNode`
  `getNodeOf(org.apache.jmeter.testelement.TestElement userObject)`
  Get the node for a given TestElement object.
  `List<JMeterTreeNode>`
  `getNodesOfType(Class<?> type)`
  Returns a list of tree nodes that hold objects of the given class type.
  `HashTree`
  `getTestPlan()`
  Get the `TestPlan` from the root of this tree
  `void`
  `removeNodeFromParent(JMeterTreeNode node)`

  ### Methods inherited from class javax.swing.tree.DefaultTreeModel

  `addTreeModelListener, asksAllowsChildren, fireTreeNodesChanged, fireTreeNodesInserted, fireTreeNodesRemoved, fireTreeStructureChanged, getChild, getChildCount, getIndexOfChild, getListeners, getPathToRoot, getPathToRoot, getRoot, getTreeModelListeners, insertNodeInto, isLeaf, nodeChanged, nodesChanged, nodeStructureChanged, nodesWereInserted, nodesWereRemoved, reload, reload, removeNodeFromParent, removeTreeModelListener, setAsksAllowsChildren, setRoot, valueForPathChanged`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### JMeterTreeModel

    @Deprecated public JMeterTreeModel(org.apache.jmeter.testelement.TestElement tp, org.apache.jmeter.testelement.TestElement wb)
    Deprecated.
    since 4.0
    Deprecated after remove WorkBench
    Parameters:
      `tp` - - Test Plan
      `wb` - - WorkBench

  - ### JMeterTreeModel

    public JMeterTreeModel(org.apache.jmeter.testelement.TestElement tp)

  - ### JMeterTreeModel

    public JMeterTreeModel()

  - ### JMeterTreeModel

    @Deprecated public JMeterTreeModel(Object o)
    Deprecated.
    - only for use by JMeter class!
    Hack to allow TreeModel to be used in non-GUI and headless mode.
    Parameters:
      `o` - - dummy

- ## Method Details

  - ### getNodesOfType

    public List<JMeterTreeNode> getNodesOfType(Class<?> type)
    Returns a list of tree nodes that hold objects of the given class type. If none are found, an empty list is returned.
    Parameters:
      `type` - The type of nodes, which are to be collected
    Returns:
      a list of tree nodes of the given `type`, or an empty list

  - ### getNodeOf

    public JMeterTreeNode getNodeOf(org.apache.jmeter.testelement.TestElement userObject)
    Get the node for a given TestElement object.
    Parameters:
      `userObject` - The object to be found in this tree
    Returns:
      the node corresponding to the `userObject`

  - ### addSubTree

    public HashTree addSubTree(HashTree subTree, JMeterTreeNode current) throws IllegalUserActionException
    Adds the sub tree at the given node. Returns a boolean indicating whether the added sub tree was a full test plan.
    Parameters:
      `subTree` - The `HashTree` which is to be inserted into `current`
      `current` - The node in which the `subTree` is to be inserted. Will be overridden, when an instance of `TestPlan`
    Returns:
      newly created sub tree now found at `current`
    Throws:
      `IllegalUserActionException` - when `current` is not an instance of `AbstractConfigGui` and no instance of `TestPlan` `subTree`

  - ### addComponent

    public JMeterTreeNode addComponent(org.apache.jmeter.testelement.TestElement component, JMeterTreeNode node) throws IllegalUserActionException
    Add a `TestElement` to a `JMeterTreeNode`
    Parameters:
      `component` - The `TestElement` to be used as data for the newly created node
      `node` - The `JMeterTreeNode` into which the newly created node is to be inserted
    Returns:
      new `JMeterTreeNode` for the given `component`
    Throws:
      `IllegalUserActionException` - when the user object for the `node` is not an instance of `AbstractConfigGui`

  - ### removeNodeFromParent

    public void removeNodeFromParent(JMeterTreeNode node)

  - ### getCurrentSubTree

    public HashTree getCurrentSubTree(JMeterTreeNode node)
    Get the current sub tree for a `JMeterTreeNode`
    Parameters:
      `node` - The `JMeterTreeNode` from which the sub tree is to be taken
    Returns:
      newly copied sub tree

  - ### getTestPlan

    public HashTree getTestPlan()
    Get the `TestPlan` from the root of this tree
    Returns:
      The `TestPlan` found at the root of this tree

  - ### clearTestPlan

    public void clearTestPlan()
    Clear the test plan, and use default node for test plan. N.B. Should only be called by `GuiPackage.clearTestPlan()`

  - ### clearTestPlan

    public void clearTestPlan(org.apache.jmeter.testelement.TestElement testPlan)
    Clear the test plan, and use specified node for test plan N.B. Should only be called by `GuiPackage.clearTestPlan(TestElement)`
    Parameters:
      `testPlan` - the node to use as the testplan top node