org.flexdock.docking.state.tree

## Class DockingNode

- java.lang.Object
- - javax.swing.tree.DefaultMutableTreeNode
  - - org.flexdock.docking.state.tree.DockingNode

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, javax.swing.tree.MutableTreeNode, javax.swing.tree.TreeNode, DockingConstants, LayoutNode
  Direct Known Subclasses:
    DockableNode, DockingPortNode, SplitNode

      public abstract class DockingNode
      extends javax.swing.tree.DefaultMutableTreeNode
      implements LayoutNode, DockingConstants

  Author:
    Christopher Butler
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class javax.swing.tree.DefaultMutableTreeNode

      `allowsChildren, children, EMPTY_ENUMERATION, parent, userObject`

    - ### Fields inherited from interface org.flexdock.docking.DockingConstants

      `ACTIVE_WINDOW, BOTTOM, CENTER, CENTER_REGION, CLOSE_ACTION, DEFAULT_PERSISTENCE_KEY, DOCKING_ID, EAST_REGION, HEAVYWEIGHT_DOCKABLES, HORIZONTAL, LEFT, MOUSE_PRESSED, NORTH_REGION, PERMANENT_FOCUS_OWNER, PIN_ACTION, REGION, RIGHT, SOUTH_REGION, TOP, UNINITIALIZED, UNINITIALIZED_RATIO, UNKNOWN_REGION, UNSPECIFIED_SIBLING_PREF, VERTICAL, WEST_REGION`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DockingNode()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `clone()`
    `DockingNode` | `deepClone()`
    `abstract java.lang.Object` | `getDockingObject()`
    `java.lang.Object` | `getUserObject()`
    `protected abstract DockingNode` | `shallowClone()`

    - ### Methods inherited from class javax.swing.tree.DefaultMutableTreeNode

      `add, breadthFirstEnumeration, children, depthFirstEnumeration, getAllowsChildren, getChildAfter, getChildAt, getChildBefore, getChildCount, getDepth, getFirstChild, getFirstLeaf, getIndex, getLastChild, getLastLeaf, getLeafCount, getLevel, getNextLeaf, getNextNode, getNextSibling, getParent, getPath, getPathToRoot, getPreviousLeaf, getPreviousNode, getPreviousSibling, getRoot, getSharedAncestor, getSiblingCount, getUserObjectPath, insert, isLeaf, isNodeAncestor, isNodeChild, isNodeDescendant, isNodeRelated, isNodeSibling, isRoot, pathFromAncestorEnumeration, postorderEnumeration, preorderEnumeration, remove, remove, removeAllChildren, removeFromParent, setAllowsChildren, setParent, setUserObject, toString`

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

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

    - ### Methods inherited from interface org.flexdock.docking.state.LayoutNode

      `add`

    - ### Methods inherited from interface javax.swing.tree.MutableTreeNode

      `insert, remove, remove, removeFromParent, setParent, setUserObject`

    - ### Methods inherited from interface javax.swing.tree.TreeNode

      `children, getAllowsChildren, getChildAt, getChildCount, getIndex, getParent, isLeaf`

- - ### Constructor Detail

    - #### DockingNode

          public DockingNode()

  - ### Method Detail

    - #### getUserObject

          public java.lang.Object getUserObject()

      Specified by:
        `getUserObject` in interface `LayoutNode`
      Overrides:
        `getUserObject` in class `javax.swing.tree.DefaultMutableTreeNode`

    - #### getDockingObject

          public abstract java.lang.Object getDockingObject()

      Specified by:
        `getDockingObject` in interface `LayoutNode`

    - #### shallowClone

          protected abstract DockingNode shallowClone()

    - #### clone

          public java.lang.Object clone()

      Specified by:
        `clone` in interface `LayoutNode`
      Overrides:
        `clone` in class `javax.swing.tree.DefaultMutableTreeNode`

    - #### deepClone

          public DockingNode deepClone()