ucar.visad
Class ShapefileForm

java.lang.Object
  extended by visad.data.FormNode
      extended by visad.data.Form
          extended by ucar.visad.ShapefileForm
All Implemented Interfaces:
FormFileInformer

public class ShapefileForm
extends Form
implements FormFileInformer

ShapefileForm is the shapefile data format adapter for ESRI shapefile maps.

Version:
$Revision: 1.8 $ $Date: 2007/03/22 10:53:50 $
Author:
Don Murray

Field Summary
 
Fields inherited from class visad.data.Form
mathType
 
Constructor Summary
ShapefileForm()
          Construct a Form for reading in ESRI shapefile map files
 
Method Summary
 void add(String id, Data data, boolean replace)
          Add data to an existing data object
 String[] getDefaultSuffixes()
          Get a list of default suffixes for shapfile map files
 FormNode getForms(Data data)
          Return the data forms that are compatible with a data object
 boolean isThisType(byte[] block)
          Determines if this is a shapfile map file from the starting block
 boolean isThisType(String name)
          Determines if this is a shapefile map file from the name
 DataImpl open(String id)
          Open the file specified by the string
 DataImpl open(URL url)
          Open the file specified by the URL
 void save(String id, Data data, boolean replace)
          Save a VisAD data object in this form
 
Methods inherited from class visad.data.Form
getMathType
 
Methods inherited from class visad.data.FormNode
getName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ShapefileForm

public ShapefileForm()
Construct a Form for reading in ESRI shapefile map files

Method Detail

isThisType

public boolean isThisType(String name)
Determines if this is a shapefile map file from the name

Specified by:
isThisType in interface FormFileInformer
Parameters:
name - name of the file
Returns:
true if it matches the pattern for shapefile map files

isThisType

public boolean isThisType(byte[] block)
Determines if this is a shapfile map file from the starting block

Specified by:
isThisType in interface FormFileInformer
Parameters:
block - block of data to check
Returns:
false - there is no identifying block in a Shapefile map file

getDefaultSuffixes

public String[] getDefaultSuffixes()
Get a list of default suffixes for shapfile map files

Specified by:
getDefaultSuffixes in interface FormFileInformer
Returns:
valid list of suffixes

save

public void save(String id,
                 Data data,
                 boolean replace)
          throws BadFormException,
                 IOException,
                 RemoteException,
                 VisADException
Save a VisAD data object in this form

Specified by:
save in class FormNode
Parameters:
id - location of data
data - data to add
replace - true to replace old with new
Throws:
BadFormException - bad form
IOException - file doesn't exist
RemoteException - Java RMI problem
VisADException - Problem creating data
UnimplementedException - - can't be done yet.

add

public void add(String id,
                Data data,
                boolean replace)
         throws BadFormException
Add data to an existing data object

Specified by:
add in class FormNode
Parameters:
id - location of data
data - data to add
replace - true to replace old with new
Throws:
BadFormException - always for this form

open

public DataImpl open(String id)
              throws BadFormException,
                     IOException,
                     VisADException
Open the file specified by the string

Specified by:
open in class FormNode
Parameters:
id - string representing the path to the file
Returns:
a Data object representing the map lines.
Throws:
BadFormException - bad form
IOException - file doesn't exist
VisADException - Problem creating data

open

public DataImpl open(URL url)
              throws BadFormException,
                     VisADException,
                     IOException
Open the file specified by the URL

Specified by:
open in class FormNode
Parameters:
url - URL of the remote map
Returns:
a Data object representing the map lines.
Throws:
BadFormException - bad form
IOException - file doesn't exist
VisADException - Problem creating data

getForms

public FormNode getForms(Data data)
Return the data forms that are compatible with a data object

Specified by:
getForms in class FormNode
Parameters:
data - data in question
Returns:
null