You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Marvin Froeder (JIRA)" <ji...@apache.org> on 2016/02/04 22:29:39 UTC

[jira] [Created] (TINKERPOP-1124) Make tinkerpop interfaces expandable

Marvin Froeder created TINKERPOP-1124:
-----------------------------------------

             Summary: Make tinkerpop interfaces expandable
                 Key: TINKERPOP-1124
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1124
             Project: TinkerPop
          Issue Type: Improvement
          Components: structure
    Affects Versions: 3.1.1-incubating
            Reporter: Marvin Froeder
             Fix For: 3.2.0-incubating


Make the return methods generic so we can specialize them.

For instance, instead of
{code:java}
public interface Graph {
 public Iterator<Vertex> vertices(final Object... vertexIds);
}
{code}
move to
{code:java}
public interface Graph<V extends Vertex> {
 public Iterator<V> vertices(final Object... vertexIds);
}
{code}


That way, orientdb-gremlin (or any other drivers) can expose custom operations on graphs, vertex or edges and even enforce types for things like Element.id() and many other creative stuff.

That is the way querydsl (http://www.querydsl.com/) found to have a consistent api that can be extended and used in so many different modules.

This would allow orient-gremlin expose orient specific operations w/o having to expose the implementation.



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