Class MagicLabelPredicate
- java.lang.Object
-
- com.google.gerrit.index.query.Predicate<T>
-
- com.google.gerrit.index.query.OperatorPredicate<I>
-
- com.google.gerrit.index.query.IndexPredicate<ChangeData>
-
- com.google.gerrit.server.query.change.ChangeIndexPredicate
-
- com.google.gerrit.server.query.change.MagicLabelPredicate
-
- All Implemented Interfaces:
Matchable<ChangeData>
public class MagicLabelPredicate extends ChangeIndexPredicate
-
-
Field Summary
Fields Modifier and Type Field Description protected LabelPredicate.Args
args
-
Fields inherited from class com.google.gerrit.index.query.OperatorPredicate
name, value
-
-
Constructor Summary
Constructors Constructor Description MagicLabelPredicate(LabelPredicate.Args args, MagicLabelVote magicLabelVote, Account.Id account)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
match(ChangeData changeData)
This method matches documents without calling an index subsystem.protected static LabelType
type(LabelTypes types, String toFind)
-
Methods inherited from class com.google.gerrit.server.query.change.ChangeIndexPredicate
none
-
Methods inherited from class com.google.gerrit.index.query.IndexPredicate
getCost, getField, getType
-
Methods inherited from class com.google.gerrit.index.query.OperatorPredicate
copy, equals, getOperator, getValue, hashCode, toString
-
Methods inherited from class com.google.gerrit.index.query.Predicate
and, and, any, asMatchable, estimateCost, getChild, getChildCount, getChildren, getFlattenedPredicateList, getLeafCount, getPredicateString, isLeaf, isMatchable, not, or, or, supportedForQueries
-
-
-
-
Field Detail
-
args
protected final LabelPredicate.Args args
-
-
Constructor Detail
-
MagicLabelPredicate
public MagicLabelPredicate(LabelPredicate.Args args, MagicLabelVote magicLabelVote, Account.Id account)
-
-
Method Detail
-
match
public boolean match(ChangeData changeData)
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 asIndexPredicate.match(Object)
tokenizes both the query and the indexed text and matches tokens individually.- Specified by:
match
in interfaceMatchable<ChangeData>
- Overrides:
match
in classIndexPredicate<ChangeData>
- Returns:
- true if the predicate matches the provided
I
.
- Prefix: Lucene as well as
-
type
protected static LabelType type(LabelTypes types, String toFind)
-
-