com.ihr.xbrl.om.formula.filters

## Class XBRLAspectCoverFilter

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

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

      public class XBRLAspectCoverFilter
      extends XBRLFormulaFilterBase

  The Class XBRLAspectCoverFilter.
  Author:
    Ignacio

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `XBRLAspectCoverFilter.Aspect` The Enum Aspect.

    - ### 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` | `aspect` The Constant aspect.
    `static javax.xml.namespace.QName` | `dimension` The Constant dimension.
    `static javax.xml.namespace.QName` | `excludeDimension` The Constant excludeDimension.
    `static javax.xml.namespace.QName` | `qname` The Constant qname.
    `static javax.xml.namespace.QName` | `qnameExpression` The Constant qnameExpression.
    `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
    `XBRLAspectCoverFilter(XBRLFormulaProcessor proc, XBRLResource other)` Instantiates a new XBRL aspect cover filter.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addExcludeDimensions(java.util.HashSet<javax.xml.namespace.QName> dimensionsToExclude)` Adds the exclude dimensions.
    `void` | `addIncludeDimensions(java.util.HashSet<javax.xml.namespace.QName> dimensionsToInclude)` Adds the include dimensions.
    `static java.lang.String` | `aspectToString(XBRLAspectCoverFilter.Aspect aspect)` Aspect to string.
    `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)` Collect as much static information as possible about this 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.String` | `getXPathTerm(java.util.Collection<net.sf.saxon.s9api.QName> preDefinedVariables)` Access to the XPath expression for this filter according to the formula specification.
    `boolean` | `isCoveringDimension(javax.xml.namespace.QName dimName, boolean bIsCover)` Checks if is covering dimension.
    `static XBRLAspectCoverFilter.Aspect` | `parseAspect(java.lang.String value)` Converts from string representation to the aspect value in the enumeration.
    `int` | `processFilters(java.util.Vector<XBRLFilterUse> vFilters, boolean bIsCover)` 'override' the cover state of aspects resulting from the application of the other filters.

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

    - #### aspect

          public static final javax.xml.namespace.QName aspect

      The Constant aspect.

    - #### dimension

          public static final javax.xml.namespace.QName dimension

      The Constant dimension.

    - #### excludeDimension

          public static final javax.xml.namespace.QName excludeDimension

      The Constant excludeDimension.

    - #### qname

          public static final javax.xml.namespace.QName qname

      The Constant qname.

    - #### qnameExpression

          public static final javax.xml.namespace.QName qnameExpression

      The Constant qnameExpression.

  - ### Constructor Detail

    - #### XBRLAspectCoverFilter

          public XBRLAspectCoverFilter(XBRLFormulaProcessor proc,
                               XBRLResource other)

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

  - ### Method Detail

    - #### parseAspect

          public static XBRLAspectCoverFilter.Aspect parseAspect(java.lang.String value)

      Converts from string representation to the aspect value in the enumeration. only static values can be converted.
      Parameters:
        `value` - the value
      Returns:
        Aspect enumeration

    - #### aspectToString

          public static java.lang.String aspectToString(XBRLAspectCoverFilter.Aspect aspect)

      Aspect to string.
      Parameters:
        `aspect` - the aspect
      Returns:
        the string

    - #### compileFilter

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

      Collect as much static information as possible about this filter.
      Parameters:
        `preDefinedVariables` - the pre defined variables
      Returns:
        true, if successful

    - #### getXPathTerm

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

      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
      Throws:
        `XFValidationException` - if the variable filter XPath expression cannot be compiled for any reason

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

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

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

    - #### processFilters

          public int processFilters(java.util.Vector<XBRLFilterUse> vFilters,
                           boolean bIsCover)
                             throws XFValidationException

      'override' the cover state of aspects resulting from the application of the other filters.
      Parameters:
        `vFilters` - Vector of all filters to be considered together for the computation of the final result. One of the filters is this filter
        `bIsCover` - this is the value of the cover="true" or cover="false" attribute on the relationship linking this filterUse with the variable set
      Returns:
        the int
      Throws:
        `XFValidationException` - the XF validation exception

    - #### isCoveringDimension

          public boolean isCoveringDimension(javax.xml.namespace.QName dimName,
                                    boolean bIsCover)

      Checks if is covering dimension.
      Parameters:
        `dimName` - the dim name
        `bIsCover` - the b is cover
      Returns:
        true, if is covering dimension

    - #### addIncludeDimensions

          public void addIncludeDimensions(java.util.HashSet<javax.xml.namespace.QName> dimensionsToInclude)

      Adds the include dimensions.
      Parameters:
        `dimensionsToInclude` - the dimensions to include

    - #### addExcludeDimensions

          public void addExcludeDimensions(java.util.HashSet<javax.xml.namespace.QName> dimensionsToExclude)

      Adds the exclude dimensions.
      Parameters:
        `dimensionsToExclude` - the dimensions to exclude