01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * When distributing Covered Code, include this CDDL Header Notice in each file
10: * and include the License file at http://www.netbeans.org/cddl.txt.
11: * If applicable, add the following below the CDDL Header, with the fields
12: * enclosed by brackets [] replaced by your own identifying information:
13: * "Portions Copyrighted [year] [name of copyright owner]"
14: *
15: * The Original Software is NetBeans. The Initial Developer of the Original
16: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19:
20: package org.netbeans.modules.xslt.tmap.nodes;
21:
22: import java.awt.Image;
23: import org.netbeans.modules.xslt.tmap.model.api.TMapComponent;
24:
25: /**
26: *
27: * @author Vitaly Bychkov
28: * @version 1.0
29: */
30: public abstract class DecoratedTMapComponentAbstract<T extends TMapComponent>
31: implements DecoratedTMapComponent<T> {
32:
33: private T myOrig;
34:
35: public DecoratedTMapComponentAbstract(T orig) {
36: myOrig = orig;
37: }
38:
39: public String getName() {
40: NodeType type = NodeType.getNodeType(myOrig);
41: return type != null ? type.getDisplayName() : "";
42: }
43:
44: public String getDisplayName() {
45: return getName();
46: }
47:
48: public String getHtmlDisplayName() {
49: return getName();
50: }
51:
52: public String getTooltip() {
53: return "";
54: }
55:
56: public Image getIcon() {
57: NodeType type = NodeType.getNodeType(myOrig);
58: return type != null ? type.getImage() : NodeType.UNKNOWN_TYPE
59: .getImage();
60: }
61:
62: public T getOriginal() {
63: return myOrig;
64: }
65:
66: @Override
67: public boolean equals(Object obj) {
68: if (super .equals(obj)) {
69: return true;
70: }
71:
72: if (obj instanceof DecoratedTMapComponent) {
73: TMapComponent objComponent = ((DecoratedTMapComponent) obj)
74: .getOriginal();
75: TMapComponent origComponent = getOriginal();
76: if (origComponent != null) {
77: return origComponent.equals(objComponent);
78: }
79: }
80: return false;
81: }
82:
83: @Override
84: public int hashCode() {
85: TMapComponent origComponent = getOriginal();
86: return origComponent == null ? origComponent.hashCode() : super
87: .hashCode();
88: }
89:
90: }
|