edu.bonn.xulu.plugin.io.grid.awt
Class GridListFactory_ArcInfoAsciiGrid

java.lang.Object
  extended by edu.bonn.xulu.io.AbstractFactory
      extended by edu.bonn.xulu.plugin.io.grid.awt.GridListFactory_ArcInfoAsciiGrid
All Implemented Interfaces:
ExportFactory, Factory, ImportFactory
Direct Known Subclasses:
MultiGridFactory_ArcInfoAsciiGrid

public class GridListFactory_ArcInfoAsciiGrid
extends AbstractFactory
implements ImportFactory, ExportFactory

Diese Factory importiert und exportiert Instanzen des Datentyps GridList aus/in Dateien im ArcInfo-ASCII-Grid-Format. Beim Import liefert die Factory eine Liste von auf Java-AWT basierenden Rastern (WritableGridRaster). Entsprechend koennen beim Export nur GridLists verarbeitet werden, die WritableGridRaster-Instanzen als Listen-Elemente besitzen.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)

Field Summary
 
Fields inherited from class edu.bonn.xulu.io.AbstractFactory
name
 
Constructor Summary
GridListFactory_ArcInfoAsciiGrid()
           
 
Method Summary
 void exportObject(Object object, Object output)
          Exportiert eine Instanz von GridList in Dateien des ArcInfoAsciiGrid-Formats.
 Class getExportDestinationType()
          Liefert den Objekt-Typ, den die Factory als Ziel zum Exportieren benoetigt.
 Class getImportSourceType()
          Liefert den Datentyp, den die Factory als Import-Quelle benoetigt.
 Class getImportType()
          Liefert den Datentyp, den die Factory erzeugt.
 GridList importObject(Object input, XuluRegistry reg)
          Importiert Raster aus Dateien im ArcInfoAsciiGrid-Format und fuegt diese in einer GridList zusammen.
 boolean isExportable(Class c)
          Prueft, ob ein Objekttyp exportiert werden kann.
 boolean isExportable(Object obj)
          Prueft, ob ein Objekt exportiert werden kann.
 
Methods inherited from class edu.bonn.xulu.io.AbstractFactory
checkExportDestinationObject, checkImportSourceObject, equals, equals, getInstantiationFactoryFromRegistry, getName, setName
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.bonn.xulu.io.Factory
equals
 

Constructor Detail

GridListFactory_ArcInfoAsciiGrid

public GridListFactory_ArcInfoAsciiGrid()
Method Detail

getImportType

public Class getImportType()
Liefert den Datentyp, den die Factory erzeugt.

Specified by:
getImportType in interface ImportFactory
Returns:
immer GridList.class

getImportSourceType

public Class getImportSourceType()
Liefert den Datentyp, den die Factory als Import-Quelle benoetigt.

Specified by:
getImportSourceType in interface ImportFactory
Returns:
immer File[].class

importObject

public GridList importObject(Object input,
                             XuluRegistry reg)
                      throws Exception
Importiert Raster aus Dateien im ArcInfoAsciiGrid-Format und fuegt diese in einer GridList zusammen.

Specified by:
importObject in interface ImportFactory
Parameters:
input - Eingabe-Quelle (muss ein File[] sein!)
reg - Instanz der Xulu-Registry, ueber die eine Factory ermittelt wird, die eine Standard-Instanz von GridList erzeugt, in die das Objekt importiert wird
Throws:
UnsupportedOperationException - falls als Eingabe-Quelle keine Dateien angegeben werden
Exception - wenn beim Importieren ein Fehler auftritt
See Also:
GeoImportUtil#readGridRasterFromArcInfoASCII(File,CoordinateReferenceSystem)

isExportable

public boolean isExportable(Object obj)
Prueft, ob ein Objekt exportiert werden kann. Dies ist der Fall, wenn es sich um eine GridList handelt, die nur Instanzen von WritableGridRaster als Elemente enthaelt.

Specified by:
isExportable in interface ExportFactory
Parameters:
obj - zu pruefendes Objekt

isExportable

public boolean isExportable(Class c)
Prueft, ob ein Objekttyp exportiert werden kann. Dies ist der Fall, wenn es sich um GridList (oder eine Unterklasse) handelt.

Specified by:
isExportable in interface ExportFactory
Parameters:
c - zu pruefender Objekttyp

getExportDestinationType

public Class getExportDestinationType()
Liefert den Objekt-Typ, den die Factory als Ziel zum Exportieren benoetigt. Dabei handelt es sich um eine einzelne Datei, da die die letztendlichen Export-Dateien automatisch durchnummeriert werden!!

Specified by:
getExportDestinationType in interface ExportFactory
Returns:
immer File.class

exportObject

public void exportObject(Object object,
                         Object output)
                  throws Exception
Exportiert eine Instanz von GridList in Dateien des ArcInfoAsciiGrid-Formats.
Beachte:
Als Ausgabe-Objekt ist eine einzelne Datei anzugeben, kein Array! Die Dateien werden ausgehend von dem angegebenen Dateinamen durchnummeriert!!

Specified by:
exportObject in interface ExportFactory
Parameters:
object - zu exportiertende Raster (muss eine GridList sein
output - Export-Ziel (muss ein einzelner File sein!)
Throws:
UnsupportedOperationException - falls als Export-Ziel keine einzelne Datei angegeben wird
IllegalArgumentException - falls es sich bei dem angegeben Objekt nicht um eine GridList handelt
Exception - wenn ein Fehler beim Export auftritt
See Also:
GeoExportUtil#writeGridRasterToArcInfoASCII(WritableGridRaster,File)