Class LogicalPlanWithNaryRootImpl
java.lang.Object
se.liu.ida.hefquin.engine.queryplan.base.impl.BaseForQueryPlan
se.liu.ida.hefquin.engine.queryplan.logical.impl.LogicalPlanWithNaryRootImpl
- All Implemented Interfaces:
QueryPlan,LogicalPlan,LogicalPlanWithNaryRoot
public class LogicalPlanWithNaryRootImpl
extends BaseForQueryPlan
implements LogicalPlanWithNaryRoot
-
Field Summary
Fields inherited from class se.liu.ida.hefquin.engine.queryplan.base.impl.BaseForQueryPlan
id -
Constructor Summary
ConstructorsConstructorDescriptionLogicalPlanWithNaryRootImpl(NaryLogicalOp rootOp, Iterable<QueryPlanProperty> qpInfo, List<LogicalPlan> subPlans) Constructor.LogicalPlanWithNaryRootImpl(NaryLogicalOp rootOp, Iterable<QueryPlanProperty> qpInfo, LogicalPlan... subPlans) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionReturns the variables that can be expected in the solution mappings produced by this plan.Returns the root operator of this plan.getSubPlan(int i) Returns the i-th sub-plan of this plan, where i starts at index 0 (zero).Convenience method that always should return an iterator over the same sub-plans that can be accessed viaLogicalPlan.getSubPlan(int).intReturns the number of sub-plans that this plan has (considering sub-plans that are direct children of the root operator of this plan).Methods inherited from class se.liu.ida.hefquin.engine.queryplan.base.impl.BaseForQueryPlan
equals, getID, getQueryPlanningInfo, hashCode, hasQueryPlanningInfoMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface se.liu.ida.hefquin.engine.queryplan.base.QueryPlan
getID, getQueryPlanningInfo, hasQueryPlanningInfo, isSamePlan
-
Constructor Details
-
LogicalPlanWithNaryRootImpl
public LogicalPlanWithNaryRootImpl(NaryLogicalOp rootOp, Iterable<QueryPlanProperty> qpInfo, List<LogicalPlan> subPlans) Constructor.- Parameters:
rootOp- - the root operator of the plan to be createdqpInfo- - query-planning-related properties for aQueryPlanningInfoobject for the plan to be created; may benull, in which case the plan does not get such an object initiallysubPlans- - the child plans of the plan to be created
-
LogicalPlanWithNaryRootImpl
public LogicalPlanWithNaryRootImpl(NaryLogicalOp rootOp, Iterable<QueryPlanProperty> qpInfo, LogicalPlan... subPlans) Constructor.- Parameters:
rootOp- - the root operator of the plan to be createdqpInfo- - query-planning-related properties for aQueryPlanningInfoobject for the plan to be created; may benull, in which case the plan does not get such an object initiallysubPlans- - the child plans of the plan to be created
-
-
Method Details
-
getRootOperator
Description copied from interface:QueryPlanReturns the root operator of this plan.- Specified by:
getRootOperatorin interfaceLogicalPlan- Specified by:
getRootOperatorin interfaceLogicalPlanWithNaryRoot- Specified by:
getRootOperatorin interfaceQueryPlan
-
getExpectedVariables
Description copied from interface:QueryPlanReturns the variables that can be expected in the solution mappings produced by this plan.- Specified by:
getExpectedVariablesin interfaceQueryPlan
-
getSubPlans
Description copied from interface:LogicalPlanWithNaryRootConvenience method that always should return an iterator over the same sub-plans that can be accessed viaLogicalPlan.getSubPlan(int).- Specified by:
getSubPlansin interfaceLogicalPlanWithNaryRoot
-
numberOfSubPlans
public int numberOfSubPlans()Description copied from interface:QueryPlanReturns the number of sub-plans that this plan has (considering sub-plans that are direct children of the root operator of this plan).- Specified by:
numberOfSubPlansin interfaceQueryPlan
-
getSubPlan
Description copied from interface:QueryPlanReturns the i-th sub-plan of this plan, where i starts at index 0 (zero). If the plan has fewer sub-plans (or no sub-plans at all), then aNoSuchElementExceptionwill be thrown.- Specified by:
getSubPlanin interfaceLogicalPlan- Specified by:
getSubPlanin interfaceQueryPlan- Throws:
NoSuchElementException
-