package rocks.inspectit.ui.rcp.view.tree;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
import rocks.inspectit.ui.rcp.model.Component;
import rocks.inspectit.ui.rcp.model.Composite;
import rocks.inspectit.ui.rcp.model.storage.LocalStorageTreeModelManager;
import rocks.inspectit.ui.rcp.model.storage.StorageTreeModelManager;
/**
* Content provider for the storage tree.
*
* @author Ivan Senic
*
*/
public class StorageManagerTreeContentProvider extends ArrayContentProvider implements ITreeContentProvider {
/**
* {@inheritDoc}
*/
@Override
public void dispose() {
}
/**
* {@inheritDoc}
*/
@Override
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
}
/**
* {@inheritDoc}
*/
@Override
public Object[] getElements(Object inputElement) {
if (inputElement instanceof StorageTreeModelManager) {
return ((StorageTreeModelManager) inputElement).getRootObjects();
} else if (inputElement instanceof LocalStorageTreeModelManager) {
return ((LocalStorageTreeModelManager) inputElement).getRootObjects();
} else {
return super.getElements(inputElement);
}
}
/**
* {@inheritDoc}
*/
@Override
public Object[] getChildren(Object parentElement) {
if (parentElement instanceof Composite) {
return ((Composite) parentElement).getChildren().toArray();
}
return new Object[0];
}
/**
* {@inheritDoc}
*/
@Override
public Object getParent(Object element) {
if (element instanceof Component) {
return ((Component) element).getParent();
}
return null;
}
/**
* {@inheritDoc}
*/
@Override
public boolean hasChildren(Object element) {
if (element instanceof Composite) {
return !((Composite) element).getChildren().isEmpty();
}
return false;
}
}