public abstract class IndexPlanner extends Object
IndexProvider.getIndexPlanner()
Constructor and Description |
---|
IndexPlanner() |
Modifier and Type | Method and Description |
---|---|
abstract void |
applyIndexes(QueryContext context,
SelectorName selector,
List<Constraint> andedConstraints,
Iterable<IndexDefinition> indexesOnSelector,
IndexCollector indexes)
Examine the supplied constraints applied to the given selector in a query, and record in the supplied
IndexCollector any and all indexes in this provider that can be used in this query. |
static IndexPlanner |
both(IndexPlanner planner1,
IndexPlanner planner2)
Utility that returns an
IndexPlanner implementation that delegates to the first planner and then to the second
planner. |
public abstract void applyIndexes(QueryContext context, SelectorName selector, List<Constraint> andedConstraints, Iterable<IndexDefinition> indexesOnSelector, IndexCollector indexes)
IndexCollector
any and all indexes in this provider that can be used in this query.context
- the context in which the query is being executed, provided by ModeShape; never nullselector
- the name of the selector against which all of the andedConstraints
are to be applied; never nullandedConstraints
- the immutable list of Constraint
instances that are all AND-ed and applied against the
selector
; never null but possibly emptyindexesOnSelector
- the available index definitions that apply to the node type identified by the named selector; may
be null if there are no indexes definedindexes
- the list provided by the caller into which this method should add the index(es), if any, that the query
engine might use to satisfy the relevant portion of the query; never nullpublic static IndexPlanner both(IndexPlanner planner1, IndexPlanner planner2)
IndexPlanner
implementation that delegates to the first planner and then to the second
planner. If only one of the supplied planner instances is not null, then this method will simply return the non-null
planner.planner1
- the first plannerplanner2
- the second plannerplanner1
and planner2
are nullCopyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.