You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Florian Hockmann (JIRA)" <ji...@apache.org> on 2017/08/14 16:35:00 UTC

[jira] [Created] (TINKERPOP-1752) Gremlin.Net: Generate completely type-safe methods

Florian Hockmann created TINKERPOP-1752:
-------------------------------------------

             Summary: Gremlin.Net: Generate completely type-safe methods
                 Key: TINKERPOP-1752
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1752
             Project: TinkerPop
          Issue Type: Improvement
          Components: language-variant
    Affects Versions: 3.2.5
            Reporter: Florian Hockmann
            Priority: Minor


Currently the generated traversal methods in Gremlin.Net take {{params object[] args}} as an argument which allows the user to provide an arbitrary number of arguments with any type. While this makes the generation rather simple, it doesn't tell the user which arguments are actually valid so users can submit completely invalid traversals like:
{code}
g.V(1).AddE(1234, "invalidArgument2").Next()
{code}
Type-safe methods could also use the original argument names to tell users something about what kind of values the methods expect. Consider for example the following method signatures for the C# step {{AddE}} that are basically a 1:1 representation of the original Java {{addE}} step:

{code}
public GraphTraversal< S , Edge > AddE (Direction direction, string firstVertexKeyOrEdgeLabel, string edgeLabelOrSecondVertexKey, params object[] propertyKeyValues);

public GraphTraversal< S , Edge > AddE (string edgeLabel);
{code}

Implementing this should make TINKERPOP-1725 obsolete and also resolve TINKERPOP-1751.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)