public abstract class IndexPlanners extends Object
| Modifier and Type | Field and Description |
|---|---|
protected static String |
CHILDREN_BY_PATH_INDEX_NAME |
protected static String |
DESCENDANTS_BY_PATH_INDEX_NAME |
protected static String |
NODE_BY_PATH_INDEX_NAME |
protected static String |
PATH_PARAMETER |
| Constructor and Description |
|---|
IndexPlanners() |
| Modifier and Type | Method and Description |
|---|---|
abstract void |
applyIndexes(QueryContext context,
SelectorName selector,
List<Constraint> andedConstraints,
RepositoryIndexes indexDefinitions,
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 IndexPlanners |
implicit()
Get the IndexPlanners instance that looks only for the implicit (built-in) indexes.
|
static IndexPlanners |
withProviders(Map<String,IndexPlanner> plannersByProviderName)
Get an IndexPlanners instance that looks for the implicit (built-in) indexes and that calls the appropriate
IndexPlanner instances given the available indexes for this selector. |
protected static final String NODE_BY_PATH_INDEX_NAME
protected static final String CHILDREN_BY_PATH_INDEX_NAME
protected static final String DESCENDANTS_BY_PATH_INDEX_NAME
protected static final String PATH_PARAMETER
public abstract void applyIndexes(QueryContext context, SelectorName selector, List<Constraint> andedConstraints, RepositoryIndexes indexDefinitions, 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 emptyindexDefinitions - 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 IndexPlanners implicit()
public static IndexPlanners withProviders(Map<String,IndexPlanner> plannersByProviderName)
IndexPlanner instances given the available indexes for this selector.plannersByProviderName - the map of query index planners keyed by the provider's nameCopyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.