@Override public RowMapper<Map.Entry<K, V>> specialize(ResultSet rs, StatementContext ctx) throws SQLException { return new MapEntryMapper<>(keyMapper.specialize(rs, ctx), valueMapper.specialize(rs, ctx)); }
ResultSetResultIterator(ResultSet results, RowMapper<T> mapper, StatementContext context) throws SQLException { this.results = requireNonNull(results); this.mapper = mapper.specialize(results, context); this.context = context; this.context.addCleanable(results::close); }
private RowMapper<?> rowMapperFor(Type type) throws SQLException { if (rowMappers.containsKey(type)) { return rowMappers.get(type); } RowMapper<?> mapper = ctx.findRowMapperFor(type) .orElseThrow(() -> new NoSuchMapperException("No row mapper registered for " + type)) .specialize(rs, ctx); rowMappers.put(type, mapper); return mapper; }
@Override public RowMapper<JoinRow> specialize(ResultSet r, StatementContext ctx) throws SQLException { RowMapper<?>[] mappers = new RowMapper[types.length]; for (int i = 0; i < types.length; i++) { Type type = types[i]; mappers[i] = ctx.findRowMapperFor(type) .orElseThrow(() -> new IllegalArgumentException("No row mapper registered for " + type)) .specialize(r, ctx); } return (rs, context) -> { final Map<Type, Object> entries = new HashMap<>(types.length); for (int i = 0; i < types.length; i++) { Type type = types[i]; RowMapper<?> mapper = mappers[i]; entries.put(type, mapper.map(r, ctx)); } return new JoinRow(entries); }; }
@Override public RowMapper<Map.Entry<K, V>> specialize(ResultSet rs, StatementContext ctx) throws SQLException { return new MapEntryMapper<>(keyMapper.specialize(rs, ctx), valueMapper.specialize(rs, ctx)); }
ResultSetResultIterator(ResultSet results, RowMapper<T> mapper, StatementContext context) throws SQLException { this.results = requireNonNull(results); this.mapper = mapper.specialize(results, context); this.context = context; this.context.addCleanable(results::close); }
private RowMapper<?> rowMapperFor(Type type) throws SQLException { if (rowMappers.containsKey(type)) { return rowMappers.get(type); } RowMapper<?> mapper = ctx.findRowMapperFor(type) .orElseThrow(() -> new NoSuchMapperException("No row mapper registered for " + type)) .specialize(rs, ctx); rowMappers.put(type, mapper); return mapper; }
@Override public RowMapper<JoinRow> specialize(ResultSet r, StatementContext ctx) throws SQLException { RowMapper<?>[] mappers = new RowMapper[types.length]; for (int i = 0; i < types.length; i++) { Type type = types[i]; mappers[i] = ctx.findRowMapperFor(type) .orElseThrow(() -> new IllegalArgumentException("No row mapper registered for " + type)) .specialize(r, ctx); } return (rs, context) -> { final Map<Type, Object> entries = new HashMap<>(types.length); for (int i = 0; i < types.length; i++) { Type type = types[i]; RowMapper<?> mapper = mappers[i]; entries.put(type, mapper.map(r, ctx)); } return new JoinRow(entries); }; }