Class ProviderGValueReductionStrategy
java.lang.Object
org.apache.tinkerpop.gremlin.process.traversal.strategy.AbstractTraversalStrategy<TraversalStrategy.ProviderOptimizationStrategy>
org.apache.tinkerpop.gremlin.process.traversal.strategy.provider.ProviderGValueReductionStrategy
- All Implemented Interfaces:
Serializable,Comparable<Class<? extends TraversalStrategy>>,TraversalStrategy<TraversalStrategy.ProviderOptimizationStrategy>,TraversalStrategy.ProviderOptimizationStrategy
public class ProviderGValueReductionStrategy
extends AbstractTraversalStrategy<TraversalStrategy.ProviderOptimizationStrategy>
implements TraversalStrategy.ProviderOptimizationStrategy
Converts placeholder steps that hold
GValue objects to their concrete implementations. While not an
optimization in and of itself, the GValue functionality in general, provides a mechanism for traversal
optimization so falls in this category. In addition, converting to concrete steps at this stage also allows provider
optimization strategies to execute on concrete steps, rather than step interfaces. Concrete steps are much easier to
reason about and keep strategy application simple for the vast majority of providers.
Providers hoping to do more advanced optimizations that require GValue objects to be present for their
strategies will need to remove ProviderGValueReductionStrategy and offer their own mechanism for converting step
placeholders to concrete steps.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy
TraversalStrategy.DecorationStrategy, TraversalStrategy.FinalizationStrategy, TraversalStrategy.OptimizationStrategy, TraversalStrategy.ProviderOptimizationStrategy, TraversalStrategy.VerificationStrategy -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidapply(Traversal.Admin<?, ?> traversal) The transformation the strategy applies to the traversal.instance()Methods inherited from class org.apache.tinkerpop.gremlin.process.traversal.strategy.AbstractTraversalStrategy
equals, hashCode, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy
applyPost, applyPrior, getConfigurationMethods inherited from interface org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy.ProviderOptimizationStrategy
compareTo, getTraversalCategory
-
Constructor Details
-
ProviderGValueReductionStrategy
public ProviderGValueReductionStrategy()
-
-
Method Details
-
apply
Description copied from interface:TraversalStrategyThe transformation the strategy applies to the traversal.- Specified by:
applyin interfaceTraversalStrategy<TraversalStrategy.ProviderOptimizationStrategy>
-
instance
-