Class ProjectQueryProcessor
java.lang.Object
com.google.gerrit.index.query.QueryProcessor<com.google.gerrit.index.project.ProjectData>
com.google.gerrit.server.query.project.ProjectQueryProcessor
public class ProjectQueryProcessor
extends QueryProcessor<com.google.gerrit.index.project.ProjectData>
Query processor for the project index.
Instances are one-time-use. Other singleton classes should inject a Provider rather than holding on to a single instance.
By default, enforces visibility to CurrentUser.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
Nested classes/interfaces inherited from class com.google.gerrit.index.query.QueryProcessor
QueryProcessor.Metrics
-
Field Summary
Fields inherited from class com.google.gerrit.index.query.QueryProcessor
start
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ProjectQueryProcessor
(com.google.inject.Provider<CurrentUser> userProvider, AccountLimits.Factory limitsFactory, ProjectQueryProcessor.ProjectQueryMetrics projectQueryMetrics, IndexConfig indexConfig, com.google.gerrit.index.project.ProjectIndexCollection indexes, com.google.gerrit.index.project.ProjectIndexRewriter rewriter, PermissionBackend permissionBackend, ProjectCache projectCache) -
Method Summary
Modifier and TypeMethodDescriptionprotected Predicate<com.google.gerrit.index.project.ProjectData>
enforceVisibility
(Predicate<com.google.gerrit.index.project.ProjectData> pred) Invoked after the query was rewritten.protected String
formatForLogging
(com.google.gerrit.index.project.ProjectData projectData) protected int
protected int
Methods inherited from class com.google.gerrit.index.query.QueryProcessor
createOptions, enforceVisibility, getEffectiveLimit, getInitialPageSize, getUserQueryLimit, isDisabled, query, query, setAllowIncompleteResults, setNoLimit, setRequestedFields, setStart, setUserProvidedLimit
-
Constructor Details
-
ProjectQueryProcessor
@Inject protected ProjectQueryProcessor(com.google.inject.Provider<CurrentUser> userProvider, AccountLimits.Factory limitsFactory, ProjectQueryProcessor.ProjectQueryMetrics projectQueryMetrics, IndexConfig indexConfig, com.google.gerrit.index.project.ProjectIndexCollection indexes, com.google.gerrit.index.project.ProjectIndexRewriter rewriter, PermissionBackend permissionBackend, ProjectCache projectCache)
-
-
Method Details
-
enforceVisibility
protected Predicate<com.google.gerrit.index.project.ProjectData> enforceVisibility(Predicate<com.google.gerrit.index.project.ProjectData> pred) Description copied from class:QueryProcessor
Invoked after the query was rewritten. Subclasses must overwrite this method to filter out results that are not visible to the calling user.- Specified by:
enforceVisibility
in classQueryProcessor<com.google.gerrit.index.project.ProjectData>
- Parameters:
pred
- the query- Returns:
- the modified query
-
formatForLogging
- Specified by:
formatForLogging
in classQueryProcessor<com.google.gerrit.index.project.ProjectData>
-
getIndexSize
protected int getIndexSize()- Specified by:
getIndexSize
in classQueryProcessor<com.google.gerrit.index.project.ProjectData>
-
getBatchSize
protected int getBatchSize()- Specified by:
getBatchSize
in classQueryProcessor<com.google.gerrit.index.project.ProjectData>
-