I would like to implement a Glazed List that has both an AdvancedTableFormat and WritableTableFormat interface.
I am reading here: http://www.jroller.com/aalmiray/entry/glazedlists_groovy_not_your_regular
and for one interface it seems this is possible in Groovy with the "as" keyword:
# return new EventTableModel(linksList, [
# getColumnCount: {columnNames.size()},
# getColumnName: {index -> columnNames[index]},
# getColumnValue: {object, index ->
# object."${columnNames[index].toLowerCase()}"
# }] as TableFormat)
Is it somehow possible to do this for two interfaces? If so how?
Thank you!
Misha
I wonder if you want to implement 2 or more interfaces on the fly, and do not prefer to 'hard code' like
interface abc extends aaa,bbb,ccc {}
?May be you can try the following code:
The "as" keyword is just a fancy way of invoking Groovy's asType(Class) method, which takes only a single Class as an argument. Therefore you can't directly use "as" with more than one interface (unless you take frm's approach and combine the interfaces in one super interface).
You can create a new interface that extends the two interfaces you are interested in.
You can cast the object you return to the new interface.