com.ihr.xbrl.om.exLinks

## Class XBRLArc

- java.lang.Object
- - com.ihr.xbrl.om.XMLFragment
  - - com.ihr.xbrl.om.exLinks.XLinkElement
    - - com.ihr.xbrl.om.exLinks.XBRLArc

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

      public class XBRLArc
      extends XLinkElement
      implements java.io.Serializable

  The Class XBRLArc.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static com.ihr.xbrl.om.exLinks.XBRLArc.PriorityOrderComparator` | `ArcPriorityOrderComparatorInstance` The Constant ArcPriorityOrderComparatorInstance.
    `static int` | `OPTIONAL` The Constant OPTIONAL.
    `static int` | `PROHIBITED` The Constant PROHIBITED.

    - ### Fields inherited from class com.ihr.xbrl.om.exLinks.XLinkElement

      `actuate, ACTUATE, ARC, arcrole, ARCROLE, ETITLE, EXTENDED, from, FROM, href, HREF, label, LABEL, LOCATOR, RESOURCE, role, ROLE, show, SHOW, SIMPLE, title, TITLE, to, TO, type, TYPE`

    - ### 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
    `XBRLArc(DTSContainer dts, net.sf.saxon.s9api.XdmNode node)` Creates a new arc without surrounding node.
    `XBRLArc(XBRLExtendedLink parent, net.sf.saxon.s9api.XdmNode node, XBRLArcroleType arcroleType)` Creates a new XBRLArc with a surrounding node.

  - ### 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.
    `static boolean` | `compareTwoArcs(XBRLArc arc1, XBRLArc arc2)` Compare two arcs and returns true if both are duplicates.
    `static boolean` | `CompareTwoLocatorSets(java.util.Vector<XMLFragment> set1, java.util.Vector<XMLFragment> set2)` Compare two locator sets.
    `boolean` | `equals(java.lang.Object obj)` 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.lang.String` | `getFriendlyName()` Returns a string description that represents the element content in a form that users can understand.
    `int` | `getNumberOfObjectsFrom()` Returns the number of objects in the [To] property.
    `int` | `getNumberOfObjectsTo()` Returns the number of objects in the [From] property.
    `java.util.Iterator<XMLFragment>` | `getObjectsFrom()` Access to the [From relationship Information Items] property The first time the methid is called the objectsFrom Vector is created and data obtained from the DTS.
    `java.util.Iterator<XMLFragment>` | `getObjectsTo()` Access to the [From relationship Information Items] property.
    `java.lang.Double` | `getOrder()` Access to the [Order] property.
    `XBRLExtendedLink` | `getParent()` Access to the [Parent] property.
    `int` | `getPriority()` Gets the priority.
    `java.util.Iterator<XBRLRelationship>` | `getRelationships()` Gets the relationships.
    `int` | `getUse()` Access to the value of the use attribute on arcs.
    `void` | `removeFrom(XMLFragment ref)` Removes the from.
    `void` | `removeTo(XMLFragment ref)` Removes the to.

    - ### Methods inherited from class com.ihr.xbrl.om.exLinks.XLinkElement

      `getActuate, getArcrole, getFromTxt, getHRef, getLabel, getRole, getShow, getStaticLabel, getSType, getTitle, getToTxt, isRequiredAttribute, isValidAttribute, setActuate, setArcrole, setFrom, setHRef, setLabel, setRole, setShow, setSType, setTitle, setTo`

    - ### 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, getAttributes, getAttributeStringValue, getAttributeValue, getBase, getBase, getBaseURI, getBooleanValue, getChild, getContainer, getContainerDocumentURI, getDeclaredNamespaces, getDocument, getElements, getElementsHashCode, getFragment, getFriendlyName, 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, hashCode, 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`

