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/11/01 19:18:00 UTC

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

     [ https://issues.apache.org/jira/browse/TINKERPOP-1752?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Florian Hockmann reassigned TINKERPOP-1752:
-------------------------------------------

    Assignee: Florian Hockmann

> 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: dotnet
>    Affects Versions: 3.2.5
>            Reporter: Florian Hockmann
>            Assignee: 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)