package edu.usc.cssl.tacit.common.ui.internal; import java.util.ArrayList; import java.util.List; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; public class TargetLocationContentProvider implements ITreeContentProvider { /** * Gets the children of the specified object * * @param arg0 * the parent object * @return Object[] */ public Object[] getChildren(Object arg0) { return getElements(arg0); } /** * Gets the parent of the specified object * * @param arg0 * the object * @return Object */ public Object getParent(Object arg0) { return null; } /** * Returns whether the passed object has children * * @param arg0 * the parent object * @return boolean */ public boolean hasChildren(Object arg0) { // Get the children Object[] obj = getChildren(arg0); // Return whether the parent has children return obj == null ? false : obj.length > 0; } /** * Gets the root element(s) of the tree * * @param arg0 * the input data * @return Object[] */ public Object[] getElements(Object arg0) { List<Object> elements = new ArrayList<Object>(); if(arg0 instanceof List){ List<Object> elementList = (List<Object>) arg0; elements.addAll(elementList); } else { if(arg0 instanceof TreeParent){ TreeParent parent = (TreeParent) arg0; for (String file : parent.getFiles()) { elements.add(file); } for(TreeParent child : parent.getFolder()){ elements.add(child); } } } return elements.toArray(); } @Override public void dispose() { // TODO Auto-generated method stub } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } @Override public boolean equals(Object obj) { // TODO Auto-generated method stub return this.equals(obj); } }