package net.sf.eclipsefp.haskell.ui.views; import java.util.Collection; import net.sf.eclipsefp.haskell.core.cabal.CabalPackageRef; import net.sf.eclipsefp.haskell.core.cabal.CabalPackageVersion; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; /** * content provided for packages and their versions * @author JPMoresmau * */ public class CabalPackageContentProvider implements ITreeContentProvider { @Override public Object[] getChildren( final Object arg0 ) { if (arg0 instanceof CabalPackageRef){ return ((CabalPackageRef)arg0).getCabalPackageVersions().toArray(); } return new Object[0]; } @Override public Object getParent( final Object arg0 ) { if (arg0 instanceof CabalPackageVersion){ return ((CabalPackageVersion)arg0).getRef(); } return null; } @Override public boolean hasChildren( final Object arg0 ) { if (arg0 instanceof CabalPackageRef){ return true; } return false; } @Override public Object[] getElements( final Object arg0 ) { if (arg0 instanceof Collection<?>){ return ((Collection<?>)arg0).toArray(); } return null; } @Override public void dispose() { // TODO Auto-generated method stub } @Override public void inputChanged( final Viewer arg0, final Object arg1, final Object arg2 ) { // TODO Auto-generated method stub } }