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 and Description
`JMeterTreeModel()`
`JMeterTreeModel(Object o)` Deprecated. - only for use by JMeter class!
`JMeterTreeModel(TestElement tp)`
`JMeterTreeModel(TestElement tp, TestElement wb)` Deprecated. since 4.0

### Method Summary

All Methods Instance Methods Concrete Methods
`JMeterTreeNode` `addComponent(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(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(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 Detail

#### JMeterTreeModel

    @Deprecated
    public JMeterTreeModel(TestElement tp,
                                       TestElement wb)

Deprecated. since 4.0
Deprecated after remove WorkBench

Parameters:
  `tp` - - Test Plan
  `wb` - - WorkBench

#### JMeterTreeModel

    public JMeterTreeModel(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 Detail

#### 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(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(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(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