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)