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 classNested 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
ConstructorsModifierConstructorDescriptionprotectedProjectQueryProcessor(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 StringformatForLogging(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:QueryProcessorInvoked after the query was rewritten. Subclasses must overwrite this method to filter out results that are not visible to the calling user.- Specified by:
enforceVisibilityin classQueryProcessor<com.google.gerrit.index.project.ProjectData>- Parameters:
pred- the query- Returns:
- the modified query
-
formatForLogging
- Specified by:
formatForLoggingin classQueryProcessor<com.google.gerrit.index.project.ProjectData>
-