2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.taxeditor
.featuretree
;
12 import java
.util
.List
;
14 import org
.eclipse
.jface
.viewers
.ITreeContentProvider
;
15 import org
.eclipse
.jface
.viewers
.Viewer
;
17 import eu
.etaxonomy
.cdm
.model
.term
.TermNode
;
18 import eu
.etaxonomy
.cdm
.model
.term
.TermTree
;
21 * <p>FeatureTreeContentProvider class.</p>
24 * @created Aug 5, 2010
27 public class FeatureTreeContentProvider
implements ITreeContentProvider
{
30 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
34 public void dispose() {
39 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
43 public void inputChanged(Viewer viewer
, Object oldInput
, Object newInput
) {
49 public Object
[] getElements(Object inputElement
) {
50 return this.getChildren(inputElement
);
55 public Object
[] getChildren(Object parentElement
) {
56 if(parentElement
instanceof TermTree
){
57 List
<TermNode
> children
= ((TermTree
) parentElement
).getRootChildren();
58 return children
.toArray();
59 }else if(parentElement
instanceof TermNode
){
60 List
<TermNode
> children
= ((TermNode
) parentElement
).getChildNodes();
61 return children
.toArray();
62 }else if(parentElement
instanceof List
){
63 return ((List
<TermNode
>) parentElement
).toArray();
65 return new Object
[]{};
71 public Object
getParent(Object element
) {
72 if(element
instanceof TermNode
){
73 return ((TermNode
) element
).getParent();
80 public boolean hasChildren(Object element
) {
81 return getChildren(element
).length
!= 0;