com.ihr.xbrl.om.table.structural

## Class XBRLClosedStructuralNode

- java.lang.Object
- - com.ihr.xbrl.om.table.structural.XBRLStructuralNode
  - - com.ihr.xbrl.om.table.structural.XBRLClosedStructuralNode

- All Implemented Interfaces:
    StructuralNodeInterface

      public class XBRLClosedStructuralNode
      extends XBRLStructuralNode

  The Class XBRLClosedStructuralNode.
  Author:
    Ignacio

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `XBRLClosedStructuralNode(XBRLDefinitionNodeUse base, XBRLStructuralNode parent, java.util.Hashtable<java.lang.String,java.util.Hashtable<java.lang.Object,AspectAndDistanceToLeaf>> mergeAspects, java.lang.String mergeTagSelectors)` Instantiates a new XBRL closed structural node.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getLabel(CellHeader cell)` Returns a label that represents the structural node.
    `int` | `getValueCount()` Returns the number of nodes for this structural node at this level (does not count children nodes) For closed nodes, the returned value is most likely 1.
    `boolean` | `isAbstract()` Returns true if this is a rule node and it is marked as abstract.
    `boolean` | `isRollup()` this is set to true when this structural node is a roll-up node.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class com.ihr.xbrl.om.table.structural.XBRLStructuralNode

      `addChild, addMergeAspect, collectAspects, create, create, createRollup, getAspects, getBase, getConsolidatedAspects, getDistanceToLeaf, getLocalAspects, getLocalTags, getMergeTagSelector, getNodeAt, getNodeCount, getNodes, getParent, getTags, getTagSelector, hasAspect, isLeaf, isRollUp, resetDistanceToLeaf, resetMergeTagSelector`

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

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

- - ### Constructor Detail

    - #### XBRLClosedStructuralNode

          public XBRLClosedStructuralNode(XBRLDefinitionNodeUse base,
                                  XBRLStructuralNode parent,
                                  java.util.Hashtable<java.lang.String,java.util.Hashtable<java.lang.Object,AspectAndDistanceToLeaf>> mergeAspects,
                                  java.lang.String mergeTagSelectors)

      Instantiates a new XBRL closed structural node.
      Parameters:
        `base` - the base
        `parent` - the parent
        `mergeAspects` - the merge aspects
        `mergeTagSelectors` - the merge tag selectors

  - ### Method Detail

    - #### isRollup

          public boolean isRollup()

      this is set to true when this structural node is a roll-up node. roll-up nodes are either the first or the last child of its parent roll-up contributes no additional constraints
      Returns:
        true if this is a roll-up node.

    - #### isAbstract

          public boolean isAbstract()

      Description copied from class: `XBRLStructuralNode`
      Returns true if this is a rule node and it is marked as abstract.
      Specified by:
        `isAbstract` in class `XBRLStructuralNode`
      Returns:
        boolean value

    - #### getValueCount

          public int getValueCount()

      Description copied from class: `XBRLStructuralNode`
      Returns the number of nodes for this structural node at this level (does not count children nodes) For closed nodes, the returned value is most likely 1. There might be exceptions if the concept is abstract. In that case, the returned value might be 0 For open nodes, the returned value depends on the number of values that bind to the node definition and table filters
      Specified by:
        `getValueCount` in class `XBRLStructuralNode`
      Returns:
        the value count

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `XBRLStructuralNode`

    - #### getLabel

          public java.lang.String getLabel(CellHeader cell)

      Description copied from class: `XBRLStructuralNode`
      Returns a label that represents the structural node. This label will be used in the user interface so the label shall consider user preferences set in the DTSContainer. The cell parameter can provide required information to know the cell position or value index on open nodes
      Specified by:
        `getLabel` in class `XBRLStructuralNode`
      Parameters:
        `cell` - the cell
      Returns:
        the label