1 package liquibase.executor.jvm; 2 3 import java.sql.ResultSet; 4 import java.sql.SQLException; 5 6 /** 7 * An interface used by {@link liquibase.executor.Executor} for mapping rows of a {@link java.sql.ResultSet} on a 8 * per-row basis. Implementations of this interface perform the actual work of mapping each row to a result object, but 9 * don't need to worry about exception handling. {@link java.sql.SQLException SQLExceptions} will be caught and handled 10 * by the calling JdbcTemplate. 11 * <p/> 12 * 13 * @author Spring Framework 14 * @see liquibase.executor.Executor 15 * @see RowCallbackHandler 16 * @see ResultSetExtractor 17 */ 18 public interface RowMapper { 19 20 /** 21 * Implementations must implement this method to map each row of data in the ResultSet. This method should not call 22 * <code>next()</code> on the ResultSet; it is only supposed to map values of the current row. 23 * 24 * @param rs 25 * the ResultSet to map (pre-initialized for the current row) 26 * @param rowNum 27 * the number of the current row 28 * @return the result object for the current row 29 * @throws java.sql.SQLException 30 * if a SQLException is encountered getting column values (that is, there's no need to catch 31 * SQLException) 32 */ 33 Object mapRow(ResultSet rs, int rowNum) throws SQLException; 34 35 }