com.partnersoft.formats.shapefile
Class ShapefileDataRecordSource

java.lang.Object
  extended by com.partnersoft.io.AbstractIterableInput<Naming<java.lang.Object>>
      extended by com.partnersoft.io.DataRecordSource
          extended by com.partnersoft.formats.shapefile.ShapefileDataRecordSource
All Implemented Interfaces:
Coggable, IterableInput<Naming<java.lang.Object>>, java.lang.Iterable<Naming<java.lang.Object>>

public class ShapefileDataRecordSource
extends DataRecordSource

Treats an ESRI shapefile as a tabular DataRecordSource.

Copyright 2008 Partner Software, Inc.

Version:
$Id$
Author:
Paul Reavis

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.partnersoft.io.IterableInput
IterableInput.Status
 
Field Summary
 
Fields inherited from class com.partnersoft.io.DataRecordSource
currentValues, fieldNames, verbose
 
Constructor Summary
ShapefileDataRecordSource(VfsFile shpFile)
          Given just the .shp (or really, any extension) file, tries to locate the .shp and .dbf and go from there.
ShapefileDataRecordSource(VfsFile shpFile, VfsFile dbfFile)
          Creates a shapefile reader, given an .shp and .dbf file.
 
Method Summary
protected  void closeImp()
          Subclass implementation of guts of close() method.
 DataRecordSource copy()
          Makes a copy of this DataRecordSource, that you can iterate over separately.
protected  boolean fetchImp()
          Subclass implementation of guts of fetch() method.
protected  void openImp()
          Subclass implementation of guts of open() method.
 
Methods inherited from class com.partnersoft.io.DataRecordSource
fetch, getCurrentValues, getFetched, getFieldNames, isVerbose, setVerbose, toCog
 
Methods inherited from class com.partnersoft.io.AbstractIterableInput
close, getException, getStatus, isFetchValid, iterator, open
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ShapefileDataRecordSource

public ShapefileDataRecordSource(VfsFile shpFile)
                          throws java.io.IOException
Given just the .shp (or really, any extension) file, tries to locate the .shp and .dbf and go from there.

Throws:
java.io.IOException

ShapefileDataRecordSource

public ShapefileDataRecordSource(VfsFile shpFile,
                                 VfsFile dbfFile)
                          throws java.io.IOException
Creates a shapefile reader, given an .shp and .dbf file.

Throws:
java.io.IOException
Method Detail

closeImp

protected void closeImp()
                 throws java.lang.Exception
Description copied from class: AbstractIterableInput
Subclass implementation of guts of close() method.

Subclasses must implement this to do the actual work required by close(). Feel free to throw exceptions; these are caught inside the close() itself and applied to the exception variable. Thus, you can focus on the actual task instead of paperwork.

Specified by:
closeImp in class AbstractIterableInput<Naming<java.lang.Object>>
Throws:
java.lang.Exception

fetchImp

protected boolean fetchImp()
                    throws java.lang.Exception
Description copied from class: AbstractIterableInput
Subclass implementation of guts of fetch() method.

Subclasses must implement this to do the actual work required by fetch(). Feel free to throw exceptions; these are caught inside the fetch() itself and applied to the exception variable. Thus, you can focus on the actual task instead of paperwork.

Specified by:
fetchImp in class AbstractIterableInput<Naming<java.lang.Object>>
Returns:
true if fetch successful
Throws:
java.lang.Exception

openImp

protected void openImp()
                throws java.lang.Exception
Description copied from class: AbstractIterableInput
Subclass implementation of guts of open() method.

Subclasses must implement this to do the actual work required by open(). Feel free to throw exceptions; these are caught inside the open() itself and applied to the exception variable. Thus, you can focus on the actual task instead of paperwork.

Specified by:
openImp in class AbstractIterableInput<Naming<java.lang.Object>>
Throws:
java.lang.Exception

copy

public DataRecordSource copy()
Description copied from class: DataRecordSource
Makes a copy of this DataRecordSource, that you can iterate over separately.

Specified by:
copy in class DataRecordSource
Returns:
copy of this source