com.ihr.xbrl.filters

## Class TimeFilter

- java.lang.Object
- - com.ihr.xbrl.filters.TimeFilter

- All Implemented Interfaces:
    XBRLFilterInterface

      public class TimeFilter
      extends java.lang.Object
      implements XBRLFilterInterface

  The Class TimeFilter.
  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 `XBRLFilterInterface.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.
    `static XBRLFilterInterface` | `newTimeFilter(java.lang.String filter)` New time filter.
    `static XBRLFilterInterface` | `newTimeFilter(XBRLPeriod period)` New time filter.
    `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.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### removeFactsNotPass

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

      Description copied from interface: `XBRLFilterInterface`
      Removes the facts not pass.
      Specified by:
        `removeFactsNotPass` in interface `XBRLFilterInterface`
      Parameters:
        `lst` - the lst

    - #### newTimeFilter

          public static XBRLFilterInterface newTimeFilter(XBRLPeriod period)

      New time filter.
      Parameters:
        `period` - the period
      Returns:
        the XBRL filter interface

    - #### getAsString

          public java.lang.String getAsString()

      Description copied from interface: `XBRLFilterInterface`
      Returns the string representation of this filter.
      Specified by:
        `getAsString` in interface `XBRLFilterInterface`
      Returns:
        the as string

    - #### newTimeFilter

          public static XBRLFilterInterface newTimeFilter(java.lang.String filter)

      New time filter.
      Parameters:
        `filter` - the filter
      Returns:
        the XBRL filter interface

    - #### getWhere

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

      Description copied from interface: `XBRLFilterInterface`
      Returns the text of the where clause (without the "and" clause) there is only one if the `XBRLFilterInterface.hasWhereClause()` function has returned true.

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

      Specified by:
        `getWhere` in interface `XBRLFilterInterface`
      Returns:
        the where
      Throws:
        `java.lang.IllegalAccessException` - if the class does not implements this method

    - #### hasWhereClause

          public boolean hasWhereClause()

      Description copied from interface: `XBRLFilterInterface`
      Returns true if the filter is able to provide a where clause to the query statement.
      Specified by:
        `hasWhereClause` in interface `XBRLFilterInterface`
      Returns:
        boolean

    - #### setParameters

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

      Description copied from interface: `XBRLFilterInterface`
      Fills in the parameter values for this query in the where clause.
      Specified by:
        `setParameters` in interface `XBRLFilterInterface`
      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

          public boolean hasTables()

      Description copied from interface: `XBRLFilterInterface`
      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.
      Specified by:
        `hasTables` in interface `XBRLFilterInterface`
      Returns:
        boolean value

    - #### getTable

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

      Description copied from interface: `XBRLFilterInterface`
      Returns the name of a new table to be added to the filter query.
      Specified by:
        `getTable` in interface `XBRLFilterInterface`
      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

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

      Description copied from interface: `XBRLFilterInterface`
      Returns the where clause that joins the table with the existing XBRLFactItems table.
      Specified by:
        `getTableWhere` in interface `XBRLFilterInterface`
      Returns:
        String with the where clause
      Throws:
        `java.lang.IllegalAccessException` - if the method is called on a filter that does not adds tables