com.ihr.xbrl.om.table

## Interface HasBreakdownTree

- All Known Implementing Classes:
    XBRLAspectNode, XBRLBreakdown, XBRLClosedDefinitionNode, XBRLConceptRelationshipNode, XBRLDefinitionNode, XBRLDimensionRelationshipNode, XBRLOpenDefinitionNode, XBRLRelationshipNode, XBRLRuleNode

      public interface HasBreakdownTree

  Classes implementing this interface can be used in a tree structure to define nested breakdowns.
  Author:
    Ignacio

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Iterator<XBRLDefinitionNodeUse>` | `getBreakdownTree()` Gets the breakdown tree.
    `int` | `getNumberOfNodes()` Returns the number of root nodes in the tree.
    `boolean` | `hasOpen()` Returns true if this or down the tree from this node there is a node that isOpen() returns true.
    `boolean` | `isLeaf()` Returns true if this is a leaf node with no nested XBRLDefinitionNodeUse elements in the iterator that would be returned by a call to getBreakdownTree().
    `boolean` | `isOpen()` Returns true if this particular node is based on an XBRLOpenDefinitionNode and thus it is an open node.

- - ### Method Detail

    - #### getBreakdownTree

          java.util.Iterator<XBRLDefinitionNodeUse> getBreakdownTree()

      Gets the breakdown tree.
      Returns:
        Iterator over the children nodes in the order defined by the order attributes in the resources

    - #### isLeaf

          boolean isLeaf()

      Returns true if this is a leaf node with no nested XBRLDefinitionNodeUse elements in the iterator that would be returned by a call to getBreakdownTree().
      Returns:
        boolean value
      See Also:
        `getBreakdownTree()`

    - #### isOpen

          boolean isOpen()

      Returns true if this particular node is based on an XBRLOpenDefinitionNode and thus it is an open node.
      Returns:
        boolean value

    - #### hasOpen

          boolean hasOpen()

      Returns true if this or down the tree from this node there is a node that isOpen() returns true.
      Returns:
        boolean value

    - #### getNumberOfNodes

          int getNumberOfNodes()

      Returns the number of root nodes in the tree. This method is used as the secondary key for ordering breakdowns. If two breakdowns in the same axis have the same order attribute, the one with less root nodes goes first.
      Returns:
        the number of nodes