/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.extension.ui.model; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; import org.teiid.core.designer.util.ArrayUtil; import org.teiid.designer.extension.ui.editors.ModelExtensionDefinitionEditor; /** * */ public class MedContentProvider implements ITreeContentProvider { /** * {@inheritDoc} * * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ @Override public void dispose() { // nothing to do } /** * {@inheritDoc} * * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object) */ @Override public Object[] getChildren( Object parentElement ) { if (parentElement instanceof ModelExtensionDefinitionEditor) { return new Object[] { ((ModelExtensionDefinitionEditor)parentElement).getSelectionSynchronizer().getMedModelNode() }; } if (parentElement instanceof MedModelNode) { return ((MedModelNode)parentElement).getChildren(); } return ArrayUtil.Constants.EMPTY_ARRAY; } /** * {@inheritDoc} * * @see org.eclipse.jface.viewers.ITreeContentProvider#getElements(java.lang.Object) */ @Override public Object[] getElements( Object inputElement ) { return getChildren(inputElement); } /** * {@inheritDoc} * * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object) */ @Override public Object getParent( Object element ) { if (element instanceof MedModelNode) { return ((MedModelNode)element).getParent(); } return null; } /** * {@inheritDoc} * * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object) */ @Override public boolean hasChildren( Object element ) { return (getChildren(element).length != 0); } /** * {@inheritDoc} * * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, * java.lang.Object) */ @Override public void inputChanged( Viewer viewer, Object oldInput, Object newInput ) { // nothing to do } }