Groovy 'as' 关键字实现 2+ 接口

Миш*_*лев 2 groovy glazedlists

我想实现一个同时具有 AdvancedTableFormat 和 WritableTableFormat 接口的 Glazed List。

我在这里阅读: http: //www.jroller.com/aalmiray/entry/glazedlists_groovy_not_your_regular

对于一个界面来说,在 Groovy 中使用“as”关键字似乎可以实现这一点:

# return new EventTableModel(linksList, [  
#       getColumnCount: {columnNames.size()},  
#       getColumnName: {index -> columnNames[index]},  
#       getColumnValue: {object, index ->  
#          object."${columnNames[index].toLowerCase()}"  
#       }] as TableFormat)
Run Code Online (Sandbox Code Playgroud)

是否可以以某种方式为两个接口执行此操作?如果是这样怎么办?

谢谢你!

米沙

frm*_*frm 5

您可以创建一个新接口来扩展您感兴趣的两个接口。

interface PersonalizedTableFormat extends AdvancedTableFormat, WriteableTableFormat {
}
Run Code Online (Sandbox Code Playgroud)

您可以将返回的对象强制转换为新接口。

return object as PersonalizedTableFormat;
Run Code Online (Sandbox Code Playgroud)