com.ihr.xbrl.om.taxonomy

## Class XBRLTuple

- java.lang.Object
- - com.ihr.xbrl.om.XMLFragment
  - - com.ihr.xbrl.om.taxonomy.XMLElementDefinition
    - - com.ihr.xbrl.om.taxonomy.XBRLTuple

- All Implemented Interfaces:
    HasAdditionalEqualityForReassignation, XBRLRelationshipPoint, Thinable, XBRLValidation, XBRLValueKey, XMLHasParent, java.lang.Cloneable, javax.xml.namespace.NamespaceContext

      public class XBRLTuple
      extends XMLElementDefinition
      implements XBRLValidation

  The Class XBRLTuple.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.ihr.xbrl.om.XBRLValidation

      `XBRLValidation.Direction`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static javax.xml.namespace.QName` | `substitutionGroup` This is xbrli:tuple.

    - ### Fields inherited from class com.ihr.xbrl.om.taxonomy.XMLElementDefinition

      `abstract_, ALL, block, EMPTY, EXTENSION, final_, fixed, name, nillable, nullConcept, RESTRICTION, SUBSTITUTION, type, UNDEFINED`

    - ### 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
    `XBRLTuple(XBRLTaxonomy tx, java.lang.String name, javax.xml.namespace.QName sg, java.lang.Boolean _abstract, java.lang.Boolean nillable, int block, int _final, XSDComposition comp)` Creates a tuple definition in a taxonomy.
    `XBRLTuple(XBRLTaxonomy parent, net.sf.saxon.s9api.XdmNode node)` Instantiates a new XBRL tuple.
    `XBRLTuple(XMLElementDefinition other)` Instantiates a new XBRL tuple.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()` Frees-up used memory This method should not be invoqued on live objects in the DTS.
    `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
    `XSDComposition` | `getComposition()` Access to the XSDComposition object.
    `java.util.Iterator<XMLFragment>` | `getElements()` For complex type resources this returns an iterator with all children XML fragments This method may be overwriten by other classes in the hierarchy.
    `java.lang.String` | `getFriendlyName()` Returns a string description that represents the element content in a form that users can understand.
    `java.lang.String` | `getFriendlyName(int modifiers, LabelsProvider lp)` Returns a string description that represents the element content in a form that users can understand.
    `java.util.Collection<XBRLTuple>` | `getInSubstitutionGroup()` Gets the in substitution group.
    `XBRLValidationReport` | `getValidationReport()` Access to the last stored validation report.
    `void` | `invalidate()` Invalidates the XBRLFact for XBRL validation.
    `boolean` | `invalidate(XBRLValidation.Direction dir)` Invalidates this object and the elements in the XML tree according with the parameter in dir This method is used by GUI tools that requires to reset validation before a manual validation cycle is started.
    `boolean` | `isOnValidation()` When validation is a recursive process, this function returns true if the object going to be validated is already under validation.
    `void` | `setComposition(XSDComposition comp)` Sets the composition to a new XSDComposition instance.
    `XBRLValidationReport` | `validate(XBRLPlugInProcessor proc)` Executes validation on the instance object and returns a validation report.

    - ### Methods inherited from class com.ihr.xbrl.om.taxonomy.XMLElementDefinition

      `equals, generateLocatorToNode, getAbstract, getAttributes, getBlock, getBlock, getBlock, getChildren, getContentValidator, getFinal, getFinal, getFinal, getFixed, getName, getNillable, getParent, getQName, getSimpleContentValidator, getSubstitutionGroup, getSubstitutionGroupHierarchy, getType, getValueKey, hashCode, isAbstract, isInSubstitutionGroup, isTotal, setAbstract, setBlock, setFinal, setFixed, setId, setName, setNillable, setParent, setSubstitutionGroup, setType`

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

      `addAttribute, addChild, addFromRelationship, addNamespace, addNamespace, addToRelationship, addXMLChild, changeBase, checkBase, clone, clone, delAttribute, delAttribute, equalXdmValues, evaluateBoolean, evaluateList, evaluateNode, evaluateNumber, evaluateString, generateId, generateNodeNamespacesAndAttributes, generateNodeValue, generatePrefix, getAllAttributes, getAttribute, getAttributeBooleanValue, getAttributeQNameValue, getAttributes, getAttributeStringValue, getAttributeValue, getBase, getBase, getBaseURI, getBooleanValue, getChild, getContainer, getContainerDocumentURI, getDeclaredNamespaces, getDocument, getElementsHashCode, getFragment, getFromRelationships, getFromRelationships, getFromRelationships, getFromRelationships, getFromRelationships, getGenericLabelText, getId, getLang, getNamespaceURI, getNodeName, getNumberOfAttributes, getNumberOfElements, getNumberOfFromRelationships, getNumberOfToRelationships, getOrGenerateId, 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, 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`

    - ### Methods inherited from interface com.ihr.xbrl.om.exLinks.XBRLRelationshipPoint

      `addFromRelationship, addToRelationship, getFromRelationships, getToRelationships, removeFromRelationship, removeToRelationship`

- - ### Field Detail

    - #### substitutionGroup

          public static final javax.xml.namespace.QName substitutionGroup

      This is xbrli:tuple.

  - ### Constructor Detail

    - #### XBRLTuple

          public XBRLTuple(XBRLTaxonomy parent,
                   net.sf.saxon.s9api.XdmNode node)

      Instantiates a new XBRL tuple.
      Parameters:
        `parent` - the parent
        `node` - the node

    - #### XBRLTuple

          public XBRLTuple(XMLElementDefinition other)

      Instantiates a new XBRL tuple.
      Parameters:
        `other` - the other

    - #### XBRLTuple

          public XBRLTuple(XBRLTaxonomy tx,
                   java.lang.String name,
                   javax.xml.namespace.QName sg,
                   java.lang.Boolean _abstract,
                   java.lang.Boolean nillable,
                   int block,
                   int _final,
                   XSDComposition comp)

      Creates a tuple definition in a taxonomy. Parameters are as follows:
      Parameters:
        `tx` - The parent taxonomy cannot be null.
        `name` - tuple name
        `sg` - substitution group
        `_abstract` - boolean value
        `nillable` - boolean value
        `block` - int (see XMLElementDefinition)
        `_final` - int (see XMLElementDefinition)
        `comp` - XSDComposition object. This is the definition of the tuple content model.

  - ### Method Detail

    - #### clear

          public void clear()
                     throws java.lang.Throwable

      Description copied from class: `XMLFragment`
      Frees-up used memory

      This method should not be invoqued on live objects in the DTS. It is automatically invoqued by the API when an object is no longer used and referenced by other objects. It is save not to call it directly.

      Overrides:
        `clear` in class `XMLElementDefinition`
      Throws:
        `java.lang.Throwable` - the throwable

    - #### 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 `XMLElementDefinition`
      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

    - #### getComposition

          public XSDComposition getComposition()
                                        throws XBRLValidationException

      Access to the XSDComposition object. This is a compiled representation of the content model.

      Remarks: If the type definition is local to the tuple (complexType is child to the tuple element declaration), then the returned XSDComposition object will be used for generating back the XML representation of the tuple content model. If the type definition is global, the returned XSDComposition represents the tuple content model but it will not be used for generating the back the XML nodes.

      Returns:
        XSDComposition
      Throws:
        `XBRLValidationException` - the XBRL validation exception

    - #### setComposition

          public void setComposition(XSDComposition comp)

      Sets the composition to a new XSDComposition instance.

      By calling this method the type property is reset as if `XMLElementDefinition.setType(XBRLXSDTypeDefinition)` were called with null parameter.

      Parameters:
        `comp` - the new composition
      Since:
        2.6.7

    - #### getElements

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

      Description copied from class: `XMLFragment`
      For complex type resources this returns an iterator with all children XML fragments This method may be overwriten by other classes in the hierarchy.
      Overrides:
        `getElements` in class `XMLFragment`
      Returns:
        Iterator

    - #### getInSubstitutionGroup

          public java.util.Collection<XBRLTuple> getInSubstitutionGroup()

      Gets the in substitution group.
      Overrides:
        `getInSubstitutionGroup` in class `XMLElementDefinition`
      Returns:
        Collection<XBRLTuple>

    - #### getFriendlyName

          public java.lang.String getFriendlyName()

      Description copied from class: `XMLFragment`
      Returns a string description that represents the element content in a form that users can understand. This method may be overridden by parent classes.

      Remarks, this method may return very long names not suitable for user interface

      Overrides:
        `getFriendlyName` in class `XMLElementDefinition`
      Returns:
        Non empty String. Internationalization is enabled

    - #### getFriendlyName

          public java.lang.String getFriendlyName(int modifiers,
                                         LabelsProvider lp)

      Description copied from class: `XMLFragment`
      Returns a string description that represents the element content in a form that users can understand. This method may be override by parent classes.

      This function accepts flags that are defined as constants in XMLFragment in order to modify the output.

      - `XMLFragment.XPOINTER` includes the element position in the source file using the XPointer specification. Note, if the document is created from objects the value may not be available
      - `XMLFragment.XPATH` includes the element position in the source file using XPATH. Note, if the document is created from objects the value may not be available
      - `XMLFragment.NO_POSITION` does not include the element position in the source file.
      - `XMLFragment.CONCEPT_QNAME` for XBRLItem, XBRLTuple and XMLElementDefinition.
      - `XMLFragment.CONCEPT_LABEL` for XBRLItem and XBRLTuple.
      - `XMLFragment.FACT_QNAME` for facts.
      - `XMLFragment.FACT_CONCEPT_LABEL` for facts.
      - `XMLFragment.SHORT_TEXT` for resources, returns the resource text, id or xlink:label
      - `XMLFragment.EASY_TO_READ` for contexts, returns the context date and dimensions in a user friendly text representation
      Overrides:
        `getFriendlyName` in class `XMLElementDefinition`
      Parameters:
        `modifiers` - integer
        `lp` - the lp
      Returns:
        Non empty String. Internationalization is enabled

    - #### getValidationReport

          public XBRLValidationReport getValidationReport()

      Description copied from interface: `XBRLValidation`
      Access to the last stored validation report.
      Specified by:
        `getValidationReport` in interface `XBRLValidation`
      Returns:
        XBRLValidationReport or null if the object has not been validated or no errors exists

    - #### validate

          public XBRLValidationReport validate(XBRLPlugInProcessor proc)

      Description copied from interface: `XBRLValidation`
      Executes validation on the instance object and returns a validation report.

      The validation result may be cached internally. A call to `XBRLValidation.invalidate(Direction)` clears the validation cache.

      Specified by:
        `validate` in interface `XBRLValidation`
      Parameters:
        `proc` - the processor under which the object is going to be validated. Note the same object can be validated on multiple processors.
      Returns:
        the validation report or null if no errors.

    - #### invalidate

          public void invalidate()

      Description copied from interface: `XBRLValidation`
      Invalidates the XBRLFact for XBRL validation.
      Specified by:
        `invalidate` in interface `XBRLValidation`

    - #### invalidate

          public boolean invalidate(XBRLValidation.Direction dir)

      Description copied from interface: `XBRLValidation`
      Invalidates this object and the elements in the XML tree according with the parameter in dir

      This method is used by GUI tools that requires to reset validation before a manual validation cycle is started.

      Specified by:
        `invalidate` in interface `XBRLValidation`
      Parameters:
        `dir` - see the `XBRLValidation.Direction` enumeration for more information.
      Returns:
        true, if successful

    - #### isOnValidation

          public boolean isOnValidation()

      Description copied from interface: `XBRLValidation`
      When validation is a recursive process, this function returns true if the object going to be validated is already under validation. This prevents a recursive loop to enter the same validation component in an infinite loop.
      Specified by:
        `isOnValidation` in interface `XBRLValidation`
      Returns:
        true if the document is under validation. Means, the validation has not finished.