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.comp;13 14 import java.util.List ;15 16 import org.eclipse.jface.viewers.ITreeContentProvider;17 import org.eclipse.pde.internal.core.icheatsheet.comp.ICompCSModel;18 import org.eclipse.pde.internal.core.icheatsheet.comp.ICompCSObject;19 import org.eclipse.pde.internal.ui.elements.DefaultContentProvider;20 21 /**22 * CompCSContentProvider23 *24 */25 public class CompCSContentProvider extends DefaultContentProvider implements26 ITreeContentProvider {27 28 /**29 * 30 */31 public CompCSContentProvider() {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 ICompCSModel) {40 return new Object []{((ICompCSModel)parentElement).getCompCS()};41 } else if (parentElement instanceof ICompCSObject) {42 List list = ((ICompCSObject)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 ICompCSObject) {56 return ((ICompCSObject)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