com.ihr.xbrl.om.xdt

## Class XDTHypercubeUse

- java.lang.Object
- - com.ihr.xbrl.om.xdt.XDTHypercubeUse

-     public class XDTHypercubeUse
      extends java.lang.Object

  The Class XDTHypercubeUse.
  Author:
    Ignacio

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `ALL` The Constant ALL.
    `static int` | `DEFAULT` The Constant DEFAULT.
    `static int` | `NOTALL` The Constant NOTALL.
    `static int` | `SCENARIO` The Constant SCENARIO.
    `static int` | `SEGMENT` The Constant SEGMENT.
    `static int` | `UNDEFINED` Values of the contextElement attribute.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `XDTHypercubeUse(XDTProcessor processor, XDTHypercube hypercube, int arcRoleType, DTSBase useBase, DTSBase searchBase, DefinitionLinkbase tempDefLb, XBRLRelationship pri_hyp)` Instantiates a new XDT hypercube use.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getArcroleType()` Returns ALL or NOTALL depending on how the surrounding hypercube is related to the primary item.
    `boolean` | `getClosed()` Returns true if the hypercube is closed, false if this is an open hypercube.
    `int` | `getContextElement()` Returns the container defined for this hypercube.
    `XDTDimensionUse` | `getDimension(javax.xml.namespace.QName key)` Access to the object that represents the usage of the dimension in this hypercube.
    `java.util.Iterator<XDTDimensionUse>` | `getDimensions()` Dimensions in the use of this hypercube.
    `java.lang.String` | `getName()` Access to the hypercube name. this is a string composed by the concept prefix colon and local name
    `int` | `getNumberOfDimensions()` Gets the number of dimensions.
    `javax.xml.namespace.QName` | `getQName()` Access to the Hypercube QName.
    `DTSBase` | `getUseBase()` Gets the use base.
    `boolean` | `validate(java.util.Hashtable<javax.xml.namespace.QName,XMLFragment> htDimData, java.lang.StringBuffer trackOfHypercubeValidation, XDTValidationHypercube hypercubeSection, java.lang.String contextId)` Validates this hypercube using dimensional data from the fact.

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

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

- - ### Field Detail

    - #### ALL

          public static final int ALL

      The Constant ALL.
      See Also:
        Constant Field Values

    - #### NOTALL

          public static final int NOTALL

      The Constant NOTALL.
      See Also:
        Constant Field Values

    - #### UNDEFINED

          public static final int UNDEFINED

      Values of the contextElement attribute.
      See Also:
        Constant Field Values

    - #### SEGMENT

          public static final int SEGMENT

      The Constant SEGMENT.
      See Also:
        Constant Field Values

    - #### SCENARIO

          public static final int SCENARIO

      The Constant SCENARIO.
      See Also:
        Constant Field Values

    - #### DEFAULT

          public static final int DEFAULT

      The Constant DEFAULT.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### XDTHypercubeUse

          public XDTHypercubeUse(XDTProcessor processor,
                         XDTHypercube hypercube,
                         int arcRoleType,
                         DTSBase useBase,
                         DTSBase searchBase,
                         DefinitionLinkbase tempDefLb,
                         XBRLRelationship pri_hyp)

      Instantiates a new XDT hypercube use.
      Parameters:
        `processor` - the processor
        `hypercube` - the hypercube
        `arcRoleType` - the arc role type
        `useBase` - the use base
        `searchBase` - the search base
        `tempDefLb` - the temp def lb
        `pri_hyp` - the pri_hyp

  - ### Method Detail

    - #### getContextElement

          public int getContextElement()

      Returns the container defined for this hypercube. This is either SEGMENT of SCENARIO
      Returns:
        the context element

    - #### getClosed

          public boolean getClosed()

      Returns true if the hypercube is closed, false if this is an open hypercube.
      Returns:
        boolean

    - #### getArcroleType

          public int getArcroleType()

      Returns ALL or NOTALL depending on how the surrounding hypercube is related to the primary item.
      Returns:
        int

    - #### getUseBase

          public DTSBase getUseBase()

      Gets the use base.
      Returns:
        the use base

    - #### validate

          public boolean validate(java.util.Hashtable<javax.xml.namespace.QName,XMLFragment> htDimData,
                         java.lang.StringBuffer trackOfHypercubeValidation,
                         XDTValidationHypercube hypercubeSection,
                         java.lang.String contextId)

      Validates this hypercube using dimensional data from the fact.
      Parameters:
        `htDimData` - Hashtable
        `trackOfHypercubeValidation` - the track of hypercube validation
        `hypercubeSection` - XDTValidationHypercube instance to keep track of validation error details
        `contextId` - the context id
      Returns:
        boolean

    - #### getName

          public java.lang.String getName()

      Access to the hypercube name. this is a string composed by the concept prefix colon and local name
      Returns:
        String

    - #### getQName

          public javax.xml.namespace.QName getQName()

      Access to the Hypercube QName. This is the Hypercube QName so the concept definition can be found in the DTS using other methods in the API and from that the labels etc. Note this is a HypercubeUse instance, so it is enclosed in a specific Base Set. The same Hypercube shall be used in multiple base sets if the hypercube is polymorfic or even if the hypercube is monomorphic
      Returns:
        the Hypercube concept QName

    - #### getDimensions

          public java.util.Iterator<XDTDimensionUse> getDimensions()

      Dimensions in the use of this hypercube.
      Returns:
        Iterator

    - #### getNumberOfDimensions

          public int getNumberOfDimensions()

      Gets the number of dimensions.
      Returns:
        the number of dimensions

    - #### getDimension

          public XDTDimensionUse getDimension(javax.xml.namespace.QName key)

      Access to the object that represents the usage of the dimension in this hypercube. The result is null if the hypercube does not contains the dimension.
      Parameters:
        `key` - QName of the dimension
      Returns:
        XDTDimensionUse or null if the hypercube does not use the specified dimension