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 }