001/* 002 * Stallion Core: A Modern Web Framework 003 * 004 * Copyright (C) 2015 - 2016 Stallion Software LLC. 005 * 006 * This program is free software: you can redistribute it and/or modify it under the terms of the 007 * GNU General Public License as published by the Free Software Foundation, either version 2 of 008 * the License, or (at your option) any later version. This program is distributed in the hope that 009 * it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 011 * License for more details. You should have received a copy of the GNU General Public License 012 * along with this program. If not, see <http://www.gnu.org/licenses/gpl-2.0.html>. 013 * 014 * 015 * 016 */ 017 018package io.stallion.dataAccess.db.converters; 019 020import io.stallion.dataAccess.Model; 021import io.stallion.dataAccess.db.Schema; 022import org.apache.commons.dbutils.ResultSetHandler; 023 024import java.sql.ResultSet; 025import java.sql.SQLException; 026 027 028public class ModelResultHandler implements ResultSetHandler<Model>, ResultToModel { 029 030 private Class modelClass; 031 private Schema schema; 032 033 public ModelResultHandler(Schema schema) { 034 this.modelClass = schema.getClazz(); 035 this.setSchema(schema); 036 } 037 038 @Override 039 public Model handle(ResultSet resultSet) throws SQLException { 040 Boolean hasMore = resultSet.next(); 041 if (hasMore) { 042 return handleOneRow(resultSet); 043 } else { 044 return null; 045 } 046 } 047 048 public Class getModelClass() { 049 return modelClass; 050 } 051 052 public void setModelClass(Class modelClass) { 053 this.modelClass = modelClass; 054 } 055 056 public Schema getSchema() { 057 return schema; 058 } 059 060 public void setSchema(Schema schema) { 061 this.schema = schema; 062 } 063}