| 23 | import java.util.Map; |
| 24 | |
| 25 | public class ConvertingParser<T> extends AbstractParser<T> { |
| 26 | |
| 27 | private final Function<Reader, Map<String, ?>> deserializer; |
| 28 | private final Converter<T, Object> converter; |
| 29 | |
| 30 | public ConvertingParser(Function<Reader, Map<String, ?>> deserializer, Converter<T, Object> converter) { |
| 31 | this.deserializer = Assert.notNull(deserializer, "Deserializer function cannot be null."); |
| 32 | this.converter = Assert.notNull(converter, "Converter cannot be null."); |
| 33 | } |
| 34 | |
| 35 | @Override |
| 36 | public final T parse(Reader reader) { |
| 37 | Assert.notNull(reader, "Reader cannot be null."); |
| 38 | Map<String, ?> m = this.deserializer.apply(reader); |
| 39 | return this.converter.applyFrom(m); |
| 40 | } |
| 41 | } |
nothing calls this directly
no outgoing calls
no test coverage detected
searching dependent graphs…