[ 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)