[ https://issues.apache.org/jira/browse/FLINK-11068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16771009#comment-16771009 ]
sunjincheng commented on FLINK-11068: ------------------------------------- Thanks for update the description [~twalthr], and thanks [~yanghua] taking the ticket. Just share my thoughts::) May be all of *Table and *Window we need both Java and Scala Interface, and Scala Interface should extends the Java Interface,e.g.: Table.java(api-java) {code:java} package org.apache.flink.table.api public interface Table { … Table select(String fields); Table as(String fields); ... }{code} Table.scala(api-scala) {code:java} package org.apache.flink.table.api.scala import org.apache.flink.table.api.{Table => JTable} trait Table extends JTable { ... def select(fields: Expression*): Table def as(fields: Expression*): Table … }{code} In this way all the SCALA user can using the JAVA interface. So we can keep consistent with current API behavior. What do you think ? > Convert the API classes *Table, *Window to interfaces > ----------------------------------------------------- > > Key: FLINK-11068 > URL: https://issues.apache.org/jira/browse/FLINK-11068 > Project: Flink > Issue Type: Improvement > Components: Table API & SQL > Reporter: Timo Walther > Assignee: vinoyang > Priority: Major > > A more detailed description can be found in > [FLIP-32|https://cwiki.apache.org/confluence/display/FLINK/FLIP-32%3A+Restructure+flink-table+for+future+contributions]. > This includes: Table, GroupedTable, WindowedTable, WindowGroupedTable, > OverWindowedTable, Window, OverWindow > We can keep the "Table" Scala implementation in a planner module until it has > been converted to Java. > We can add a method to the planner later to give us a concrete instance. This > is one possibility to have a smooth transition period instead of changing all > classes at once. -- This message was sent by Atlassian JIRA (v7.6.3#76005)