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

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: