В реализации класса RegExpParser достаточно определить enum полей, встречающихся в regExp и формат преобразования:
public class RegistryRowParser extends RegExpParser<RegistryRowParser.REGISTRY_GROUP, RegistryRowParser.RegistryRow> { private RegistryRow result = new RegistryRow(); public RegistryRowParser(String rowFormat) { super(REGISTRY_GROUP.class, rowFormat); } public RegistryRowParser() { super(REGISTRY_GROUP.class); } @Override public RegistryRow getResult() { return result; } public enum REGISTRY_GROUP implements RegExpParser.IGroup<RegistryRow> { amount { @Override public void setResult(RegistryRow result, String value, Object param) { result.amount = new BigDecimal(value); } }, factDate { @Override public void setResult(RegistryRow result, String value, Object param) throws ParseException { result.factDate = parseDate(value, param); } @Override public Object initParam(String param) { return initDateFormat(param); } }, partnerOperationId, customerAlias; public Object initParam(String param) { return null; } public void setResult(RegistryRow result, String value, Object param) throws ParseException{ setStringField(result, value, this); } } public static class RegistryRow { public String partnerOperationId; public Date factDate; public BigDecimal amount; public String customerAlias; } }