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: INavigatorTreeItem.java
13   * Created: 2009-07-16
14   * Author: czerwin
15   * $Id$
16   */
17  
18  package pl.edu.agh.cast.navigator;
19  
20  import java.util.List;
21  
22  import org.eclipse.swt.graphics.Image;
23  
24  /**
25   * Interface for navigator tree items.
26   *
27   * @author AGH CAST Team
28   */
29  public interface INavigatorTreeItem {
30  
31  	/**
32  	 * Returns object held by this item.
33  	 * 
34  	 * @return object held by item
35  	 */
36  	public Object getObject();
37  
38  	/**
39  	 * Returns item label.
40  	 * 
41  	 * @return item label
42  	 */
43  	public String getLabel();
44  
45  	/**
46  	 * Returns item icon image.
47  	 * 
48  	 * @return item icon image
49  	 */
50  	public Image getIcon();
51  
52  	/**
53  	 * Returns navigator tree items specific for concrete navigator provider.
54  	 * 
55  	 * @return list of children
56  	 */
57  	public List<INavigatorTreeItem> getChildren();
58  
59  	/**
60  	 * Returns true if navigator provider has children.
61  	 * 
62  	 * @return true if navigator provider has children
63  	 */
64  	public boolean hasChildren();
65  
66  }