com.ihr.xbrl.om.formula.filters

## Class XBRLFormulaFilterBase

- 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

- All Implemented Interfaces:
    HasAdditionalEqualityForReassignation, XBRLRelationshipPoint, XBRLDelayedCompilationFilter, XBRLFormulaFilter, HasFormulaProcessor, Thinable, XBRLValidation, XBRLValueKey, XMLHasParent, java.lang.Cloneable, javax.xml.namespace.NamespaceContext
  Direct Known Subclasses:
    XBRLAncestorFilter, XBRLAndFilter, XBRLAspectCoverFilter, XBRLConceptFilterAbstract, XBRLDimensionFilterAbstract, XBRLGeneralFilter, XBRLGeneralMeasuresFilter, XBRLIdentifierFilter, XBRLLocationFilter, XBRLMatchAbstractFilter, XBRLOrFilter, XBRLParentFilter, XBRLPeriodFilterAbstract, XBRLRegExpIdentifierFilter, XBRLRegExpSchemeFilter, XBRLRelativeFilter, XBRLScenarioFilter, XBRLSegmentFilter, XBRLSiblingFilter, XBRLSingleMeasureFilter, XBRLSpecificIdentifierFilter, XBRLSpecificSchemeFilter, XBRLValueNilFilter, XBRLValuePrecisionFilter

      public abstract class XBRLFormulaFilterBase
      extends XBRLFormulaResource
      implements XBRLFormulaFilter, XBRLDelayedCompilationFilter

  The Class XBRLFormulaFilterBase.
  Author:
    Ignacio

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.ihr.xbrl.om.XBRLValidation

      `XBRLValidation.Direction`

  - ### Field Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `compileFilter()` This is the method that will be called by the Formula Processor in order to compile the filter XPath expression.
    `boolean` | `isCompiled()` There may be nested dependencies between 'and' and 'or' filters.
    `java.lang.String` | `toString()` Returns the XML representation of this object as an String.

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

      `collectVariables, getFilterWeight, getLabel, getRelatedAspect, getXPathTerm`

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

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

- - ### Constructor Detail

    - #### XBRLFormulaFilterBase

          public XBRLFormulaFilterBase(XBRLFormulaProcessor proc,
                               XBRLResource res)

      Instantiates a new XBRL formula filter base.
      Parameters:
        `proc` - the proc
        `res` - the res

    - #### XBRLFormulaFilterBase

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

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

  - ### Method Detail

    - #### isCompiled

          public boolean isCompiled()

      Description copied from interface: `XBRLDelayedCompilationFilter`
      There may be nested dependencies between 'and' and 'or' filters. so resources may not be available in the form of a filter during the filter compilation time.

      If this happens (resources not available) then this flag is marked as true (resource not compiled) and the XPath expression is not generated.

      During compilation phase of 'and' and 'or' a loop is created until all filters are compiled.

      Specified by:
        `isCompiled` in interface `XBRLDelayedCompilationFilter`
      Returns:
        true if the filter XPath expression has been generated completely

    - #### compileFilter

          public boolean compileFilter()
                                throws XFValidationException

      Description copied from interface: `XBRLDelayedCompilationFilter`
      This is the method that will be called by the Formula Processor in order to compile the filter XPath expression.
      Specified by:
        `compileFilter` in interface `XBRLDelayedCompilationFilter`
      Returns:
        true if the filter has been successfully compiled. False if the filter requires further compilation.
      Throws:
        `XFValidationException` - the XF validation exception

    - #### toString

          public java.lang.String toString()

      Description copied from class: `XMLFragment`
      Returns the XML representation of this object as an String.
      Overrides:
        `toString` in class `XMLFragment`
      Returns:
        the string