You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Marko A. Rodriguez (JIRA)" <ji...@apache.org> on 2015/08/05 21:35:04 UTC
[jira] [Created] (TINKERPOP3-800) [Proposal] Domain/Range checking
during traversal construction.
Marko A. Rodriguez created TINKERPOP3-800:
---------------------------------------------
Summary: [Proposal] Domain/Range checking during traversal construction.
Key: TINKERPOP3-800
URL: https://issues.apache.org/jira/browse/TINKERPOP3-800
Project: TinkerPop 3
Issue Type: Improvement
Components: process
Affects Versions: 3.0.0-incubating
Reporter: Marko A. Rodriguez
Assignee: Marko A. Rodriguez
I think we should add two new methods to {{Step}}.
{code}
Step.getDomain() -> Class
Step.getRange() -> Class
{code}
Now, when someone does:
{code}
g.V().out()
{code}
{{GraphStep}} will report that its range is {{Vertex.class}}. {{VertexStep}} will report its domain to be {{Vertex.class}}. Good. No typing issues. However, when you do this:
{code}
g.E().out()
{code}
{{GraphStep}} will report that its range is {{Edge.class}}. {{VertexStep}} will report its domain to be {{Vertex.class}} --- {{IllegalArgumentException: "The provided traversal has an illegal function composition."}}.
Why is this good -- much better than getting random {{ClassCastExceptions}} at execution time.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)