org.simpleflatmapper.csv.impl.InstantiatorOnReader Maven / Gradle / Ivy
package org.simpleflatmapper.csv.impl;
import org.simpleflatmapper.csv.CellValueReader;
import org.simpleflatmapper.csv.ParsingContext;
import org.simpleflatmapper.reflect.Instantiator;
import org.simpleflatmapper.util.ErrorHelper;
public class InstantiatorOnReader implements CellValueReader {
private final Instantiator instantiator;
private final CellValueReader innerReader;
public InstantiatorOnReader(Instantiator constructor,
CellValueReader innerReader) {
this.instantiator = constructor;
this.innerReader = innerReader;
}
@Override
public T read(char[] chars, int offset, int length,
ParsingContext parsingContext) {
try {
return instantiator.newInstance(innerReader.read(chars, offset, length, parsingContext));
} catch (Exception e) {
return ErrorHelper.rethrow(e);
}
}
@Override
public String toString() {
return "ConstructorOnReader{" +
"constructor=" + instantiator +
", innerReader=" + innerReader +
'}';
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy