2014-04-29 10:54:20 +10:00
|
|
|
package codechicken.nei.config;
|
|
|
|
|
|
|
|
|
|
import java.util.LinkedList;
|
|
|
|
|
|
2022-06-24 12:32:13 +01:00
|
|
|
public abstract class ArrayDumper<T> extends DataDumper {
|
2014-04-29 10:54:20 +10:00
|
|
|
public ArrayDumper(String name) {
|
|
|
|
|
super(name);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Iterable<String[]> dump(int mode) {
|
2019-12-30 20:19:16 -08:00
|
|
|
LinkedList<String[]> list = new LinkedList<>();
|
2014-04-29 10:54:20 +10:00
|
|
|
T[] array = array();
|
|
|
|
|
for (int i = 0; i < array.length; i++) {
|
|
|
|
|
T obj = array[i];
|
|
|
|
|
if (obj == null) {
|
2022-06-24 12:32:13 +01:00
|
|
|
if (mode == 1 || mode == 2) list.add(new String[] {Integer.toString(i), null, null, null, null});
|
2014-04-29 10:54:20 +10:00
|
|
|
} else {
|
2022-06-24 12:32:13 +01:00
|
|
|
if (mode == 0 || mode == 2) list.add(dump(obj, i));
|
2014-04-29 10:54:20 +10:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public abstract T[] array();
|
|
|
|
|
|
|
|
|
|
public abstract String[] dump(T obj, int id);
|
2022-06-24 12:32:13 +01:00
|
|
|
}
|