次の方法を使用して、要件を達成できます。
private <C> Column<CategoryClient, C> addColumn(Cell<C> cell, String headerText,
final GetValue<C> getter, FieldUpdater<CategoryClient, C> fieldUpdater) {
Column<CategoryClient, C> column = new Column<CategoryClient, C>(cell) {
@Override
public C getValue(ContactInfo object) {
return getter.getValue(object);
}
};
column.setFieldUpdater(fieldUpdater);
if (cell instanceof AbstractEditableCell<?, ?>) {
editableCells.add((AbstractEditableCell<?, ?>) cell);
}
contactList.addColumn(column, headerText);
return column;
}