Package org.apache.wayang.core.mapping
Class SubplanPattern
- java.lang.Object
-
- org.apache.wayang.core.plan.wayangplan.OperatorBase
-
- org.apache.wayang.core.mapping.SubplanPattern
-
- All Implemented Interfaces:
java.io.Serializable
,Operator
public class SubplanPattern extends OperatorBase
A subplan pattern describes a class of subplans in aWayangPlan
.NB: Currently, only such patterns are tested and supported that form a chain of operators, i.e., no DAGs are allowed and at most one input and one output operator.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.wayang.core.plan.wayangplan.OperatorBase
OperatorBase.GsonSerializer
-
-
Field Summary
-
Fields inherited from class org.apache.wayang.core.plan.wayangplan.OperatorBase
inputSlots, outputSlots, STANDARD_OPERATOR_ARGS
-
Fields inherited from interface org.apache.wayang.core.plan.wayangplan.Operator
FIRST_EPOCH
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <Payload,Return>
Returnaccept(TopDownPlanVisitor<Payload,Return> visitor, OutputSlot<?> outputSlot, Payload payload)
This method is part of the visitor pattern and calls the appropriate visit method onvisitor
.static SubplanPattern
createSingleton(OperatorPattern operatorPattern)
Creates a new instance that matches only a single operator.static SubplanPattern
fromOperatorPatterns(OperatorPattern inputOperatorPattern, OperatorPattern outputOperatorPattern)
Creates a new instance that matches a graph of operator patterns.OperatorPattern
getInputPattern()
OperatorPattern
getOutputPattern()
java.util.List<SubplanMatch>
match(WayangPlan plan, int minEpoch)
Match this pattern against a plan.-
Methods inherited from class org.apache.wayang.core.plan.wayangplan.OperatorBase
addBroadcastInput, addTargetPlatform, at, collectMappedInputSlots, collectMappedOutputSlots, copy, createCopy, getAllInputs, getAllOutputs, getCardinalityEstimator, getContainer, getEpoch, getName, getOriginal, getSimpleClassName, getTargetPlatforms, isAuxiliary, isSupportingBroadcastInputs, propagateInputCardinality, propagateOutputCardinality, setAuxiliary, setCardinalityEstimator, setContainer, setEpoch, setName, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.wayang.core.plan.wayangplan.Operator
broadcastTo, broadcastTo, connectTo, connectTo, getCardinalityPusher, getEffectiveOccupant, getEffectiveOccupant, getEstimationContextProperties, getForwards, getInnermostLoop, getInput, getInput, getLoopStack, getNumBroadcastInputs, getNumInputs, getNumOutputs, getNumRegularInputs, getOuterInputSlot, getOutermostInputSlot, getOutermostOutputSlots, getOutput, getOutput, getParent, isAlternative, isElementary, isExecutionOperator, isFeedbackInput, isFeedforwardOutput, isLoopHead, isLoopSubplan, isOwnerOf, isReading, isSink, isSource, isSubplan, isUnconnected, propagateOutputCardinality, setInput, setOutput
-
-
-
-
Method Detail
-
createSingleton
public static final SubplanPattern createSingleton(OperatorPattern operatorPattern)
Creates a new instance that matches only a single operator.- Parameters:
operatorPattern
- the only operator pattern- Returns:
- the new instance
-
fromOperatorPatterns
public static final SubplanPattern fromOperatorPatterns(OperatorPattern inputOperatorPattern, OperatorPattern outputOperatorPattern)
Creates a new instance that matches a graph of operator patterns.- Parameters:
inputOperatorPattern
- the only operator pattern that has inputs wrt. the subplan patternoutputOperatorPattern
- the only operator pattern that has outputs wrt. the subplan pattern- Returns:
- the new instance
-
match
public java.util.List<SubplanMatch> match(WayangPlan plan, int minEpoch)
Match this pattern against a plan.- Parameters:
plan
- the plan to match againstminEpoch
- the (inclusive) minimum epoch value for matched subplans- Returns:
- all matches
-
getInputPattern
public OperatorPattern getInputPattern()
-
getOutputPattern
public OperatorPattern getOutputPattern()
-
accept
public <Payload,Return> Return accept(TopDownPlanVisitor<Payload,Return> visitor, OutputSlot<?> outputSlot, Payload payload)
Description copied from interface:Operator
This method is part of the visitor pattern and calls the appropriate visit method onvisitor
.- Specified by:
accept
in interfaceOperator
- Overrides:
accept
in classOperatorBase
-
-