3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.taxeditor
.featuretree
;
13 import java
.util
.List
;
15 import org
.eclipse
.jface
.viewers
.ITreeContentProvider
;
16 import org
.eclipse
.jface
.viewers
.Viewer
;
18 import eu
.etaxonomy
.cdm
.model
.description
.FeatureNode
;
19 import eu
.etaxonomy
.cdm
.model
.description
.FeatureTree
;
22 * <p>FeatureTreeContentProvider class.</p>
25 * @created Aug 5, 2010
28 public class FeatureTreeContentProvider
implements ITreeContentProvider
{
31 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
35 public void dispose() {
40 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
44 public void inputChanged(Viewer viewer
, Object oldInput
, Object newInput
) {
49 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
53 public Object
[] getElements(Object inputElement
) {
54 return this.getChildren(inputElement
);
59 public Object
[] getChildren(Object parentElement
) {
60 if(parentElement
instanceof FeatureTree
){
61 List
<FeatureNode
> children
= ((FeatureTree
) parentElement
).getRootChildren();
62 return children
.toArray();
63 }else if(parentElement
instanceof FeatureNode
){
64 List
<FeatureNode
> children
= ((FeatureNode
) parentElement
).getChildNodes();
65 return children
.toArray();
66 }else if(parentElement
instanceof List
){
67 return ((List
) parentElement
).toArray();
69 return new Object
[]{};
75 public Object
getParent(Object element
) {
81 public boolean hasChildren(Object element
) {
82 return getChildren(element
).length
!= 0;