TINKERPOP-786 Added a bunch of javadoc
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8e123faa Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8e123faa Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8e123faa Branch: refs/heads/TINKERPOP-786 Commit: 8e123faa48c7d79d0c03667a64240e326f8906a4 Parents: 97a7039 Author: Stephen Mallette <sp...@genoprime.com> Authored: Fri Apr 28 16:07:00 2017 -0400 Committer: Stephen Mallette <sp...@genoprime.com> Committed: Wed May 3 08:23:41 2017 -0400 ---------------------------------------------------------------------- .../process/traversal/dsl/GremlinDsl.java | 19 +++++++++++++++++-- .../traversal/dsl/GremlinDslProcessor.java | 2 ++ .../traversal/dsl/ProcessorException.java | 2 ++ 3 files changed, 21 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8e123faa/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDsl.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDsl.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDsl.java index d08736e..15b93d6 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDsl.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDsl.java @@ -27,7 +27,21 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** - * An annotation that specifies that an interface is meant to be used a DSL extension to a {@link GraphTraversal}. + * An annotation that specifies that an interface is meant to be used to produce Gremlin DSL. This annotation should + * be applied to an interface that extends {@link GraphTraversal}. This interface should be suffixed with + * {@code TraversalDsl}. The DSL classes will be generated to the package of the annotated class or the to the value + * specified in the {@link #packageName()} and will use the part of the interface name up to the suffix to generate + * the classes. Therefore, assuming an interface, annotated with {@code GremlinDsl}, called {@code SocialTraversalDsl}, + * there will be three classes generated: + * + * <ul> + * <li>{@code SocialTraversal} - an interface that is an extension to {@code SocialTraversalDsl}</li> + * <li>{@code DefaultSocialTraversal} - an implementation of the {@code SocialTraversal}</li> + * <li>{@code SocialTraversalSource} - an extension of {@link GraphTraversalSource} which spawns {@code DefaultSocialTraversal} instances</li> + * </ul> + * + * Together these generated classes provide all the infrastructure required to properly Gremlin traversals enhanced + * with domain specific steps. * * @author Stephen Mallette (http://stephen.genoprime.com) */ @@ -42,7 +56,8 @@ public @interface GremlinDsl { public String packageName() default ""; /** - * Defines the optional canonical name of the {@link GraphTraversalSource} that this DSL should extend from. + * Defines the optional canonical name of the {@link GraphTraversalSource} that this DSL should extend from. If + * this value is not supplied the generated "source" will simply extend from {@link GraphTraversalSource}. */ public String traversalSource() default "org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource"; } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8e123faa/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java index 6a09ef5..9e23410 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java @@ -65,6 +65,8 @@ import java.util.function.Predicate; import java.util.stream.Collectors; /** + * A custom Java annotation processor for the {@link GremlinDsl} annotation that helps to generate DSLs classes. + * * @author Stephen Mallette (http://stephen.genoprime.com) */ @SupportedAnnotationTypes("org.apache.tinkerpop.gremlin.process.traversal.dsl.GremlinDsl") http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8e123faa/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/ProcessorException.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/ProcessorException.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/ProcessorException.java index c84278e..3051890 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/ProcessorException.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/ProcessorException.java @@ -21,6 +21,8 @@ package org.apache.tinkerpop.gremlin.process.traversal.dsl; import javax.lang.model.element.Element; /** + * Exception thrown by the {@link GremlinDslProcessor}. + * * @author Stephen Mallette (http://stephen.genoprime.com) */ public class ProcessorException extends Exception {