org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization

## Class PathProcessorStrategy

- java.lang.Object
- - org.apache.tinkerpop.gremlin.process.traversal.strategy.AbstractTraversalStrategy<TraversalStrategy.OptimizationStrategy>
  - - org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.PathProcessorStrategy

- All Implemented Interfaces:
    Serializable, Comparable<Class<? extends TraversalStrategy>>, TraversalStrategy<TraversalStrategy.OptimizationStrategy>, TraversalStrategy.OptimizationStrategy

      public final class PathProcessorStrategy
      extends AbstractTraversalStrategy<TraversalStrategy.OptimizationStrategy>
      implements TraversalStrategy.OptimizationStrategy

  PathProcessStrategy is an OLAP strategy that does its best to turn non-local children in `where()` and `select()` into local children by inlining components of the non-local child. In this way, PathProcessStrategy helps to ensure that more traversals meet the local child constraint imposed on OLAP traversals.
  Author:
    Marko A. Rodriguez (http://markorodriguez.com)
  See Also:
    Serialized Form
  Example:

         __.select(a).by(x)               // is replaced by select(a).map(x)
         __.select(a,b).by(x).by(y)       // is replaced by select(a).by(x).as(a).select(b).by(y).as(b).select(a,b)
         __.where(as(a).out().as(b))      // is replaced by as(xyz).select(a).where(out().as(b)).select(xyz)
         __.where(as(a).out())            // is replaced by as(xyz).select(a).filter(out()).select(xyz)

- - ### 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`

  - ### Field Summary

    - ### Fields inherited from interface org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy

      `STRATEGY`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `apply(Traversal.Admin<?,?> traversal)`
    `Set<Class<? extends TraversalStrategy.OptimizationStrategy>>` | `applyPost()` The set of strategies that must be executed after this strategy is executed.
    `Set<Class<? extends TraversalStrategy.OptimizationStrategy>>` | `applyPrior()` The set of strategies that must be executed before this strategy is executed.
    `static PathProcessorStrategy` | `instance()`

    - ### Methods inherited from class org.apache.tinkerpop.gremlin.process.traversal.strategy.AbstractTraversalStrategy

      `equals, hashCode, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy.OptimizationStrategy

      `compareTo, getTraversalCategory`

    - ### Methods inherited from interface org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy

      `getConfiguration`

- - ### Method Detail

    - #### applyPrior

          public Set<Class<? extends TraversalStrategy.OptimizationStrategy>> applyPrior()

      Description copied from interface: `TraversalStrategy`
      The set of strategies that must be executed before this strategy is executed. If there are no ordering requirements, the default implementation returns an empty set.
      Specified by:
        `applyPrior` in interface `TraversalStrategy<TraversalStrategy.OptimizationStrategy>`
      Returns:
        the set of strategies that must be executed prior to this one.

    - #### applyPost

          public Set<Class<? extends TraversalStrategy.OptimizationStrategy>> applyPost()

      Description copied from interface: `TraversalStrategy`
      The set of strategies that must be executed after this strategy is executed. If there are no ordering requirements, the default implementation returns an empty set.
      Specified by:
        `applyPost` in interface `TraversalStrategy<TraversalStrategy.OptimizationStrategy>`
      Returns:
        the set of strategies that must be executed post this one

    - #### apply

          public void apply(Traversal.Admin<?,?> traversal)

      Specified by:
        `apply` in interface `TraversalStrategy<TraversalStrategy.OptimizationStrategy>`

    - #### instance

          public static PathProcessorStrategy instance()

Copyright © 2013–2019 Apache Software Foundation. All rights reserved.