Package com.google.gerrit.index.query
Class IntegerRangePredicate<T>
- java.lang.Object
-
- com.google.gerrit.index.query.Predicate<T>
-
- com.google.gerrit.index.query.OperatorPredicate<I>
-
- com.google.gerrit.index.query.IndexPredicate<T>
-
- com.google.gerrit.index.query.IntegerRangePredicate<T>
-
- All Implemented Interfaces:
Matchable<T>
- Direct Known Subclasses:
IntegerRangeChangePredicate
public abstract class IntegerRangePredicate<T> extends IndexPredicate<T>
-
-
Field Summary
-
Fields inherited from class com.google.gerrit.index.query.OperatorPredicate
name, value
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
IntegerRangePredicate(FieldDef<T,Integer> type, String value)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
getMaximumValue()
Return the maximum value of this predicate's range, inclusive.int
getMinimumValue()
Return the minimum value of this predicate's range, inclusive.protected abstract Integer
getValueInt(T object)
boolean
match(T object)
This method matches documents without calling an index subsystem.-
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
-
-
-
-
Constructor Detail
-
IntegerRangePredicate
protected IntegerRangePredicate(FieldDef<T,Integer> type, String value) throws QueryParseException
- Throws:
QueryParseException
-
-
Method Detail
-
match
public boolean match(T 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 asIndexPredicate.match(Object)
tokenizes both the query and the indexed text and matches tokens individually. - Prefix: Lucene as well as
-
getMinimumValue
public int getMinimumValue()
Return the minimum value of this predicate's range, inclusive.
-
getMaximumValue
public int getMaximumValue()
Return the maximum value of this predicate's range, inclusive.
-
-