package de.urszeidler.shr5.runtime.ui.views; import java.util.Collection; import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider; import org.eclipse.jface.viewers.IContentProvider; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; public class SimpleListContenProvider implements IContentProvider, ITreeContentProvider { private AdapterFactoryContentProvider delegateContentProvider; public SimpleListContenProvider(AdapterFactoryContentProvider delegateContentProvider) { super(); this.delegateContentProvider = delegateContentProvider; } @Override public void dispose() { } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { delegateContentProvider.inputChanged(viewer, oldInput, newInput); } @Override public Object[] getChildren(Object parentElement) { if (parentElement instanceof Collection<?>) { Collection<?> list = (Collection<?>)parentElement; return list.toArray(); } return delegateContentProvider.getChildren(parentElement); } @Override public Object getParent(Object element) { return delegateContentProvider.getParent(element); } @Override public boolean hasChildren(Object element) { if (element instanceof Collection<?>) { Collection<?> list = (Collection<?>)element; return list.size() > 0; } return delegateContentProvider.hasChildren(element); } @Override public Object[] getElements(Object inputElement) { return getChildren(inputElement); } }