com.ihr.xbrl.om.formula.filters

## Class XBRLExplicitDimensionFilter

- 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.XBRLDimensionFilterAbstract
              - - com.ihr.xbrl.om.formula.filters.XBRLExplicitDimensionFilter

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

      public class XBRLExplicitDimensionFilter
      extends XBRLDimensionFilterAbstract
      implements HasIsDeterministic

  The Class XBRLExplicitDimensionFilter.
  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` | `resourceName` The Constant resourceName.

    - ### 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, 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
    `XBRLExplicitDimensionFilter(XBRLFormulaProcessor proc, XBRLResource other)` Instantiates a new XBRL explicit dimension 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.
    `java.lang.String` | `getFilterArcrole()` Gets the filter arcrole.
    `java.lang.String` | `getFilterAxis()` Gets the filter axis.
    `java.lang.String` | `getFilterLinkrole()` Gets the filter linkrole.
    `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.
    `java.lang.String` | `getFriendlyName()` Returns a string description that represents the element content in a form that users can understand.
    `java.util.Vector<javax.xml.namespace.QName>` | `getMembers()` Returns the declared members in the filter as a result of the deterministic filter evaluation.
    `java.lang.String` | `getToolTipText()` Returns a small text with HTML code that can be represented in a tool tip with information about this XMLFragment.
    `boolean` | `isDeterministic()` This method returns true if, during the static evaluation of the filter declaration, the filter does not depends on variables or external XPath that might result in variable values returned.

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

      `getDimension, getRelatedAspect, getXPathTerm`

    - ### 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, 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, 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.

  - ### Constructor Detail

    - #### XBRLExplicitDimensionFilter

          public XBRLExplicitDimensionFilter(XBRLFormulaProcessor proc,
                                     XBRLResource other)
                                      throws XFValidationException

      Instantiates a new XBRL explicit dimension filter.
      Parameters:
        `proc` - the proc
        `other` - the other
      Throws:
        `XFValidationException` - the XF validation exception

  - ### Method Detail

    - #### 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
      Specified by:
        `collectVariables` in interface `XBRLFormulaFilter`
      Parameters:
        `col` - the collection where variables will be appended
        `resolved` - the resolved

    - #### 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
      Specified by:
        `getFilterWeight` in interface `XBRLFormulaFilter`
      Returns:
        integer for comparison of filter order

    - #### getToolTipText

          public java.lang.String getToolTipText()

      Description copied from class: `XMLFragment`
      Returns a small text with HTML code that can be represented in a tool tip with information about this XMLFragment. This method shall be extended on specialized classes, the default implementation returns just the XML Fragment QName
      Overrides:
        `getToolTipText` in class `XMLFragment`
      Returns:
        the XMLFragment QName to string

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

    - #### isDeterministic

          public boolean isDeterministic()

      Description copied from interface: `HasIsDeterministic`
      This method returns true if, during the static evaluation of the filter declaration, the filter does not depends on variables or external XPath that might result in variable values returned.
      Specified by:
        `isDeterministic` in interface `HasIsDeterministic`
      Returns:
        boolean true if the filter is deterministic

    - #### getFilterArcrole

          public java.lang.String getFilterArcrole()

      Gets the filter arcrole.
      Returns:
        the arcrole

    - #### getFilterLinkrole

          public java.lang.String getFilterLinkrole()

      Gets the filter linkrole.
      Returns:
        the linkrole

    - #### getFilterAxis

          public java.lang.String getFilterAxis()

      Gets the filter axis.
      Returns:
        the axis

    - #### getMembers

          public java.util.Vector<javax.xml.namespace.QName> getMembers()

      Returns the declared members in the filter as a result of the deterministic filter evaluation.
      Returns:
        the vMembers