public class MessageDetailRowMapper implements RowMapper { public Object mapRow(ResultSet rs, int rowNum) { MessageDetail detail = new MessageDetail(); detail.setMessageId(rs.getLong(1)); // 10 lines of populating the detail detail.setStatus(getStatus(detail)); } private int getStatus(MessageDetail messageDetail) { if (messageDetail.getDeletedDate() != null) { return MessageSummary.DELETED; } else if (messageDetail.getReadDate() != null) { return MessageSummary.READ; } else { return MessageSummary.NEW; } } }