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 classNested 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 TypeMethodDescriptionvoidplanWalk(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.voidprint(PhysicalPlan plan, PrintStream out) Prints the given plan to the given stream.protected static voidprintLogicalOperator(PhysicalOperatorForLogicalOperator pop, String indentLevelString, PrintStream out, BaseForTextBasedPlanPrinters.OpNamePrinter lopNP) protected static voidprintOperatorInfoFmAndPattern(PhysicalOperatorForLogicalOperator pop, PrintStream out, String indentLevelStringForOpDetail) Methods inherited from class se.liu.ida.hefquin.engine.queryplan.utils.BaseForTextBasedPlanPrinters
getIndentLevelString, getIndentLevelStringForDetail, printExpressions, printFederationMember, printLogicalOperatorBase, printSPARQLGraphPattern
-
Constructor Details
-
TextBasedPhysicalPlanPrinterImpl
public TextBasedPhysicalPlanPrinterImpl()
-
-
Method Details
-
print
Description copied from interface:PhysicalPlanPrinterPrints the given plan to the given stream.- Specified by:
printin 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)
-