com.ihr.xbrl.om.formula.filters

## Class XBRLRelativeFilter

- java.lang.Object
- - com.ihr.xbrl.om.XMLFragment
  - - com.ihr.xbrl.om.exLinks.XLinkElement
    - - com.ihr.xbrl.om.exLinks.XBRLPointerOfARelationship
      - - com.ihr.xbrl.om.exLinks.XBRLResource
        - - com.ihr.xbrl.om.formula.XBRLFormulaResource
          - - com.ihr.xbrl.om.formula.filters.XBRLFormulaFilterBase
            - - com.ihr.xbrl.om.formula.filters.XBRLRelativeFilter

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

      public class XBRLRelativeFilter
      extends XBRLFormulaFilterBase

  The Class XBRLRelativeFilter.
  Author:
    Ignacio

- - ### 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` | `dimension` The Constant dimension.
    `static javax.xml.namespace.QName` | `resourceName` The Constant resourceName.
    `static javax.xml.namespace.QName` | `variable` The Constant variable.

    - ### Fields inherited from class com.ihr.xbrl.om.formula.XBRLFormulaResource

      `log`

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

      `nullResource`

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

    - ### 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
    `XBRLRelativeFilter(XBRLFormulaProcessor proc, XBRLExtendedLink parent, net.sf.saxon.s9api.XdmNode resNode)` Instantiates a new XBRL relative filter.
    `XBRLRelativeFilter(XBRLFormulaProcessor proc, XBRLResource other)` Instantiates a new XBRL relative filter.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `collectVariables(java.util.Collection<javax.xml.namespace.QName> col, java.util.Collection<net.sf.saxon.s9api.QName> resolved)` This method is called after the filter has been compiled.
    `boolean` | `compileFilter(java.util.Collection<net.sf.saxon.s9api.QName> preDefinedVariables)` Compile filter.
    `int` | `getFilterWeight()` Returns a number assigned statically to every filter type in order to facilitate evaluate the right order in which filters should be concatenated in an XPath expression or Boolean Filter.
    `int` | `getRelatedAspect(boolean bIsCover)` Returns a constant value indicating the aspect covered by this filter Constants are defined in the CommonAspectRule class.
    `java.lang.Long` | `getRelativeFilterId()` Gets the relative filter id.
    `java.lang.String` | `getXPathTerm(java.util.Collection<net.sf.saxon.s9api.QName> preDefinedVariables)` Access to the XPath expression for this filter according to the formula specification.
    `void` | `setCoveredAspects(int cover)` Sets the covered aspects.

    - ### Methods inherited from class com.ihr.xbrl.om.formula.filters.XBRLFormulaFilterBase

      `compileFilter, isCompiled, toString`

    - ### Methods inherited from class com.ihr.xbrl.om.formula.XBRLFormulaResource

      `getProcessor`

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

      `addChild, clear, equals, generateLocatorToNode, generateNode, getAttributes, getDTSBase, getFriendlyName, getFriendlyName, getParent, getResourceIdentifier, getRoleType, getType, getValidationReport, getValueKey, hashCode, invalidate, invalidate, isComplexType, isOnValidation, isSimpleType, setComplexType, setDTSBase, setId, setParent, setRole, setRoleType, setSimpleType, setValue, validate`

    - ### 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, setShow, setSType, setTitle, setTo`

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

      `addAttribute, 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, getElements, 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, setVariablesDefined, size, thin, valueEquals, xEqual`

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

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

    - ### Methods inherited from interface com.ihr.xbrl.om.formula.filters.XBRLFormulaFilter

      `getLabel`

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

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

- - ### Field Detail

    - #### resourceName

          public static final javax.xml.namespace.QName resourceName

      The Constant resourceName.

    - #### variable

          public static final javax.xml.namespace.QName variable

      The Constant variable.

    - #### dimension

          public static final javax.xml.namespace.QName dimension

      The Constant dimension.

  - ### Constructor Detail

    - #### XBRLRelativeFilter

          public XBRLRelativeFilter(XBRLFormulaProcessor proc,
                            XBRLExtendedLink parent,
                            net.sf.saxon.s9api.XdmNode resNode)

      Instantiates a new XBRL relative filter.
      Parameters:
        `proc` - the proc
        `parent` - the parent
        `resNode` - the res node

    - #### XBRLRelativeFilter

          public XBRLRelativeFilter(XBRLFormulaProcessor proc,
                            XBRLResource other)

      Instantiates a new XBRL relative filter.
      Parameters:
        `proc` - the proc
        `other` - the other

  - ### Method Detail

    - #### compileFilter

          public boolean compileFilter(java.util.Collection<net.sf.saxon.s9api.QName> preDefinedVariables)

      Description copied from class: `XBRLFormulaFilterBase`
      Compile filter.
      Parameters:
        `preDefinedVariables` - the pre defined variables
      Returns:
        true, if successful

    - #### getRelativeFilterId

          public java.lang.Long getRelativeFilterId()

      Gets the relative filter id.
      Returns:
        the relative filter id

    - #### collectVariables

          public void collectVariables(java.util.Collection<javax.xml.namespace.QName> col,
                              java.util.Collection<net.sf.saxon.s9api.QName> resolved)

      Description copied from interface: `XBRLFormulaFilter`
      This method is called after the filter has been compiled. The method must add to the parameter all variables required for the evaluation of the XPath sentence that will be returned by the getXPathTerm() method
      Parameters:
        `col` - the collection where variables will be appended
        `resolved` - the resolved

    - #### getRelatedAspect

          public int getRelatedAspect(boolean bIsCover)

      Description copied from interface: `XBRLFormulaFilter`
      Returns a constant value indicating the aspect covered by this filter Constants are defined in the CommonAspectRule class.
      Parameters:
        `bIsCover` - boolean value indicating the value of the cover attribute on the arc connecting the variable with the filter
      Returns:
        integer constant

    - #### getFilterWeight

          public int getFilterWeight()

      Description copied from interface: `XBRLFormulaFilter`
      Returns a number assigned statically to every filter type in order to facilitate evaluate the right order in which filters should be concatenated in an XPath expression or Boolean Filter. The number is assigned in a table inside the XBRLFilterOrderTool class.

      A typical implementation should just do:

           XBRLFilterOrderTool.getFilterWeight(getClass());

      and make sure the class is defined in the XBRLFilterOrderTool
      Returns:
        integer for comparison of filter order

    - #### getXPathTerm

          public java.lang.String getXPathTerm(java.util.Collection<net.sf.saxon.s9api.QName> preDefinedVariables)

      Description copied from interface: `XBRLFormulaFilter`
      Access to the XPath expression for this filter according to the formula specification.
      Parameters:
        `preDefinedVariables` - set of pre defined variables in the variable set
      Returns:
        The XPath expression for this filter

    - #### setCoveredAspects

          public void setCoveredAspects(int cover)

      Sets the covered aspects.
      Parameters:
        `cover` - the new covered aspects