package org.tessell.widgets.cellview; import com.google.gwt.cell.client.Cell; import com.google.gwt.cell.client.FieldUpdater; import com.google.gwt.user.cellview.client.Column; /** Adapts the generic {@link ColumnValue} into the regular GWT {@link Column} hierarchy. */ public class GwtColumn<T, C> extends Column<T, C> implements FieldUpdater<T, C>, IsColumn<T, C> { private final ColumnValue<T, C> value; public GwtColumn(final ColumnValue<T, C> value, final Cell<C> cell) { super(cell); this.value = value; setFieldUpdater(this); } @Override public C getValue(final T object) { return value.get(object); } @Override public void update(final int index, final T object, final C value) { this.value.set(object, value); } @Override public Column<T, C> asColumn() { return this; } @Override public IsColumn<T, C> sorted() { setSortable(true); return this; } }