OSDN Git Service

64e00f9e74a9f6dcafa0b5040721978b986048c3
[charactermanaj/CharacterManaJ.git] / src / charactermanaj / util / ResourceNames.java
1 package charactermanaj.util;\r
2 \r
3 import java.util.AbstractList;\r
4 import java.util.Arrays;\r
5 \r
6 /**\r
7  * 関連もしくは類似するリソースをまとめて取り扱うためにグループ化するためのクラス.<br>\r
8  * @author seraphy\r
9  */\r
10 final class ResourceNames extends AbstractList<String> {\r
11         \r
12         private final String[] resourceNames;\r
13         \r
14         ResourceNames(String[] resourceNames) {\r
15                 if (resourceNames == null) {\r
16                         throw new IllegalArgumentException();\r
17                 }\r
18                 this.resourceNames = resourceNames;\r
19         }\r
20         \r
21         @Override\r
22         public int hashCode() {\r
23                 return Arrays.hashCode(resourceNames);\r
24         }\r
25         \r
26         @Override\r
27         public boolean equals(Object obj) {\r
28                 if (obj == this) {\r
29                         return true;\r
30                 }\r
31                 if (obj != null && obj instanceof ResourceNames) {\r
32                         ResourceNames o = (ResourceNames) obj;\r
33                         return Arrays.equals(resourceNames, o.resourceNames);\r
34                 }\r
35                 return false;\r
36         }\r
37         \r
38         @Override\r
39         public int size() {\r
40                 return resourceNames.length;\r
41         }\r
42         \r
43         @Override\r
44         public String get(int index) {\r
45                 return resourceNames[index];\r
46         }\r
47 }\r