package org.osmorc.settings;
import com.intellij.ide.ui.ListCellRendererWrapper;
import org.osmorc.frameworkintegration.FrameworkInstanceDefinition;
import javax.swing.*;
import java.awt.*;
/**
* @author <a href="janthomae@janthomae.de">Jan Thomä</a>
* @version $Id:$
*/
public abstract class FrameworkInstanceCellRenderer extends ListCellRendererWrapper {
public FrameworkInstanceCellRenderer(ListCellRenderer renderer) {
super(renderer);
}
@Override
public void customize(JList list, Object value, int index, boolean selected, boolean hasFocus) {
final String str = value != null ? value.toString() : null;
if (str != null) {
if (!isInstanceDefined(((FrameworkInstanceDefinition)value))) {
setText(str + " [invalid]");
setForeground(Color.RED);
}
else {
setText(str);
}
}
}
protected abstract boolean isInstanceDefined(FrameworkInstanceDefinition instance);
}