public class ChangeQueryProcessor extends QueryProcessor<ChangeData> implements DynamicOptions.BeanReceiver, DynamicOptions.BeanProvider
Instances are one-time-use. Other singleton classes should inject a Provider rather than holding on to a single instance.
QueryProcessor.Metrics
start
Modifier and Type | Method and Description |
---|---|
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) |
PluginDefinedAttributesFactory |
getAttributesFactory() |
DynamicOptions.DynamicBean |
getDynamicBean(java.lang.String plugin) |
void |
setDynamicBean(java.lang.String plugin,
DynamicOptions.DynamicBean dynamicBean) |
isDisabled, query, query, setNoLimit, setRequestedFields, setStart, setUserProvidedLimit
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getExportedBeanReceiver
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)
getDynamicBean
in interface DynamicOptions.BeanProvider
public PluginDefinedAttributesFactory getAttributesFactory()
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>