edu.bonn.xulu.plugin.io.misc
Class CAAreaListFactory_ShapeFile

java.lang.Object
  extended by edu.bonn.xulu.io.AbstractFactory
      extended by edu.bonn.xulu.plugin.io.misc.CAAreaListFactory_ShapeFile
All Implemented Interfaces:
Factory, ImportFactory
Direct Known Subclasses:
CASettlementAreaListFactory_ShapeFile

public class CAAreaListFactory_ShapeFile
extends AbstractFactory
implements ImportFactory

Diese Factory importiert Instanzen des Datentyps CAArea aus einem Shape-File. Dessen Features muessen folgende Attribute besitzen:

Attribut Datentyp Beschreibung
Default-Geometry Punkt Lat/Lon-Koordinate der Area
Name String Name der Area
Aus den importierten CAArea-Objekten wird anschliessend ein XuluObject erstellt, das aus einer ListProperty besteht, in der die Areas gespeichert werden.

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

Field Summary
protected  Class<? extends CAArea> caAreaType
          (Unter-)Typ von CAArea fuer den die ListProperty des XuluObject erzeugt wird.
 
Fields inherited from class edu.bonn.xulu.io.AbstractFactory
name
 
Constructor Summary
CAAreaListFactory_ShapeFile()
           
 
Method Summary
 Class getImportSourceType()
          Liefert den Datentyp, den die Factory als Import-Quelle benoetigt.
 Class getImportType()
          Liefert den Datentyp, den die Factory erzeugt.
 XuluObject importObject(Object input, XuluRegistry reg)
          Importiert eine Instanz von XuluObject aus einer Datei im oben beschriebenen ShapeFile-Format (.shp).
protected  CAArea interpreteFeature(int featNo, Feature f)
          Erzeugt eine Instanz vom CAArea und befuellt diese mit Daten aus dem Feature.
protected  CAArea interpreteFeature(int featNo, Feature f, CAArea area)
          Befuellt eine Instanz vom CAArea mit Daten aus dem Feature.
 
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
 

Field Detail

caAreaType

protected Class<? extends CAArea> caAreaType
(Unter-)Typ von CAArea fuer den die ListProperty des XuluObject erzeugt wird. Unterklassen muessen diese Variable neu belegen, um Spezialisierungen von CAArea zu verwenden.

Constructor Detail

CAAreaListFactory_ShapeFile

public CAAreaListFactory_ShapeFile()
Method Detail

getImportType

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

Specified by:
getImportType in interface ImportFactory
Returns:
immer XuluObject.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 XuluObject importObject(Object input,
                               XuluRegistry reg)
                        throws Exception
Importiert eine Instanz von XuluObject aus einer Datei im oben beschriebenen ShapeFile-Format (.shp).

Specified by:
importObject in interface ImportFactory
Parameters:
input - Eingabe-Quelle (muss ein File sein!)
reg - Instanz der Xulu-Registry (wird nicht verwendet!)
Throws:
UnsupportedOperationException - falls als Eingabe-Quelle keine Datei angegeben wird
Exception - wenn beim Importieren ein Fehler auftritt
See Also:
GeoImportUtil#readFeaturesFromShapeFile(File)

interpreteFeature

protected CAArea interpreteFeature(int featNo,
                                   Feature f)
Erzeugt eine Instanz vom CAArea und befuellt diese mit Daten aus dem Feature.

Parameters:
featNo - Nummer des Features (beginnend bei 0)
f - zu interpretierendes Feature

interpreteFeature

protected CAArea interpreteFeature(int featNo,
                                   Feature f,
                                   CAArea area)
Befuellt eine Instanz vom CAArea mit Daten aus dem Feature.

Parameters:
featNo - Nummer des Features (beginnend bei 0)
f - zu interpretierendes Feature
area - Area in die die Informationen hineingeschrieben werden (wenn null, wird eine neue CAArea-Instanz erzeugt)