Class AggregateIndexPlan
- java.lang.Object
 - 
- org.apache.jackrabbit.oak.plugins.index.aggregate.AggregateIndexPlan
 
 
- 
- All Implemented Interfaces:
 java.lang.Cloneable,QueryIndex.IndexPlan
public class AggregateIndexPlan extends java.lang.Object implements QueryIndex.IndexPlan
An index plan for multiple query indexes. 
- 
- 
Nested Class Summary
- 
Nested classes/interfaces inherited from interface org.apache.jackrabbit.oak.spi.query.QueryIndex.IndexPlan
QueryIndex.IndexPlan.Builder 
 - 
 
- 
Field Summary
- 
Fields inherited from interface org.apache.jackrabbit.oak.spi.query.QueryIndex.IndexPlan
LOG 
 - 
 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description QueryIndex.IndexPlancopy()Creates a cloned copy of current plan.@Nullable java.lang.ObjectgetAttribute(java.lang.String name)Returns the value of the named attribute as anObject, ornullif no attribute of the given name exists.doublegetCostPerEntry()The cost to read one entry from the cursor.doublegetCostPerExecution()The cost to execute the query once.NodeStategetDefinition()The node state with the index definition.longgetEstimatedEntryCount()The estimated number of entries in the cursor that is returned by the query method, when using this plan.FiltergetFilter()The filter to use.java.lang.StringgetPathPrefix()The path prefix for this index plan.java.lang.StringgetPlanName()Get the unique plan name.@Nullable Filter.PropertyRestrictiongetPropertyRestriction()The property restriction for this index plan ornullif this index plan isn't base on a property restriction.java.util.List<QueryIndex.OrderEntry>getSortOrder()An aggregated query can not sort, as it gets results from a number of indexes.booleangetSupportsPathRestriction()Whether index for this plan supports handling path restrictions natively.booleanincludesNodeData()Whether all base plan include node data.booleanisDelayed()Whether any base plan is delayed.booleanisDeprecated()Whether the index is deprecated.booleanisFulltextIndex()Whether any base plan is a full text index.voidsetFilter(Filter filter)Use the given filter.- 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
Methods inherited from interface org.apache.jackrabbit.oak.spi.query.QueryIndex.IndexPlan
getAdditionalLogMessages, getAdditionalMessages, logWarningForPathFilterMismatch 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getCostPerExecution
public double getCostPerExecution()
Description copied from interface:QueryIndex.IndexPlanThe cost to execute the query once. The returned value should approximately match the number of disk read operations plus the number of network roundtrips (worst case).- Specified by:
 getCostPerExecutionin interfaceQueryIndex.IndexPlan- Returns:
 - the cost per execution, in estimated number of I/O operations
 
 
- 
getCostPerEntry
public double getCostPerEntry()
Description copied from interface:QueryIndex.IndexPlanThe cost to read one entry from the cursor. The returned value should approximately match the number of disk read operations plus the number of network roundtrips (worst case).- Specified by:
 getCostPerEntryin interfaceQueryIndex.IndexPlan- Returns:
 - the lookup cost per entry, in estimated number of I/O operations
 
 
- 
getEstimatedEntryCount
public long getEstimatedEntryCount()
Description copied from interface:QueryIndex.IndexPlanThe estimated number of entries in the cursor that is returned by the query method, when using this plan. This value does not have to be accurate.- Specified by:
 getEstimatedEntryCountin interfaceQueryIndex.IndexPlan- Returns:
 - the estimated number of entries
 
 
- 
getFilter
public Filter getFilter()
Description copied from interface:QueryIndex.IndexPlanThe filter to use.- Specified by:
 getFilterin interfaceQueryIndex.IndexPlan- Returns:
 - the filter
 
 
- 
setFilter
public void setFilter(Filter filter)
Description copied from interface:QueryIndex.IndexPlanUse the given filter.- Specified by:
 setFilterin interfaceQueryIndex.IndexPlan
 
- 
isDelayed
public boolean isDelayed()
Whether any base plan is delayed.- Specified by:
 isDelayedin interfaceQueryIndex.IndexPlan- Returns:
 - true if yes
 
 
- 
isDeprecated
public boolean isDeprecated()
Description copied from interface:QueryIndex.IndexPlanWhether the index is deprecated.- Specified by:
 isDeprecatedin interfaceQueryIndex.IndexPlan- Returns:
 - if it is deprecated
 
 
- 
isFulltextIndex
public boolean isFulltextIndex()
Whether any base plan is a full text index.- Specified by:
 isFulltextIndexin interfaceQueryIndex.IndexPlan- Returns:
 - true if yes
 
 
- 
includesNodeData
public boolean includesNodeData()
Whether all base plan include node data.- Specified by:
 includesNodeDatain interfaceQueryIndex.IndexPlan- Returns:
 - true if yes
 
 
- 
getSortOrder
public java.util.List<QueryIndex.OrderEntry> getSortOrder()
An aggregated query can not sort, as it gets results from a number of indexes.- Specified by:
 getSortOrderin interfaceQueryIndex.IndexPlan- Returns:
 - null
 
 
- 
getPropertyRestriction
@Nullable public @Nullable Filter.PropertyRestriction getPropertyRestriction()
Description copied from interface:QueryIndex.IndexPlanThe property restriction for this index plan ornullif this index plan isn't base on a property restriction. E.g. a plan based on an order by clause in the query.- Specified by:
 getPropertyRestrictionin interfaceQueryIndex.IndexPlan- Returns:
 - the restriction this plan is based on or 
null. 
 
- 
copy
public QueryIndex.IndexPlan copy()
Description copied from interface:QueryIndex.IndexPlanCreates a cloned copy of current plan. Mostly used when the filter needs to be modified for a given call- Specified by:
 copyin interfaceQueryIndex.IndexPlan- Returns:
 - clone of current plan
 
 
- 
getDefinition
public NodeState getDefinition()
Description copied from interface:QueryIndex.IndexPlanThe node state with the index definition.- Specified by:
 getDefinitionin interfaceQueryIndex.IndexPlan- Returns:
 - the node state with the index definition.
 
 
- 
getPathPrefix
public java.lang.String getPathPrefix()
Description copied from interface:QueryIndex.IndexPlanThe path prefix for this index plan.- Specified by:
 getPathPrefixin interfaceQueryIndex.IndexPlan
 
- 
getSupportsPathRestriction
public boolean getSupportsPathRestriction()
Description copied from interface:QueryIndex.IndexPlanWhether index for this plan supports handling path restrictions natively.- Specified by:
 getSupportsPathRestrictionin interfaceQueryIndex.IndexPlan
 
- 
getAttribute
@Nullable public @Nullable java.lang.Object getAttribute(java.lang.String name)
Description copied from interface:QueryIndex.IndexPlanReturns the value of the named attribute as anObject, ornullif no attribute of the given name exists.- Specified by:
 getAttributein interfaceQueryIndex.IndexPlan- Parameters:
 name-Stringspecifying the name of the attribute- Returns:
 - an 
Objectcontaining the value of the attribute, ornullif the attribute does not exist 
 
- 
getPlanName
public java.lang.String getPlanName()
Description copied from interface:QueryIndex.IndexPlanGet the unique plan name.- Specified by:
 getPlanNamein interfaceQueryIndex.IndexPlan- Returns:
 - the plan name
 
 
 - 
 
 -