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

Julian Hyde commented on CALCITE-3976:
--------------------------------------

Can you attach the PR?

> Generify the DefaultEdge class
> ------------------------------
>
>                 Key: CALCITE-3976
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3976
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Liya Fan
>            Assignee: Liya Fan
>            Priority: Major
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> Currently, the {{source}} and {{target}} fields of class {{DefaultEdge}} is 
> {{Object}}. This makes it necessary for some casts in the code base. In 
> addition, it does not enforce the assertion that in a graph, the vertices 
> have the same type as sources and targes in the edges. 
> To solve the problem, we generify the DefaultEdge class with the type of the 
> source/target vertices.
> The benefits of generfication includes type safety: the above assertion can 
> be enforced by the generified class. It also gives the compiler an 
> opportunity to detect type related problems at compilation time. Without 
> generification, some problems can only be detected at runtime, when a 
> ClassCastException is thrown. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to