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 fields; private String[] names; private int[] values; public Index() { fields = new ArrayList(); } public void build(FieldsRuntime fieldsRuntime) { //1. List fieldList = new ArrayList(); List noList = new ArrayList(); 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(); } }