edu.bonn.xulu.io
Interface ImportFactory

All Superinterfaces:
Factory
All Known Implementing Classes:
CAAreaListFactory_ShapeFile, CASettlementAreaListFactory_ShapeFile, DynamicXuluObjectFactory_BasicStructure, GridCoverageFactory_ArcInfoAsciiGrid, GridCoverageFactory_GeoTiff, GridListFactory_ArcInfoAsciiGrid, GridListFactory_ArcInfoAsciiGrid, GridListFactory_ArcInfoAsciiGrid, GridListFactory_ArcInfoAsciiGrid, GridListFactory_ArcInfoAsciiGrid, GridListFactory_ArcInfoAsciiGrid, MultiGridFactory_ArcInfoAsciiGrid, MultiGridFactory_ArcInfoAsciiGrid, MultiGridFactory_ArcInfoAsciiGrid, MultiGridFactory_ArcInfoAsciiGrid, MultiGridFactory_ArcInfoAsciiGrid, MultiGridFactory_ArcInfoAsciiGrid, SingleFeatureCollectionFactory_ShapeFile, SingleGridFactory_ArcInfoAsciiGrid, SingleGridFactory_ArcInfoAsciiGrid, SingleGridFactory_ArcInfoAsciiGrid, SingleGridFactory_ArcInfoAsciiGrid, SingleGridFactory_ArcInfoAsciiGrid, SingleGridFactory_ArcInfoAsciiGrid, SingleGridFactory_GeoTiff, SingleGridFactory_GeoTiff, SingleGridFactory_GeoTiff, SingleGridFactory_GeoTiff, SingleGridFactory_GeoTiff, WritableGridArrayFactory_ArcInfoAsciiGrid, WritableGridArrayFactory_GeoTiff, WritableGridRasterFactory_ArcInfoAsciiGrid, WritableGridRasterFactory_GeoTiff

public interface ImportFactory
extends Factory

Dieses Interface bildet den Obertyp fuer alle Import-Factorys. Diese haben die Aufgabe, ein Objekt aus einer Import-Quelle (z.B. einer Datei) zu erzeugen. Das Format, das dieser Stream haben muss, haengt von der jeweiligen Factory-Implementierung ab. Bemerke:
Die (entscheidende) Methode importObject(Object,XuluRegistry) erhaelt als Parameter fuer die Eingabe-Quelle ein Object (und nicht z.B. einen File oder OutputStream), um die Moeglichkeiten fuer die Implementierungen flexibler zu gestalten. Was fuer ein Eingabe-Objekt uebergeben wird, haengt von der aufrufenden Anwendung ab. Die Methode AbstractFactory.checkImportSourceObject(ImportFactory,Object,Class,boolean) bietet eine Hilfsmethode, um zu pruefen, ob die richtige Eingabe-Klasse uebergeben wurde.

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

Method Summary
 Class getImportSourceType()
          Liefert den Objekt-Typ, den die Factory als Quelle zum Importieren benoetigt (z.B.
 Class getImportType()
          Liefert den Objekt-Typ, der von der Factory erzeugt wird.
 Object importObject(Object in, XuluRegistry reg)
          Importiert ein Objekt aus einen Eingabe-Stream.
 
Methods inherited from interface edu.bonn.xulu.io.Factory
equals
 

Method Detail

getImportType

Class getImportType()
Liefert den Objekt-Typ, der von der Factory erzeugt wird.


getImportSourceType

Class getImportSourceType()
Liefert den Objekt-Typ, den die Factory als Quelle zum Importieren benoetigt (z.B. File oder InputStream).
Bemerke:
An dieser Stelle koennen auch Arrays angegeben werden, wenn die Factory ein Objekt z.B. aus mehreren Dateien erzeugt!


importObject

Object importObject(Object in,
                    XuluRegistry reg)
                    throws Exception
Importiert ein Objekt aus einen Eingabe-Stream.

Parameters:
in - Import-Quelle (z.B. Stream oder Datei), aus dem das Objekt gelesen wird
reg - bietet Zugriff auf andere registrierte Factories (um z.B. eine Standard-Instanz zu erzeugen, in die das Objekt importiert wird)
Throws:
Exception - wenn beim Importieren ein Fehler auftritt