1 /*******************************************************************************2 * Copyright (c) 2006 IBM Corporation and others.3 * All rights reserved. This program and the accompanying materials4 * are made available under the terms of the Eclipse Public License v1.05 * which accompanies this distribution, and is available at6 * http://www.eclipse.org/legal/epl-v10.html7 *8 * Contributors:9 * IBM Corporation - initial API and implementation10 *******************************************************************************/11 12 package org.eclipse.pde.internal.ui.editor.cheatsheet.simple;13 14 import java.util.List ;15 16 import org.eclipse.jface.viewers.ITreeContentProvider;17 import org.eclipse.pde.internal.core.icheatsheet.simple.ISimpleCSModel;18 import org.eclipse.pde.internal.core.icheatsheet.simple.ISimpleCSObject;19 import org.eclipse.pde.internal.ui.elements.DefaultContentProvider;20 21 /**22 * SimpleCSContentProvider23 *24 */25 public class SimpleCSContentProvider extends DefaultContentProvider implements26 ITreeContentProvider {27 28 /**29 * 30 */31 public SimpleCSContentProvider() {32 // NO-OP33 }34 35 /* (non-Javadoc)36 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)37 */38 public Object [] getChildren(Object parentElement) {39 if (parentElement instanceof ISimpleCSModel) {40 return new Object []{((ISimpleCSModel)parentElement).getSimpleCS()};41 } else if (parentElement instanceof ISimpleCSObject) {42 List list = ((ISimpleCSObject)parentElement).getChildren();43 // List is never null44 if (list.size() > 0) {45 return list.toArray();46 }47 }48 return new Object [0];49 }50 51 /* (non-Javadoc)52 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)53 */54 public Object getParent(Object element) {55 if (element instanceof ISimpleCSObject) {56 return ((ISimpleCSObject)element).getParent();57 }58 return null;59 }60 61 /* (non-Javadoc)62 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)63 */64 public boolean hasChildren(Object element) {65 return (getChildren(element).length > 0);66 }67 68 /* (non-Javadoc)69 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)70 */71 public Object [] getElements(Object inputElement) {72 return getChildren(inputElement);73 }74 75 }76