package rtt.annotation.editor.ui.viewer.provider;
import rtt.annotation.editor.model.ModelElement;
public class ModelElementViewerItem<T extends ModelElement> extends ViewerItem {
private T element;
public ModelElementViewerItem(ViewerItem parent, T element) {
super(parent);
this.element = element;
}
public T getModelElement() {
return element;
}
@SuppressWarnings("unchecked")
public <E extends ModelElement> E getModelElement(Class<E> elementType) {
if (elementType.isInstance(element)) {
return (E) element;
}
return null;
}
@Override
public final String getColumnText(int columnIndex) {
return getColumnText(element, columnIndex);
}
protected String getColumnText(T element, int columnIndex) {
return element.getName();
}
@Override
protected final ItemColor getItemColor() {
return getItemColor(element);
}
protected ItemColor getItemColor(T element) {
return null;
}
@Override
protected final ItemFont getItemFont() {
return getItemFont(element);
}
protected ItemFont getItemFont(T element) {
return null;
}
}