1 package charactermanaj.model;
\r
3 import java.io.Serializable;
\r
7 * カラーグループはimmutableであり、構築された値は変更されることはない.<br>
\r
10 public final class ColorGroup implements Serializable {
\r
12 private static final long serialVersionUID = -2127943872189828172L;
\r
14 private final String id;
\r
16 private final boolean enabled;
\r
18 private final String localizedName;
\r
20 public static final ColorGroup NA = new ColorGroup("n/a", "", false);
\r
22 public ColorGroup(final String id, final String localizedName) {
\r
23 this(id, localizedName, true);
\r
26 private ColorGroup(final String id, final String localizedName, final boolean enabled) {
\r
27 if (id == null || id.trim().length() == 0) {
\r
28 throw new IllegalArgumentException();
\r
30 this.id = id.trim();
\r
31 this.localizedName = (localizedName == null || localizedName.trim().length() == 0) ? id : localizedName;
\r
32 this.enabled = enabled;
\r
35 public boolean isEnabled() {
\r
39 public String getId() {
\r
43 public String getLocalizedName() {
\r
44 return localizedName;
\r
48 public int hashCode() {
\r
49 return id.hashCode();
\r
53 public boolean equals(Object obj) {
\r
57 if (obj != null && obj instanceof ColorGroup) {
\r
58 ColorGroup o = (ColorGroup) obj;
\r
59 return id.equals(o.getId());
\r
64 public static boolean equals(ColorGroup v1, ColorGroup v2) {
\r
68 if (v1 == null || v2 == null) {
\r
71 return v1.equals(v2);
\r
75 public String toString() {
\r
76 return getLocalizedName();
\r