package org.codefaces.ui.internal.commons; import org.codefaces.core.models.RepoResource; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.viewers.Viewer; public class RepoResourceContentProvider implements ITreeContentProvider { private RepoResourceContentProviderManager manager; @Override public void dispose() { if (manager != null) { manager.dispose(); } } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { if (manager != null) { manager.dispose(); } manager = new RepoResourceContentProviderManager((TreeViewer) viewer); } @Override public Object[] getElements(Object parent) { return getChildren(parent); } @Override public Object getParent(Object child) { if (child instanceof RepoResource) { return ((RepoResource) child).getParent(); } return null; } @Override public Object[] getChildren(Object parent) { return manager.getChildren(parent); } @Override public boolean hasChildren(Object parent) { return manager.hasChildren(parent); } }