View Javadoc

1   /*
2    * This file is a part of CAST project.
3    * (c) Copyright 2007, AGH University of Science & Technology
4    * https://caribou.iisg.agh.edu.pl/trac/cast
5    *
6    * Licensed under the Eclipse Public License, Version 1.0 (the "License").
7    * You may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    * http://www.eclipse.org/legal/epl-v10.html
10   */
11  /*
12   * File: TemplatesTreeContentProvider.java
13   * Created: Sep 17, 2009
14   * Author: Kamil
15   * $Id$
16   */
17  
18  package pl.edu.agh.cast.importer.wizard.template;
19  
20  import java.util.Collection;
21  
22  import org.eclipse.jface.viewers.ITreeContentProvider;
23  import org.eclipse.jface.viewers.Viewer;
24  
25  /**
26   * 
27   * @author AGH CAST Team
28   */
29  public class TemplatesTreeContentProvider implements ITreeContentProvider {
30  
31  	/**
32  	 * {@inheritDoc}
33  	 * 
34  	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
35  	 */
36  	@Override
37  	public Object[] getChildren(Object parentElement) {
38  		if (parentElement instanceof Collection) {
39  			return ((Collection<?>)parentElement).toArray();
40  		} else if (parentElement instanceof TemplateGroupTreeEntry) {
41  			return ((TemplateGroupTreeEntry)parentElement).getChildren().toArray();
42  		} else {
43  			return null;
44  		}
45  	}
46  
47  	/**
48  	 * {@inheritDoc}
49  	 * 
50  	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
51  	 */
52  	@Override
53  	public Object getParent(Object element) {
54  		if (element instanceof TemplateTreeEntry) {
55  			return ((TemplateTreeEntry)element).getParent();
56  		} else if (element instanceof TemplateGroupTreeEntry) {
57  			return ((TemplateGroupTreeEntry)element).getParent();
58  		} else {
59  			return null;
60  		}
61  	}
62  
63  	/**
64  	 * {@inheritDoc}
65  	 * 
66  	 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
67  	 */
68  	@Override
69  	public boolean hasChildren(Object element) {
70  		if (element instanceof Collection) {
71  			return !((Collection<?>)element).isEmpty();
72  		} else if (element instanceof TemplateGroupTreeEntry) {
73  			return !((TemplateGroupTreeEntry)element).getChildren().isEmpty();
74  		} else {
75  			return false;
76  		}
77  	}
78  
79  	/**
80  	 * {@inheritDoc}
81  	 * 
82  	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
83  	 */
84  	@Override
85  	public Object[] getElements(Object inputElement) {
86  		return getChildren(inputElement);
87  	}
88  
89  	/**
90  	 * {@inheritDoc}
91  	 * 
92  	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
93  	 */
94  	@Override
95  	public void dispose() {
96  		// TODO Auto-generated method stub
97  
98  	}
99  
100 	/**
101 	 * {@inheritDoc}
102 	 * 
103 	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object,
104 	 *      java.lang.Object)
105 	 */
106 	@Override
107 	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
108 		// TODO Auto-generated method stub
109 
110 	}
111 
112 }