[ 
https://issues.apache.org/jira/browse/TINKERPOP3-850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14956107#comment-14956107
 ] 

Matt Frantz commented on TINKERPOP3-850:
----------------------------------------

This change was suggested because of the ambiguity in Scala between the 
{{addVertex(String)}} and {{addVertex(Object...)}} overloads.  Also, since we 
don't really accept {{addVertex(Object)}} for an arbitrary {{Object}}, it seems 
better to enumerate more clearly which forms are legal.  Thus, we see the 
zero-arg and two-or-more-arg cases explicitly specified.

So, in summary, it's not the variadic method by itself but the overload of a 
variadic with another type signature where the parameter types are ambiguous 
(from Scala's standpoint).

> Reduce Graph.addVertex overload ambiguity
> -----------------------------------------
>
>                 Key: TINKERPOP3-850
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP3-850
>             Project: TinkerPop 3
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.0.1-incubating
>            Reporter: Matt Frantz
>            Assignee: Matt Frantz
>              Labels: breaking
>             Fix For: 3.1.0-incubating
>
>
> Create the following overloads:
> {noformat}
> Vertex addVertex();
> Vertex addVertex(String label);
> Vertex addVertex(Object key, Object value, Object...keyValues);
> {noformat}
> This would avoid the 1-arg overload, since there is only one 1-arg variant.  
> It also makes the key/value structure more obvious.
> BTW, the JavaDoc now says "...the odd numbered arguments are String property 
> keys," so if we actually allow other types, that doc should be fixed.
> Motivated by this dicussion: 
> https://groups.google.com/d/msgid/gremlin-users/eb2a451a-af66-48a1-989c-8021473647fc%40googlegroups.com



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to