package com.google.gwt.sample.showcase.client.content.cell; import com.google.gwt.cell.client.Cell; import com.google.gwt.cell.client.FieldUpdater; import com.google.gwt.cell.client.HasCell; public class HasCells { private HasCells() {} public static <T> HasCell<T, T> forCell(final Cell<T> cell) { return new HasCell<T, T>() { @Override public Cell<T> getCell() { return cell; } @Override public FieldUpdater<T, T> getFieldUpdater() { return null; } @Override public T getValue(T value) { return value; } }; } public static <F, T> HasCell<F, T> forCellWithConstantValue( final Cell<T> cell, final T value) { return new HasCell<F, T>() { @Override public Cell<T> getCell() { return cell; } @Override public FieldUpdater<F, T> getFieldUpdater() { return null; } @Override public T getValue(F ignored) { return value; } }; } public static <F, T> HasCell<F, T> forAdaptedCell( final Cell<T> cell, final Function<F, T> transform) { return new HasCell<F, T>() { @Override public Cell<T> getCell() { return cell; } @Override public FieldUpdater<F, T> getFieldUpdater() { return null; } @Override public T getValue(F input) { return transform.apply(input); } }; } }