01 /* This file is part of the project "Hilbert II" - http://www.qedeq.org
02 *
03 * Copyright 2000-2011, Michael Meyling <mime@qedeq.org>.
04 *
05 * "Hilbert II" is free software; you can redistribute
06 * it and/or modify it under the terms of the GNU General Public
07 * License as published by the Free Software Foundation; either
08 * version 2 of the License, or (at your option) any later version.
09 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 */
15
16 package org.qedeq.gui.se.tree;
17
18 import javax.swing.tree.DefaultMutableTreeNode;
19
20 import org.qedeq.base.utility.EqualsUtility;
21 import org.qedeq.kernel.bo.common.QedeqBo;
22
23
24
25 /**
26 * Node for a JTreee.
27 *
28 * @version $Revision: 1.5 $
29 * @author Michael Meyling
30 */
31 public final class QedeqTreeNode extends DefaultMutableTreeNode {
32
33 public QedeqTreeNode(final ModuleElement userObject, final boolean allowsChildren) {
34 super(userObject, allowsChildren);
35 }
36
37 public QedeqTreeNode(final QedeqBo userObject, final boolean allowsChildren) {
38 super(userObject, allowsChildren);
39 }
40
41
42 public final void setUserObject(final Object userObject) {
43
44 if (userObject instanceof QedeqBo) {
45 this.userObject = userObject;
46 } else {
47 throw new IllegalArgumentException("Only ModuleElements could be managed!");
48 }
49 }
50
51 public boolean equals(final Object other) {
52 if (other == null || other.getClass() != QedeqTreeNode.class) {
53 return false;
54 }
55 return EqualsUtility.equals(getUserObject(), ((QedeqTreeNode) other).getUserObject());
56 }
57
58 public int hashCode() {
59 return getUserObject().hashCode();
60 }
61 }
|