You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2015/05/06 22:18:56 UTC
incubator-tinkerpop git commit: more work on JavaDocs
Repository: incubator-tinkerpop
Updated Branches:
refs/heads/master 00815bbe6 -> db1f2fa18
more work on JavaDocs
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/db1f2fa1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/db1f2fa1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/db1f2fa1
Branch: refs/heads/master
Commit: db1f2fa188ab7f649e8d3dcce513b4d9a102b9ff
Parents: 00815bb
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed May 6 22:18:41 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Wed May 6 22:18:41 2015 +0200
----------------------------------------------------------------------
.../optimization/IncidentToAdjacentStrategy.java | 7 +++++++
.../optimization/RangeByIsCountStrategy.java | 17 +++++++++++------
2 files changed, 18 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/db1f2fa1/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java
index 185a277..c0c1ec1 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java
@@ -51,6 +51,13 @@ import java.util.Set;
* <p/>
*
* @author Daniel Kuppitz (http://gremlin.guru)
+ * @example <pre>
+ * __.outE().inV() // is replaced by __.out()
+ * __.inE().outV() // is replaced by __.in()
+ * __.bothE().otherV() // is replaced by __.both()
+ * __.bothE().bothV() // will not be modified
+ * __.outE().inV().path() // will not be modified
+ * </pre>
*/
public final class IncidentToAdjacentStrategy extends AbstractTraversalStrategy<TraversalStrategy.OptimizationStrategy>
implements TraversalStrategy.OptimizationStrategy {
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/db1f2fa1/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/RangeByIsCountStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/RangeByIsCountStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/RangeByIsCountStrategy.java
index c040e13..8e0adf4 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/RangeByIsCountStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/RangeByIsCountStrategy.java
@@ -30,16 +30,21 @@ import org.apache.tinkerpop.gremlin.structure.Compare;
import org.apache.tinkerpop.gremlin.structure.Contains;
import org.apache.tinkerpop.gremlin.structure.P;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
import java.util.function.BiPredicate;
/**
+ * This strategy optimizes any occurrence of {@link CountGlobalStep} followed by an {@link IsStep}. The idea is to limit
+ * the number of incoming elements in a way that it's enough for the {@link IsStep} to decide whether it evaluates
+ * <code>true</code> or <code>false</code>. If the traversal already contains a user supplied limit, the strategy won't
+ * modify it.
+ *
* @author Daniel Kuppitz (http://gremlin.guru)
+ * @example <pre>
+ * __.outE().count().is(0) // is replaced by __.outE().limit(1).count().is(0)
+ * __.outE().count().is(lt(3)) // is replaced by __.outE().limit(3).count().is(lt(3))
+ * __.outE().count().is(gt(3)) // is replaced by __.outE().limit(4).count().is(gt(3))
+ * </pre>
*/
public final class RangeByIsCountStrategy extends AbstractTraversalStrategy<TraversalStrategy.OptimizationStrategy> implements TraversalStrategy.OptimizationStrategy {