Made MonStatsParserImpl a concrete impl of Parser

This commit is contained in:
Collin Smith 2020-12-16 11:50:16 -08:00
parent c82e615772
commit a5fd0e8b14

View File

@ -1,22 +1,29 @@
package com.riiablo.table.schema;
import java.io.IOException;
import javax.annotation.Generated;
import com.riiablo.table.Parser;
import com.riiablo.table.TsvParser;
public abstract class MonStatsParserImpl implements Parser<MonStats> {
public class MonStatsParserImpl implements Parser<MonStats> {
int[] fieldIds = new int[5];
@Override
public boolean hasNext(TsvParser parser) throws IOException {
return parser.cacheLine() != -1;
}
@Override
public void parseFields(TsvParser parser) {
fieldIds[0] = parser.fieldId("A1MaxD1");
fieldIds[1] = parser.fieldId("A1MaxD2");
}
// TODO: performance improvement of sorting calls by fieldId
// create Function[numFields]: (record) -> record.<field> = parser.parse<type>(fieldId)
@Generated(value = "")
@Override
public void parseRecord(final MonStats record, final TsvParser parser) {
record.A1MaxD[0] = parser.parseInt(0);
record.A1MaxD[1] = parser.parseInt(5);
record.A1MaxD[0] = parser.parseInt(fieldIds[0]);
record.A1MaxD[1] = parser.parseInt(fieldIds[1]);
}
}