Package org.apache.calcite.plan.volcano
Class ChainedPhaseRuleMappingInitializer
- java.lang.Object
-
- org.apache.calcite.plan.volcano.ChainedPhaseRuleMappingInitializer
-
- All Implemented Interfaces:
VolcanoPlannerPhaseRuleMappingInitializer
public abstract class ChainedPhaseRuleMappingInitializer extends java.lang.Object implements VolcanoPlannerPhaseRuleMappingInitializer
ChainedPhaseRuleMappingInitializer is an abstract implementation ofVolcanoPlannerPhaseRuleMappingInitializer
that allows additional rules to be layered on top of those configured by a subordinateVolcanoPlannerPhaseRuleMappingInitializer
.
-
-
Field Summary
Fields Modifier and Type Field Description private VolcanoPlannerPhaseRuleMappingInitializer
subordinate
-
Constructor Summary
Constructors Constructor Description ChainedPhaseRuleMappingInitializer(VolcanoPlannerPhaseRuleMappingInitializer subordinate)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
chainedInitialize(java.util.Map<VolcanoPlannerPhase,java.util.Set<java.lang.String>> phaseRuleMap)
Extend this method to provide phase-to-rule mappings beyond what is provided by this initializer's subordinate.void
initialize(java.util.Map<VolcanoPlannerPhase,java.util.Set<java.lang.String>> phaseRuleMap)
Initializes aVolcanoPlannerPhase
-to-rule map.
-
-
-
Field Detail
-
subordinate
private final VolcanoPlannerPhaseRuleMappingInitializer subordinate
-
-
Constructor Detail
-
ChainedPhaseRuleMappingInitializer
public ChainedPhaseRuleMappingInitializer(VolcanoPlannerPhaseRuleMappingInitializer subordinate)
-
-
Method Detail
-
initialize
public final void initialize(java.util.Map<VolcanoPlannerPhase,java.util.Set<java.lang.String>> phaseRuleMap)
Description copied from interface:VolcanoPlannerPhaseRuleMappingInitializer
Initializes aVolcanoPlannerPhase
-to-rule map. Rules are specified by description (see above). When this method is called, the map will already be pre-initialized with empty sets for each VolcanoPlannerPhase. Implementations must not return having added or removed keys from the map, although it is safe to temporarily add or remove keys.- Specified by:
initialize
in interfaceVolcanoPlannerPhaseRuleMappingInitializer
- Parameters:
phaseRuleMap
- aVolcanoPlannerPhase
-to-rule map
-
chainedInitialize
public abstract void chainedInitialize(java.util.Map<VolcanoPlannerPhase,java.util.Set<java.lang.String>> phaseRuleMap)
Extend this method to provide phase-to-rule mappings beyond what is provided by this initializer's subordinate.When this method is called, the map will already be pre-initialized with empty sets for each VolcanoPlannerPhase. Implementations must not return having added or removed keys from the map, although it is safe to temporarily add or remove keys.
- Parameters:
phaseRuleMap
- theVolcanoPlannerPhase
-rule description map- See Also:
VolcanoPlannerPhaseRuleMappingInitializer
-
-