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)  
 -