package org.ovirt.engine.ui.common.widget.table.column; import com.google.gwt.text.shared.Renderer; /** * Base class for text columns that use {@link Renderer} to render the given column type into its text-based * representation. * * @param <T> * Table row data type. * @param <C> * Column value type. */ public abstract class AbstractRenderedTextColumn<T, C> extends AbstractTextColumn<T> { protected final Renderer<C> renderer; public AbstractRenderedTextColumn(Renderer<C> renderer) { super(); this.renderer = renderer; } @Override public String getValue(T object) { return renderer.render(getRawValue(object)); } /** * Returns the raw value to be rendered. */ protected abstract C getRawValue(T object); }