package foundation.data.meta.template;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import foundation.data.meta.field.Field;
|
import foundation.data.meta.field.FieldsRuntime;
|
|
public class Index {
|
|
private List<String> fields;
|
private String[] names;
|
private int[] values;
|
|
|
public Index() {
|
fields = new ArrayList<String>();
|
}
|
|
public void build(FieldsRuntime fieldsRuntime) {
|
//1.
|
List<String> fieldList = new ArrayList<String>();
|
List<Integer> noList = new ArrayList<Integer>();
|
|
Field field;
|
|
for (String fieldName: fields) {
|
field = fieldsRuntime.get(fieldName);
|
|
if (field == null) {
|
continue;
|
}
|
|
fieldList.add(fieldName);
|
noList.add(field.getIndexNo());
|
}
|
|
//2.
|
names = new String[fieldList.size()];
|
fieldList.toArray(names);
|
|
int max = noList.size();
|
values = new int[max];
|
for (int i = 0; i < max; i++) {
|
values[i] = noList.get(i);
|
}
|
}
|
|
public void loadOne(String fieldName) {
|
fields.add(fieldName);
|
}
|
|
public int[] getValues() {
|
return values;
|
}
|
|
public String[] getNames() {
|
return names;
|
}
|
|
public void clear() {
|
fields.clear();
|
}
|
|
}
|