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) -
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) Methods inherited from class com.google.gerrit.index.query.QueryProcessor
createOptions, enforceVisibility, getEffectiveLimit, getInitialPageSize, getUserQueryLimit, isDisabled, query, query, setAllowIncompleteResults, setNoLimit, setRequestedFields, setStart, setUserProvidedLimit, 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)
-
-
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>
-