01: /*
02: * This file is part of PFIXCORE.
03: *
04: * PFIXCORE is free software; you can redistribute it and/or modify
05: * it under the terms of the GNU Lesser General Public License as published by
06: * the Free Software Foundation; either version 2 of the License, or
07: * (at your option) any later version.
08: *
09: * PFIXCORE is distributed in the hope that it will be useful,
10: * but WITHOUT ANY WARRANTY; without even the implied warranty of
11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12: * GNU Lesser General Public License for more details.
13: *
14: * You should have received a copy of the GNU Lesser General Public License
15: * along with PFIXCORE; if not, write to the Free Software
16: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17: */
18:
19: package de.schlund.pfixcore.editor2.core.dom;
20:
21: /**
22: * Provides functionality common to all classes implementing Theme
23: *
24: * @author Sebastian Marsching <sebastian.marsching@1und1.de>
25: */
26: public abstract class AbstractTheme implements Theme {
27: private String name;
28:
29: /**
30: * Creates a Theme object with the specified name
31: *
32: * @param name Name of the variant to create
33: */
34: public AbstractTheme(String name) {
35: this .name = name;
36: }
37:
38: /* (non-Javadoc)
39: * @see java.lang.Object#equals(java.lang.Object)
40: */
41: public boolean equals(Object obj) {
42: if (obj instanceof Theme) {
43: Theme theme = (Theme) obj;
44: return this .getName().equals(theme.getName());
45: } else {
46: return false;
47: }
48: }
49:
50: /* (non-Javadoc)
51: * @see java.lang.Object#hashCode()
52: */
53: public int hashCode() {
54: return ("THEME: " + this .toString()).hashCode();
55: }
56:
57: /* (non-Javadoc)
58: * @see java.lang.Object#toString()
59: */
60: public String toString() {
61: return this .getName();
62: }
63:
64: /* (non-Javadoc)
65: * @see de.schlund.pfixcore.editor2.core.dom.Theme#getName()
66: */
67: public String getName() {
68: return this .name;
69: }
70:
71: /* (non-Javadoc)
72: * @see java.lang.Comparable#compareTo(java.lang.Object)
73: */
74: public int compareTo(Theme theme) {
75: return this.getName().compareTo(theme.getName());
76: }
77: }
|