/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2003-2008, Open Source Geospatial Foundation (OSGeo) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package org.geotools.data.jdbc.attributeio; import java.io.IOException; import java.io.Serializable; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; import org.geotools.data.DataSourceException; /** * A basic attribute IO class, that will parse and write attributes * as objects (using getObject, updateObject). This works usually with * all primitives wrapped by an objects, and of course with every {@link Serializable} * object. * * @author wolf * * @source $URL$ * * @deprecated scheduled for removal in 2.7, use classes in org.geotools.jdbc */ public class BasicAttributeIO implements AttributeIO { /** * @see org.geotools.data.jdbc.attributeio.AttributeIO#read(java.sql.ResultSet, * int) */ public Object read(ResultSet rs, int position) throws IOException { try { return rs.getObject(position); } catch (SQLException e) { throw new DataSourceException("Sql problem.", e); } } /** * @see org.geotools.data.jdbc.attributeio.AttributeIO#write(java.sql.ResultSet, * int, java.lang.Object) */ public void write(ResultSet rs, int position, Object value) throws IOException { try { if (value == null) { rs.updateNull(position); } else { rs.updateObject(position, value); } } catch (Exception e) { throw new DataSourceException("Sql problem.", e); } } /** * @see org.geotools.data.jdbc.attributeio.AttributeIO#write(java.sql.PreparedStatement, int, java.lang.Object) */ public void write(PreparedStatement ps, int position, Object value) throws IOException { try { if (value == null) { ps.setNull(position, Types.OTHER); } else { ps.setObject(position, value); } } catch (Exception e) { throw new DataSourceException("Sql problem.", e); } } }