com.ihr.xbrl.om.formula.filters

## Class XBRLTypedDimensionFilter

- 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.XBRLTypedDimensionFilter

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

      public class XBRLTypedDimensionFilter
      extends XBRLDimensionFilterAbstract
      implements HasIsDeterministic

  The Class XBRLTypedDimensionFilter.
  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, 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
    `XBRLTypedDimensionFilter(XBRLFormulaProcessor proc, XBRLResource other)` Instantiates a new XBRL typed 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.
    `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.
    `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, 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.

  - ### Constructor Detail

    - #### XBRLTypedDimensionFilter

          public XBRLTypedDimensionFilter(XBRLFormulaProcessor proc,
                                  XBRLResource other)
                                   throws XFValidationException

      Instantiates a new XBRL typed 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

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