OSDN Git Service

dmg作成バージョンの取得方法の修正
[charactermanaj/CharacterManaJ.git] / src / charactermanaj / model / ColorInfo.java
1 package charactermanaj.model;\r
2 \r
3 import java.io.Serializable;\r
4 \r
5 import charactermanaj.graphics.filters.ColorConvertParameter;\r
6 \r
7 /**\r
8  * カラーグループおよび連動フラグを含む色情報.<br> \r
9  * @author seraphy\r
10  */\r
11 public class ColorInfo implements Serializable, Cloneable {\r
12 \r
13         private static final long serialVersionUID = 2448550538711608223L;\r
14 \r
15         private ColorConvertParameter colorParameter = new ColorConvertParameter();\r
16         \r
17         private boolean syncColorGroup = false;\r
18         \r
19         private ColorGroup colorGroup = ColorGroup.NA;\r
20         \r
21         @Override\r
22         public ColorInfo clone() {\r
23                 ColorInfo colorInfo;\r
24                 try {\r
25                         colorInfo = (ColorInfo) super.clone();\r
26 \r
27                 } catch (CloneNotSupportedException ex) {\r
28                         throw new RuntimeException(ex.getMessage(), ex);\r
29                 }\r
30                 colorInfo.colorParameter = (ColorConvertParameter) this.colorParameter.clone();\r
31                 return colorInfo;\r
32         }\r
33         \r
34         @Override\r
35         public int hashCode() {\r
36                 return colorParameter.hashCode() ^ colorGroup.hashCode();\r
37         }\r
38         \r
39         @Override\r
40         public boolean equals(Object obj) {\r
41                 if (obj == this) {\r
42                         return true;\r
43                 }\r
44                 if (obj != null && obj instanceof ColorInfo) {\r
45                         ColorInfo o = (ColorInfo) obj;\r
46                         return colorGroup.equals(o.colorGroup)\r
47                                         && syncColorGroup == o.syncColorGroup\r
48                                         && colorParameter.equals(o.colorParameter);\r
49                 }\r
50                 return false;\r
51         }\r
52 \r
53         public ColorConvertParameter getColorParameter() {\r
54                 return colorParameter;\r
55         }\r
56 \r
57         public void setColorParameter(ColorConvertParameter colorParameter) {\r
58                 if (colorParameter == null) {\r
59                         this.colorParameter = new ColorConvertParameter();\r
60                 } else {\r
61                         this.colorParameter = colorParameter;\r
62                 }\r
63         }\r
64 \r
65         public boolean isSyncColorGroup() {\r
66                 return syncColorGroup;\r
67         }\r
68 \r
69         public void setSyncColorGroup(boolean syncColorGroup) {\r
70                 this.syncColorGroup = syncColorGroup;\r
71         }\r
72 \r
73         public ColorGroup getColorGroup() {\r
74                 return colorGroup;\r
75         }\r
76 \r
77         public void setColorGroup(ColorGroup colorGroup) {\r
78                 if (colorGroup == null) {\r
79                         this.colorGroup = ColorGroup.NA;\r
80                 } else {\r
81                         this.colorGroup = colorGroup;\r
82                 }\r
83         }\r
84         \r
85         @Override\r
86         public String toString() {\r
87                 StringBuilder buf = new StringBuilder();\r
88                 buf.append(getClass().getSimpleName() + "@" + Integer.toHexString(System.identityHashCode(this)));\r
89                 buf.append("(");\r
90                 buf.append("(colorGroup: " + colorGroup + "(sync: " + syncColorGroup + ")), ");\r
91                 buf.append("(colorParameter: " + colorParameter + ")");\r
92                 buf.append(")");\r
93                 return buf.toString();\r
94         }\r
95 }\r