1 package charactermanaj.util;
\r
3 import java.util.AbstractList;
\r
4 import java.util.Arrays;
\r
7 * 関連もしくは類似するリソースをまとめて取り扱うためにグループ化するためのクラス.<br>
\r
11 public class ResourceNames extends AbstractList<String> {
\r
13 private final String[] resourceNames;
\r
15 public ResourceNames(String[] resourceNames) {
\r
16 if (resourceNames == null) {
\r
17 throw new IllegalArgumentException();
\r
19 this.resourceNames = resourceNames;
\r
23 * 順次を逆転させた新しいインスタンスを返す
\r
25 * @return 順序を逆転させたインスタンス
\r
27 public ResourceNames reverse() {
\r
28 int len = resourceNames.length;
\r
29 String[] tmp = new String[len];
\r
30 for (int idx = 0; idx < len; idx++) {
\r
31 tmp[len - idx - 1] = resourceNames[idx];
\r
33 return new ResourceNames(tmp);
\r
37 public int hashCode() {
\r
38 return Arrays.hashCode(resourceNames);
\r
42 public boolean equals(Object obj) {
\r
46 if (obj != null && obj instanceof ResourceNames) {
\r
47 ResourceNames o = (ResourceNames) obj;
\r
48 return Arrays.equals(resourceNames, o.resourceNames);
\r
55 return resourceNames.length;
\r
59 public String get(int index) {
\r
60 return resourceNames[index];
\r