Using JDBC select query as an inbound endpoint
This will invoke your implementation class for each returned row from the query - it will not pass a full ResultSet through (instead your UMO will receive an instance of class org.apache.commons.dbutils.BasicRowPRocessor$CaseInsensitiveHashMap).
You then can cast this class to a HashMap as (CaseInsensitiveHashMap extends java.util.HashMap) and process each row - or you can aggregate the rows together first, and then process them.
You could also define a transformer to prepare the data to a different format first.