Class RequirementQuery

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public class RequirementQuery
    extends Query
    Models a query where the query terms have been qualified with a requirement operator, either plus, or minus.
    Author:
    Vassilis Plachouras & Craig Macdonald
    See Also:
    Serialized Form
    • Constructor Detail

      • RequirementQuery

        public RequirementQuery()
        An empty default constructor.
    • Method Detail

      • clone

        public java.lang.Object clone()
        Deep copy this Query object
        Overrides:
        clone in class Query
      • setRequired

        public void setRequired​(boolean needed)
        Sets whether the query is required or not.
        Parameters:
        needed - boolean indicates whether the query is required or not.
      • getRequired

        public boolean getRequired()
        Returns True if the subquery is REQUIRED to exist, or false if it REQUIRED to NOT exit.
        Returns:
        See above.
      • toString

        public java.lang.String toString()
        Returns a string representation of the query.
        Specified by:
        toString in class Query
        Returns:
        String a string representation of the query.
      • obtainQueryTerms

        public void obtainQueryTerms​(MatchingQueryTerms terms,
                                     java.lang.String field,
                                     java.lang.Boolean required,
                                     java.lang.Double weight)
        Specified by:
        obtainQueryTerms in class Query
      • obtainControls

        public boolean obtainControls​(java.util.Set<java.lang.String> allowed,
                                      java.util.Map<java.lang.String,​java.lang.String> controls)
        This object cannot contain any controls, so this method will always return false.
        Overrides:
        obtainControls in class Query
        Returns:
        false
      • getTermsOf

        public void getTermsOf​(java.lang.Class<? extends Query> c,
                               java.util.List<Query> alist,
                               boolean req)
        Returns all the query terms, in subqueries that are instances of a given class.
        Specified by:
        getTermsOf in class Query
        Parameters:
        c - Class a class of queries.
        alist - ArrayList the list of query terms.
        req - boolean indicates whether the subqueries are required or not.
      • parseTree

        public java.lang.String parseTree()
        Description copied from class: Query
        Returns the parse tree for the query as a string
        Specified by:
        parseTree in class Query