com.ihr.xbrl.om.formula

## Interface XBRLVariablesHolder

- All Superinterfaces:
    HasFormulaProcessor
  All Known Implementing Classes:
    XBRLAssertion, XBRLConsistencyAssertion, XBRLExistenceAssertion, XBRLFormula, XBRLValueAssertion, XBRLVariableSetResource

      public interface XBRLVariablesHolder
      extends HasFormulaProcessor

  This interface defines the minimum methods that should be implemented by a class that contains a set of parameters or variables. The XBRLVariableResourceSet is one example and the XBRLConsistencyAssertion is another one
  Author:
    Ignacio

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `MODEL_DIMENSIONAL` The Constant MODEL_DIMENSIONAL.
    `static int` | `MODEL_NON_DIMENSIONAL` The Constant MODEL_NON_DIMENSIONAL.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getAspectModel()` Returns either XBRLVariablesHolder.MODEL_DIMENSIONAL or XBRLVariablesHolder.MODEL_NON_DIMENSIONAL
    `java.util.Collection<net.sf.saxon.s9api.QName>` | `getBindableVariableNames()` Access to a collection of QNames (Saxon s9api QNames) of all variables that are defined in this XBRLVariablesHolder
    `java.util.Collection<XBRLFilterUse>` | `getFilters()` Returns a collection of XBRLFilterUse instance representing the use of filters associated to this XBRLVariablesHolder.
    `XBRLVariableFormulaEvaluable` | `getVariableResource(javax.xml.namespace.QName qVar)` Access to the variable resource by its variable name.
    `net.sf.saxon.s9api.XdmValue` | `getVariableValue(javax.xml.namespace.QName variableName)` Access to the variable value using the variable name.
    `XFIImplicitFilterOptimizer` | `getXFIImplicitFilterOptimizer()` Returns or creates the instance of the fact variable optimizer when the fact variable is used with implicit filtering in a set with more than 2 variables.
    `boolean` | `isImplicitFilter()` Returns true if the variable set shall require implicit filtering.

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

      `getProcessor`

- - ### Field Detail

    - #### MODEL_DIMENSIONAL

          static final int MODEL_DIMENSIONAL

      The Constant MODEL_DIMENSIONAL.
      See Also:
        Constant Field Values

    - #### MODEL_NON_DIMENSIONAL

          static final int MODEL_NON_DIMENSIONAL

      The Constant MODEL_NON_DIMENSIONAL.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getVariableResource

          XBRLVariableFormulaEvaluable getVariableResource(javax.xml.namespace.QName qVar)

      Access to the variable resource by its variable name.
      Parameters:
        `qVar` - the q var
      Returns:
        XBRLVariableResource

    - #### getVariableValue

          net.sf.saxon.s9api.XdmValue getVariableValue(javax.xml.namespace.QName variableName)
                                                       throws XFValidationException

      Access to the variable value using the variable name. The returned value corresponds to the last evaluated value and is not evaluated again. It was evaluated prior to the formula expression evaluation
      Parameters:
        `variableName` - javax.xml.namespace.QName
      Returns:
        XdmValue
      Throws:
        `XFValidationException` - the XF validation exception

    - #### getBindableVariableNames

          java.util.Collection<net.sf.saxon.s9api.QName> getBindableVariableNames()

      Access to a collection of QNames (Saxon s9api QNames) of all variables that are defined in this XBRLVariablesHolder
      Returns:
        the bindable variable names

    - #### getAspectModel

          int getAspectModel()

      Returns either XBRLVariablesHolder.MODEL_DIMENSIONAL or XBRLVariablesHolder.MODEL_NON_DIMENSIONAL
      Returns:
        one of the two constants

    - #### getFilters

          java.util.Collection<XBRLFilterUse> getFilters()

      Returns a collection of XBRLFilterUse instance representing the use of filters associated to this XBRLVariablesHolder. Used while checking variables in order to obtain global filters
      Returns:
        the filters

    - #### isImplicitFilter

          boolean isImplicitFilter()

      Returns true if the variable set shall require implicit filtering.
      Returns:
        true, if is implicit filter

    - #### getXFIImplicitFilterOptimizer

          XFIImplicitFilterOptimizer getXFIImplicitFilterOptimizer()

      Returns or creates the instance of the fact variable optimizer when the fact variable is used with implicit filtering in a set with more than 2 variables.
      Returns:
        instance of the XFIImplicitFilterOptimizer