[ 
https://issues.apache.org/jira/browse/CALCITE-3976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated CALCITE-3976:
------------------------------------
    Labels: pull-request-available  (was: )

> 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
>              Labels: pull-request-available
>          Time Spent: 1h 20m
>  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
(v10.3.26#10030026)

Reply via email to