Class TextBasedPhysicalPlanPrinterImpl
java.lang.Object
se.liu.ida.hefquin.engine.queryplan.utils.BaseForTextBasedPlanPrinters
se.liu.ida.hefquin.engine.queryplan.utils.TextBasedPhysicalPlanPrinterImpl
- All Implemented Interfaces:
PhysicalPlanPrinter
public class TextBasedPhysicalPlanPrinterImpl
extends BaseForTextBasedPlanPrinters
implements PhysicalPlanPrinter
Internally, the functionality of this class is implemented based on
a
PhysicalPlanVisitor
, which makes sure that we get a compiler
error whenever we add a new type of logical operator but forget to
extend this class here to cover that new operator.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
Nested classes/interfaces inherited from class se.liu.ida.hefquin.engine.queryplan.utils.BaseForTextBasedPlanPrinters
BaseForTextBasedPlanPrinters.OpNamePrinter
-
Field Summary
Fields inherited from class se.liu.ida.hefquin.engine.queryplan.utils.BaseForTextBasedPlanPrinters
lastChildIndentBase, levelIndentBase, nonLastChildIndentBase, singleBase, spaceBase
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
planWalk
(PhysicalPlan plan, int planNumber, int planLevel, int numberOfSiblings, TextBasedPhysicalPlanPrinterImpl.OpPrinter opPrinter, String rootOpIndentString) This method recursively goes through a plan, and appends specific strings to a print stream.void
print
(PhysicalPlan plan, PrintStream out) Prints the given plan to the given stream.protected static void
printLogicalOperator
(PhysicalOperatorForLogicalOperator pop, String indentLevelString, PrintStream out, BaseForTextBasedPlanPrinters.OpNamePrinter lopNP) protected static void
printOperatorInfoFmAndPattern
(PhysicalOperatorForLogicalOperator pop, PrintStream out, String indentLevelStringForOpDetail) Methods inherited from class se.liu.ida.hefquin.engine.queryplan.utils.BaseForTextBasedPlanPrinters
getIndentLevelString, getIndentLevelStringForDetail, printFederationMember, printLogicalOperatorBase, printSPARQLGraphPattern
-
Constructor Details
-
TextBasedPhysicalPlanPrinterImpl
public TextBasedPhysicalPlanPrinterImpl()
-
-
Method Details
-
print
Description copied from interface:PhysicalPlanPrinter
Prints the given plan to the given stream.- Specified by:
print
in interfacePhysicalPlanPrinter
-
planWalk
public void planWalk(PhysicalPlan plan, int planNumber, int planLevel, int numberOfSiblings, TextBasedPhysicalPlanPrinterImpl.OpPrinter opPrinter, String rootOpIndentString) This method recursively goes through a plan, and appends specific strings to a print stream.- Parameters:
plan
- The current plan (root operator) that will be formatted.planNumber
- The number of a plan in terms of its super plan.planLevel
- The depth of the root operator in a plan.numberOfSiblings
- The number of sibling plans of a plan.opPrinter
- The helper object for the printing.
-
printLogicalOperator
protected static void printLogicalOperator(PhysicalOperatorForLogicalOperator pop, String indentLevelString, PrintStream out, BaseForTextBasedPlanPrinters.OpNamePrinter lopNP) -
printOperatorInfoFmAndPattern
protected static void printOperatorInfoFmAndPattern(PhysicalOperatorForLogicalOperator pop, PrintStream out, String indentLevelStringForOpDetail)
-