Class ChangeStatusPredicate

  • All Implemented Interfaces:
    HasCardinality, Matchable<ChangeData>

    public final class ChangeStatusPredicate
    extends ChangeIndexPredicate
    implements HasCardinality
    Predicate for a Change.Status.

    The actual name of this operator can differ, it usually comes as status: but may also be is: to help do-what-i-meanery for end-users searching for changes. Either operator name has the same meaning.

    Status names are looked up by prefix case-insensitively.

    • Method Detail

      • getStatus

        public Change.Status getStatus()
        Get the status for this predicate.
        Returns:
        the status, or null if this predicate is intended to never match any changes.
      • match

        public boolean match​(ChangeData object)
        Description copied from class: IndexPredicate
        This method matches documents without calling an index subsystem. For primitive fields (e.g. integer, long) , the matching logic is consistent across this method and all known index implementations. For text fields (i.e. prefix and full-text) the semantics vary between this implementation and known index implementations:
      • Prefix: Lucene as well as IndexPredicate.match(Object) matches terms as true prefixes (prefix:foo -> `foo bar` matches, but `baz foo bar` does not match). The index implementation at Google tokenizes both the query and the indexed text and matches tokens individually (prefix:fo ba -> `baz foo bar` matches).
      • Full text: Lucene uses a PhraseQuery to search for terms in full text fields in-order. The index implementation at Google as well as IndexPredicate.match(Object) tokenizes both the query and the indexed text and matches tokens individually.
Specified by:
match in interface Matchable<ChangeData>
Overrides:
match in class IndexPredicate<ChangeData>
Returns:
true if the predicate matches the provided I.