package org.tessell.widgets.cellview; import com.google.gwt.cell.client.Cell; import com.google.gwt.cell.client.ValueUpdater; import com.google.gwt.user.cellview.client.Header; /** * The header version of {@link GwtColumn}. * * This header automatically sets itself as its own {@link ValueUpdater}, so if * the {@link HeaderValue#set(Object)} method is overridden, then it will be called * as appropriate. */ public class GwtHeader<C> extends ExposedUpdaterHeader<C> implements ValueUpdater<C>, IsHeader<C> { private final HeaderValue<C> value; public GwtHeader(final HeaderValue<C> value, final Cell<C> cell) { super(cell); this.value = value; setUpdater(this); } @Override public C getValue() { return value.get(); } @Override public void update(final C value) { this.value.set(value); } @Override public Header<C> asHeader() { return this; } }