Interface SearchCondition<T>

    • Method Detail

      • isMet

        boolean isMet​(T pojo)
        Checks if the given pojo instance meets this search condition
        Parameters:
        pojo - the object which will be checked
        Returns:
        true if the pojo meets this search condition, false - otherwise
      • findAll

        List<T> findAll​(Collection<T> pojos)
        Returns a list of pojos matching the condition
        Parameters:
        pojos - list of pojos
        Returns:
        list of the matching pojos or null if none have been found
      • getCondition

        T getCondition()
        Some SearchConditions may use instance of T to capture the actual search criteria thus making it simpler to implement isMet(T). In some cases, the code which is given SearchCondition may find it more efficient to directly deal with the captured state for a more efficient lookup of matching data/records as opposed to calling SearchCondition.isMet for every instance of T it knows about.
        Returns:
        T the captured search criteria, can be null
      • getStatement

        PrimitiveStatement getStatement()
        Primitive statement such a > b, i < 5, etc this condition may represent. Complex conditions will return null.
        Returns:
        primitive search statement, can be null
      • getSearchConditions

        List<SearchCondition<T>> getSearchConditions()
        List of conditions this SearchCondition may represent. Composite SearchConditions will return a list of conditions they are composed from, primitive ones will return null
        Returns:
        list of conditions, can be null
      • getConditionType

        ConditionType getConditionType()
        Returns the type of the condition this SearchCondition represents
        Returns:
        condition type
      • accept

        void accept​(SearchConditionVisitor<T,​?> visitor)
        Provides a visitor which will convert this SearchCondition into a custom expression, for example, into the SQL statement, etc
        Parameters:
        visitor -