public class ChangeQueryProcessor extends QueryProcessor<ChangeData> implements DynamicOptions.BeanReceiver, PluginDefinedAttributesFactory
Instances are one-time-use. Other singleton classes should inject a Provider rather than holding on to a single instance.
Modifier and Type | Class and Description |
---|---|
static interface |
ChangeQueryProcessor.ChangeAttributeFactory
Register a ChangeAttributeFactory in a config Module like this:
|
QueryProcessor.Metrics
start
Modifier and Type | Method and Description |
---|---|
java.util.List<PluginDefinedInfo> |
create(ChangeData cd) |
protected QueryOptions |
createOptions(IndexConfig indexConfig,
int start,
int limit,
java.util.Set<java.lang.String> requestedFields) |
ChangeQueryProcessor |
enforceVisibility(boolean enforce)
Specify whether to enforce visibility by filtering out results that are not visible to the
user.
|
protected Predicate<ChangeData> |
enforceVisibility(Predicate<ChangeData> pred)
Invoked after the query was rewritten.
|
protected java.lang.String |
formatForLogging(ChangeData changeData) |
DynamicOptions.DynamicBean |
getDynamicBean(java.lang.String plugin) |
void |
setDynamicBean(java.lang.String plugin,
DynamicOptions.DynamicBean dynamicBean) |
isDisabled, query, query, setRequestedFields, setStart, setUserProvidedLimit
public ChangeQueryProcessor enforceVisibility(boolean enforce)
QueryProcessor
Enforcing visibility may have performance consequences, as the index system may need to post-filter a large number of results to fill even a modest limit.
If visibility is enforced, the user's queryLimit
global capability is also used to
bound the total number of results. If this capability is non-positive, this results in the
entire query processor being disabled
.
enforceVisibility
in class QueryProcessor<ChangeData>
enforce
- whether to enforce visibility.protected QueryOptions createOptions(IndexConfig indexConfig, int start, int limit, java.util.Set<java.lang.String> requestedFields)
createOptions
in class QueryProcessor<ChangeData>
public void setDynamicBean(java.lang.String plugin, DynamicOptions.DynamicBean dynamicBean)
setDynamicBean
in interface DynamicOptions.BeanReceiver
public DynamicOptions.DynamicBean getDynamicBean(java.lang.String plugin)
public java.util.List<PluginDefinedInfo> create(ChangeData cd)
create
in interface PluginDefinedAttributesFactory
protected Predicate<ChangeData> enforceVisibility(Predicate<ChangeData> pred)
QueryProcessor
enforceVisibility
in class QueryProcessor<ChangeData>
pred
- the queryprotected java.lang.String formatForLogging(ChangeData changeData)
formatForLogging
in class QueryProcessor<ChangeData>