- - ### Field Detail

    - #### ArcPriorityOrderComparatorInstance

          public static final com.ihr.xbrl.om.exLinks.XBRLArc.PriorityOrderComparator ArcPriorityOrderComparatorInstance

      The Constant ArcPriorityOrderComparatorInstance.

    - #### OPTIONAL

          public static final int OPTIONAL

      The Constant OPTIONAL.
      See Also:
        Constant Field Values

    - #### PROHIBITED

          public static final int PROHIBITED

      The Constant PROHIBITED.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### XBRLArc

          public XBRLArc(XBRLExtendedLink parent,
                 net.sf.saxon.s9api.XdmNode node,
                 XBRLArcroleType arcroleType)

      Creates a new XBRLArc with a surrounding node.
      Parameters:
        `parent` - XBRLExtendedLink
        `node` - NodeInfo
        `arcroleType` - XBRLArcroleType

    - #### XBRLArc

          public XBRLArc(DTSContainer dts,
                 net.sf.saxon.s9api.XdmNode node)
                  throws XBRLValidationException

      Creates a new arc without surrounding node.
      Parameters:
        `dts` - DTSContainer
        `node` - the XdmNode to read content from
      Throws:
        `XBRLValidationException` - the XBRL validation exception

  - ### Method Detail

    - #### clear

          public void clear()

      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 `XMLFragment`

    - #### getParent

          public XBRLExtendedLink getParent()

      Access to the [Parent] property. This is the XBRLExtendedLink object this arc belongs to The XBRLExtendedLink is independent from the Linkbase it is serialized. There is one XBRLExtendedLink per XBRLRole
      Specified by:
        `getParent` in interface `XMLHasParent`
      Overrides:
        `getParent` in class `XMLFragment`
      Returns:
        XBRLExtendedLink

    - #### getUse

          public int getUse()

      Access to the value of the use attribute on arcs. It may be either OPTIONAL or PROHIBITED. return the default value "OPTIONAL" if not set.
      Returns:
        int

    - #### getPriority

          public int getPriority()

      Gets the priority.
      Returns:
        the priority

    - #### getOrder

          public java.lang.Double getOrder()

      Access to the [Order] property. return 1.0 (the default value) if there is no order attribute or the value instead
      Returns:
        Double

    - #### getObjectsFrom

          public java.util.Iterator<XMLFragment> getObjectsFrom()
                                                         throws XBRLValidationException

      Access to the [From relationship Information Items] property The first time the methid is called the objectsFrom Vector is created and data obtained from the DTS. XBRLLocators are auxiliary objects and never stored in the Vector. The XMLDocument the locator is pointing to is stored in the Vector Also, the referenced object is signalled that participates in a relationship.
      Returns:
        Iterator
      Throws:
        `XBRLValidationException` - the XBRL validation exception

    - #### getNumberOfObjectsFrom

          public int getNumberOfObjectsFrom()
                                     throws XBRLValidationException

      Returns the number of objects in the [To] property. If the [To] property is not initialized this method forces to calculate it
      Returns:
        int
      Throws:
        `XBRLValidationException`

    - #### getNumberOfObjectsTo

          public int getNumberOfObjectsTo()
                                   throws XBRLValidationException

      Returns the number of objects in the [From] property. If the [From] property is not initialized this method forces to calculate it
      Returns:
        int
      Throws:
        `XBRLValidationException` - the XBRL validation exception

    - #### removeFrom

          public void removeFrom(XMLFragment ref)

      Removes the from.
      Parameters:
        `ref` - the ref

    - #### getObjectsTo

          public java.util.Iterator<XMLFragment> getObjectsTo()
                                                       throws XBRLValidationException

      Access to the [From relationship Information Items] property.
      Returns:
        Iterator
      Throws:
        `XBRLValidationException` - the XBRL validation exception

    - #### removeTo

          public void removeTo(XMLFragment ref)

      Removes the to.
      Parameters:
        `ref` - the ref

    - #### equals

          public boolean equals(java.lang.Object obj)

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

    - #### compareTwoArcs

          public static boolean compareTwoArcs(XBRLArc arc1,
                               XBRLArc arc2)
                                        throws XBRLValidationException

      Compare two arcs and returns true if both are duplicates.
      Parameters:
        `arc1` - XBRLArc
        `arc2` - XBRLArc
      Returns:
        boolean
      Throws:
        `XBRLValidationException` - the XBRL validation exception

    - #### CompareTwoLocatorSets

          public static boolean CompareTwoLocatorSets(java.util.Vector<XMLFragment> set1,
                                      java.util.Vector<XMLFragment> set2)

      Compare two locator sets.
      Parameters:
        `set1` - the set1
        `set2` - the set2
      Returns:
        true, if successful

    - #### getRelationships

          public java.util.Iterator<XBRLRelationship> getRelationships()
                                                                throws XBRLValidationException

      Gets the relationships.
      Returns:
        Iterator
      Throws:
        `XBRLValidationException` - the XBRL validation exception

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

    - #### 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 `XMLFragment`
      Returns:
        Non empty String. Internationalization is enabled