Package com.macrofocus.hierarchy

# Interface MutableHierarchy<T>

All Superinterfaces:
  `Hierarchy<T>`, `Serializable`

All Known Implementing Classes:
  `SimpleHierarchy`

public interface MutableHierarchy<T> extends Hierarchy<T>
Defines the requirements for a hierarchy that can change -- by adding or removing elements

- ## Method Summary

  Modifier and Type
  Method
  Description
  `T`
  `addChild(T parent, T child)`
  `void`
  `addChildren(T parent, List<T> children)`
  `void`
  `insertChild(T parent, int index, T child)`
  `void`
  `moveChild(T oldParent, T newParent, int index, T child)`
  `void`
  `removeAll()`
  `void`
  `removeChild(T parent, T child)`
  `void`
  `removeChildren(List<T> children)`
  `void`
  `setChildren(T parent, List<T> children)`

  ### Methods inherited from interface com.macrofocus.hierarchy.Hierarchy

  `addHierarchyListener, addWeakHierarchyListener, breadthFirstIterator, breadthFirstIterator, containsChild, containsChild, depthFirstIterator, depthFirstIterator, getChild, getChildCount, getChildList, getChildren, getDepth, getFirstLeaf, getIndexOfChild, getLastLeaf, getLeafCount, getLevel, getListeners, getNextLeaf, getParent, getPath, getPathToRoot, getPreviousLeaf, getRoot, hasChild, isLeaf, isRoot, leavesIterator, leavesIterator, notifyHierarchyNodeChanged, preorderIterator, preorderIterator, removeHierarchyListener, removeHierarchyListeners, setNotifyListeners`

- ## Method Details

  - ### addChild

    T addChild(T parent, T child)

  - ### insertChild

    void insertChild(T parent, int index, T child)

  - ### removeChild

    void removeChild(T parent, T child)

  - ### moveChild

    void moveChild(T oldParent, T newParent, int index, T child)

  - ### setChildren

    void setChildren(T parent, List<T> children)

  - ### addChildren

    void addChildren(T parent, List<T> children)

  - ### removeChildren

    void removeChildren(List<T> children)

  - ### removeAll

    void removeAll()