com.ihr.xbrl.filters

## Interface XBRLFilterInterface

- All Known Implementing Classes:
    CompanyFilter, ConceptNameFilter, DimensionFilter, ReportURIFilter, TimeFilter

      public interface XBRLFilterInterface

  The Interface XBRLFilterInterface.
  Author:
    Ignacio

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getAsString()` Returns the string representation of this filter.
    `java.lang.String` | `getTable()` Returns the name of a new table to be added to the filter query.
    `java.lang.String` | `getTableWhere()` Returns the where clause that joins the table with the existing XBRLFactItems table.
    `java.lang.String` | `getWhere()` Returns the text of the where clause (without the "and" clause) there is only one if the `hasWhereClause()` function has returned true.
    `boolean` | `hasTables()` This shall return true if the filter requires a new table to be inserted in the query.
    `boolean` | `hasWhereClause()` Returns true if the filter is able to provide a where clause to the query statement.
    `void` | `removeFactsNotPass(java.util.List<?> lst)` Removes the facts not pass.
    `org.hibernate.Query` | `setParameters(org.hibernate.Query q)` Fills in the parameter values for this query in the where clause.

- - ### Method Detail

    - #### removeFactsNotPass

          void removeFactsNotPass(java.util.List<?> lst)

      Removes the facts not pass.
      Parameters:
        `lst` - the lst

    - #### getAsString

          java.lang.String getAsString()

      Returns the string representation of this filter.
      Returns:
        the as string

    - #### hasWhereClause

          boolean hasWhereClause()

      Returns true if the filter is able to provide a where clause to the query statement.
      Returns:
        boolean

    - #### getWhere

          java.lang.String getWhere()
                                    throws java.lang.IllegalAccessException

      Returns the text of the where clause (without the "and" clause) there is only one if the `hasWhereClause()` function has returned true.

      When preparing the returned string, f is the XBRLFact pojo instance other classes may use in the where clause

      Returns:
        the where
      Throws:
        `java.lang.IllegalAccessException` - if the class does not implements this method

    - #### setParameters

          org.hibernate.Query setParameters(org.hibernate.Query q)
                                            throws java.lang.IllegalAccessException

      Fills in the parameter values for this query in the where clause.
      Parameters:
        `q` - the query without the parameters filled in.
      Returns:
        Query with the parameters filled in
      Throws:
        `java.lang.IllegalAccessException` - if the class does not implements this method

    - #### hasTables

          boolean hasTables()

      This shall return true if the filter requires a new table to be inserted in the query. If the return value is true, getTable() and getTableWhere() will be called to obtain the required values.
      Returns:
        boolean value

    - #### getTable

          java.lang.String getTable()
                                    throws java.lang.IllegalAccessException

      Returns the name of a new table to be added to the filter query.
      Returns:
        String with the name of the table to be added and alias for the table
      Throws:
        `java.lang.IllegalAccessException` - if the method is called for a filter that does not adds tables

    - #### getTableWhere

          java.lang.String getTableWhere()
                                         throws java.lang.IllegalAccessException

      Returns the where clause that joins the table with the existing XBRLFactItems table.
      Returns:
        String with the where clause
      Throws:
        `java.lang.IllegalAccessException` - if the method is called on a filter that does not adds tables