1 package com.melloware.jukes.gui.view.node;
2
3 import java.awt.Color;
4 import java.awt.Font;
5
6 import javax.swing.Icon;
7 import javax.swing.tree.TreeNode;
8
9 import com.melloware.jukes.db.orm.AbstractJukesObject;
10
11 /**
12 * This interface describes tree nodes in the Jukes navigation tree.
13 * <p>
14 * Copyright (c) 1999-2007 Melloware, Inc. <http://www.melloware.com>
15 * @author Emil A. Lefkof III <info@melloware.com>
16 * @version 4.0
17 *
18 * @see javax.swing.tree.TreeNode
19 */
20 public interface NavigationNode
21 extends TreeNode {
22
23 /**
24 * Returns this node's icon with any overlays added.
25 *
26 * @return this node's icon with any overlays added.
27 */
28 Icon getNodeIcon(boolean selected);
29
30 /**
31 * Returns this node's icon for the given selection state.
32 *
33 * @return this node's icon for the given selection state
34 */
35 Icon getIcon(boolean selected);
36
37 /**
38 * Returns this node's Font for the given selection state.
39 *
40 * @return this node's Font for the given selection state
41 */
42 Font getFont();
43
44 /**
45 * Returns this node's Font color for the given selection state.
46 *
47 * @return this node's Font color for the given selection state
48 */
49 Color getFontColor();
50
51 /**
52 * Returns this node's model.
53 *
54 * @return this node's model
55 */
56 AbstractJukesObject getModel();
57
58 /**
59 * Returns this node's name.
60 *
61 * @return this node's name
62 */
63 String getName();
64
65 }