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

## Class LambdaRestrictionStrategy

- java.lang.Object
- - org.apache.tinkerpop.gremlin.process.traversal.strategy.AbstractTraversalStrategy<TraversalStrategy.VerificationStrategy>
  - - org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.LambdaRestrictionStrategy

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

      public final class LambdaRestrictionStrategy
      extends AbstractTraversalStrategy<TraversalStrategy.VerificationStrategy>
      implements TraversalStrategy.VerificationStrategy

  `LambdaRestrictionStrategy` does not allow lambdas to be used in a `Traversal`. The contents of a lambda cannot be analyzed/optimized and thus, reduces the ability of other `TraversalStrategy` instances to reason about the traversal. This strategy is not activated by default. However, graph system providers may choose to make this a default strategy in order to ensure their respective strategies are better able to operate.

  Author:
    Marko A. Rodriguez (http://markorodriguez.com)
  See Also:
    Serialized Form
  Example:

         __.out().map(v -> v.get().value("name"))           // throws an IllegalStateException
         __.out().filter(v -> v.bulk() > 2)              // throws an IllegalStateException
         __.choose(v -> v.sack() == 1,out(),in())           // throws an IllegalStateException
         __.select().by(v -> v.get().id())                  // throws an IllegalStateException
         __.order().by(a,b -> a > b)                        // throws an IllegalStateException

- - ### 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)`
    `static LambdaRestrictionStrategy` | `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.VerificationStrategy

      `compareTo, getTraversalCategory`

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

      `applyPost, applyPrior, getConfiguration`

- - ### Method Detail

    - #### apply

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

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

    - #### instance

          public static LambdaRestrictionStrategy instance()

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