com.ihr.xbrl.om.instance

## Class XBRLDimensionsContainer

- java.lang.Object
- - com.ihr.xbrl.om.XMLFragment
  - - com.ihr.xbrl.om.instance.XBRLDimensionsContainer

- All Implemented Interfaces:
    HasAdditionalEqualityForReassignation, XBRLRelationshipPoint, Thinable, XMLHasParent, java.lang.Cloneable, javax.xml.namespace.NamespaceContext
  Direct Known Subclasses:
    XBRLScenario, XBRLSegment

      public abstract class XBRLDimensionsContainer
      extends XMLFragment
      implements java.lang.Cloneable

  The Class XBRLDimensionsContainer.

- - ### Field Summary

    - ### Fields inherited from class com.ihr.xbrl.om.XMLFragment

      `CONCEPT_LABEL, CONCEPT_QNAME, EASY_TO_READ, ELEMENT_LABEL, EMPTYRELATIONSHIPSITERATORINSTANCE, EMPTYXMLFRAGMENTITERATORINSTANCE, FACT_CONCEPT_DATATYPE, FACT_CONCEPT_LABEL, FACT_QNAME, HIDE_COMMON_ACCURACY, idQName, NO_POSITION, OrderComparator, OrderComparator2, PERIOD_TYPE, PERIOD_VALUE, SHORT_TEXT, SOURCE_DOCUMENT, XPATH, XPOINTER`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XBRLDimensionsContainer(DTSContainer dts)` Empty Scenario.
    `XBRLDimensionsContainer(DTSContainer dts, net.sf.saxon.s9api.XdmNode node)` Instantiates a new XBRL dimensions container.
    `XBRLDimensionsContainer(XBRLDimensionsContainer other)` Instantiates a new XBRL dimensions container.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addContent(XMLFragment fragment)` Adds the content.
    `java.util.Collection<XMLFragment>` | `arrangeContent()` This method returns a new Collection of XMLFragment elements that are ordered so different contexts can be properly compared even if they have dimensions in different order.
    `boolean` | `equals(java.lang.Object other)` Sets a new XPathFunctionResolver for this object.
    `org.jdom.Element` | `generateNode(boolean relativize, java.net.URI base)` Serializes to a jdom Element the representation of the properties of this Information Item This method should be called from classes derived from this class
    `java.util.Iterator<XMLFragment>` | `getContent()` Gets the content.
    `int` | `hashCode()`
    `boolean` | `isEmpty()` Checks if is empty.
    `void` | `resetContent()` Reset content.
    `void` | `setContent(java.util.Collection<XMLFragment> newContent)` Sets the content.

    - ### Methods inherited from class com.ihr.xbrl.om.XMLFragment

      `addAttribute, addChild, addFromRelationship, addNamespace, addNamespace, addToRelationship, addXMLChild, changeBase, checkBase, clear, clone, clone, delAttribute, delAttribute, equalXdmValues, evaluateBoolean, evaluateList, evaluateNode, evaluateNumber, evaluateString, generateId, generateNodeNamespacesAndAttributes, generateNodeValue, generatePrefix, getAllAttributes, getAttribute, getAttributeBooleanValue, getAttributeQNameValue, getAttributes, getAttributes, getAttributeStringValue, getAttributeValue, getBase, getBase, getBaseURI, getBooleanValue, getChild, getContainer, getContainerDocumentURI, getDeclaredNamespaces, getDocument, getElements, getElementsHashCode, getFragment, getFriendlyName, getFriendlyName, getFromRelationships, getFromRelationships, getFromRelationships, getFromRelationships, getFromRelationships, getGenericLabelText, getId, getLang, getNamespaceURI, getNodeName, getNumberOfAttributes, getNumberOfElements, getNumberOfFromRelationships, getNumberOfToRelationships, getOrGenerateId, getParent, getPrefix, getPrefixes, getQNameValue, getRelationshipsBases, getRelationshipsChain, getRelationshipTypes, getStaticContext, getStaticNamespace, getStringValue, getToolTipText, getToRelationships, getToRelationships, getToRelationships, getToRelationships, getToRelationships, getValue, getXPathExecutable, getXPathNamespaceContext, getXPathToNode, getXPathToRoot, getXPointerElementScheme, getXPointerElementScheme, getXPointerShorthandScheme, getXPointerToNode, isDead, isNamespaceDefined, isXdmDocumentAttached, objEquals, objHashCode, qNameToString, removeAttribute, removeChild, removeChild, removeFromRelationship, removeToRelationship, removeXMLChild, resetElements, resetHash, resolve_equal2, resolveHRef, resolveHRef, s_equal2, s_equal2, s_equal2, setAttributes, setBase, setDocument, setDocumentAndReload, setElements, setId, setLang, setNamespaceContext, setNamespaces, setNode, setNodeName, setParent, setRegenerateNodeIfnotFound, setValue, setValue, setVariablesDefined, size, thin, toString, valueEquals, xEqual`

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

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### XBRLDimensionsContainer

          public XBRLDimensionsContainer(DTSContainer dts)

      Empty Scenario.
      Parameters:
        `dts` - the dts

    - #### XBRLDimensionsContainer

          public XBRLDimensionsContainer(DTSContainer dts,
                                 net.sf.saxon.s9api.XdmNode node)

      Instantiates a new XBRL dimensions container.
      Parameters:
        `dts` - the dts
        `node` - the node

    - #### XBRLDimensionsContainer

          public XBRLDimensionsContainer(XBRLDimensionsContainer other)

      Instantiates a new XBRL dimensions container.
      Parameters:
        `other` - the other

  - ### Method Detail

    - #### getContent

          public java.util.Iterator<XMLFragment> getContent()

      Gets the content.
      Returns:
        the content

    - #### addContent

          public void addContent(XMLFragment fragment)

      Adds the content.
      Parameters:
        `fragment` - the fragment

    - #### resetContent

          public void resetContent()

      Reset content.

    - #### setContent

          public void setContent(java.util.Collection<XMLFragment> newContent)

      Sets the content.
      Parameters:
        `newContent` - the new content

    - #### arrangeContent

          public java.util.Collection<XMLFragment> arrangeContent()

      This method returns a new Collection of XMLFragment elements that are ordered so different contexts can be properly compared even if they have dimensions in different order. Note this method is not used by the XBRL 2.1 API but is here for convenience. This method is used from the mapping engine for example, in order to prepare mapping templates. This method does not change the content of the dimensions container (Segment or scenario) in order to do so a call to `setContent(Collection)` should be used
      Returns:
        new Collection of XMLFragment instances with the context container arranged
      Since:
        2.8.1

    - #### equals

          public boolean equals(java.lang.Object other)

      Description copied from class: `XMLFragment`
      Sets a new XPathFunctionResolver for this object.
      Overrides:
        `equals` in class `XMLFragment`
      Parameters:
        `other` - the other
      Returns:
        true, if successful

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `XMLFragment`

    - #### generateNode

          public org.jdom.Element generateNode(boolean relativize,
                                      java.net.URI base)
                                        throws XBRLSerializationException

      Description copied from class: `XMLFragment`
      Serializes to a jdom Element the representation of the properties of this Information Item This method should be called from classes derived from this class
      Overrides:
        `generateNode` in class `XMLFragment`
      Parameters:
        `relativize` - boolean indicating if URIs should be relativized to the base URI (see next argument)
        `base` - the URI to which some attributes of this object should be relativided
      Returns:
        a clone of the surrounding jdom Element so it can be incorporated into multiple trees
      Throws:
        `XBRLSerializationException` - the XBRL serialization exception

    - #### isEmpty

          public boolean isEmpty()

      Checks if is empty.
      Returns:
        boolean, true if this scenario contains no data