package org.ovirt.engine.ui.webadmin.widget.table.column;
import org.ovirt.engine.ui.common.widget.table.cell.SafeHtmlWithStyleCell;
import org.ovirt.engine.ui.common.widget.table.column.AbstractColumn;
import org.ovirt.engine.ui.webadmin.ApplicationResources;
import org.ovirt.engine.ui.webadmin.ApplicationTemplates;
import org.ovirt.engine.ui.webadmin.gin.AssetProvider;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
import com.google.gwt.user.client.ui.AbstractImagePrototype;
public abstract class ReasonColumn<T> extends AbstractColumn<T, SafeHtml> {
private static final ApplicationResources resources = AssetProvider.getResources();
private static final ApplicationTemplates templates = AssetProvider.getTemplates();
public ReasonColumn() {
super(new SafeHtmlWithStyleCell());
}
@Override
public SafeHtml getValue(T value) {
if (getReason(value) != null && !getReason(value).trim().isEmpty()) {
return templates.inlineImage(SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(resources.commentImage())
.getHTML()));
}
return null;
}
protected abstract String getReason(T value);
}