org.geotools.data.AttributeWriter Maven / Gradle / Ivy
/*
* 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;
import java.io.IOException;
import org.opengis.feature.type.AttributeDescriptor;
/**
* - Added hasNext to support the FeatureWriter API. - Changed order of writer parameters to match
* Collections, JDBC API. - Added IOExceptions on all methods. - Do we want AttributeWriters to know
* about the schema and perform validation??
*
* @version $Id$
* @author Ian Schneider
* @author Sean Geoghegan, Defence Science and Technology Organisation.
*/
public interface AttributeWriter {
/** The number of attributes this reader can read, i.e the length of a row. */
int getAttributeCount();
/** Retrieve the AttributeType at the given index. */
AttributeDescriptor getAttributeType(int i) throws ArrayIndexOutOfBoundsException;
/**
* Advance the AttributeWriter, all calls to write will correspond to the same set of attributes
* until next is called again.
*/
void next() throws IOException;
/**
* Write the given attribute value at the position indicated. Implementations can choose to
* immediately flush the write or buffer it.
*/
void write(int position, Object attribute) throws IOException;
void close() throws IOException;
/**
* Query whether there are other rows in the attribute writer.
*
* @see FeatureWriter#hasNext()
*/
boolean hasNext() throws IOException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy