edu.bonn.xulu.io
Class AbstractFactory

java.lang.Object
  extended by edu.bonn.xulu.io.AbstractFactory
All Implemented Interfaces:
Factory
Direct Known Subclasses:
CAAreaListFactory_ShapeFile, DataExportHandlerFactory, DynamicXuluObject.DefaultFactory, DynamicXuluObjectFactory_BasicStructure, GridCoverageFactory_ArcInfoAsciiGrid, GridCoverageFactory_GeoTiff, GridListFactory, GridListFactory_ArcInfoAsciiGrid, GridListFactory_ArcInfoAsciiGrid, GridListFactory_ArcInfoAsciiGrid, GridListFactory_ArcInfoAsciiGrid, GridListFactory_ArcInfoAsciiGrid, GridListFactory_ArcInfoAsciiGrid, MultiGridFactory, SingleFeatureCollectionFactory, SingleFeatureCollectionFactory_ShapeFile, SingleGridFactory, SingleGridFactory_ArcInfoAsciiGrid, SingleGridFactory_ArcInfoAsciiGrid, SingleGridFactory_ArcInfoAsciiGrid, SingleGridFactory_ArcInfoAsciiGrid, SingleGridFactory_ArcInfoAsciiGrid, SingleGridFactory_ArcInfoAsciiGrid, SingleGridFactory_GeoTiff, SingleGridFactory_GeoTiff, SingleGridFactory_GeoTiff, SingleGridFactory_GeoTiff, SingleGridFactory_GeoTiff, VisualisationHandlerFactory, WritableGridArrayFactory_ArcInfoAsciiGrid, WritableGridArrayFactory_GeoTiff, WritableGridFactory, WritableGridRasterFactory_ArcInfoAsciiGrid, WritableGridRasterFactory_GeoTiff

public abstract class AbstractFactory
extends Object
implements Factory

Diese Klasse bildet eine Basisklasse fuer alle Factorys und implementiert die equals-Methode des Factory-Interfaces. Da Factorys nur quasi-statische Methoden besitzen, gelten zwei Factorys als gleich, wenn sie Instanz derselben Klasse sind.

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

Field Summary
protected  String name
          Speichert den Namen, mit der die Factory gegenueber dem Anwender identifiziert wird.
 
Constructor Summary
AbstractFactory()
          Erzeugt eine neue Factory ohne Namen.
AbstractFactory(String name)
          Erzeugt eine neue Factory.
 
Method Summary
static boolean checkExportDestinationObject(ExportFactory fac, Object output, Class need, boolean throwException)
          Prueft, ob ein Ausgabeziel-Objekt fuer eine ExportFactory geeignet ist.
static boolean checkImportSourceObject(ImportFactory fac, Object input, Class need, boolean throwException)
          Prueft, ob ein Eingabequelle-Objekt fuer eine ImportFactory geeignet ist.
 boolean equals(Factory fac)
          Prueft, ob die Factory mit einer anderen uebereinstimmt.
 boolean equals(Object o)
          Prueft, ob die Factory mit einer anderen uebereinstimmt.
static InstantiationFactory getInstantiationFactoryFromRegistry(XuluRegistry reg, Class need, boolean throwException)
          Liefert eine InstantiationFactory aus der Xulu-Registry, die einen bestimmten Datentyp erzeugt.
 String getName()
          Liefert den Namen der Factory.
 void setName(String name)
          Setzt den Namen der Factory.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected String name
Speichert den Namen, mit der die Factory gegenueber dem Anwender identifiziert wird.

Constructor Detail

AbstractFactory

public AbstractFactory(String name)
Erzeugt eine neue Factory.

Parameters:
name - Bezeichnung/Beschreibung der Factory

AbstractFactory

public AbstractFactory()
Erzeugt eine neue Factory ohne Namen.

Method Detail

getName

public String getName()
Liefert den Namen der Factory.


setName

public void setName(String name)
Setzt den Namen der Factory.

Parameters:
name - neuer Name

equals

public boolean equals(Factory fac)
Prueft, ob die Factory mit einer anderen uebereinstimmt. Dies ist der Fall wenn sie Instanzen derselben Klasse sind.

Specified by:
equals in interface Factory
Parameters:
fac - andere Factory

equals

public boolean equals(Object o)
Prueft, ob die Factory mit einer anderen uebereinstimmt. Dies ist der Fall wenn sie Instanzen derselben Klasse sind.

Overrides:
equals in class Object
Returns:
false, wenn das uebergebene Objekt keine Implementierung von Factory ist
See Also:
equals(Factory)

getInstantiationFactoryFromRegistry

public static InstantiationFactory getInstantiationFactoryFromRegistry(XuluRegistry reg,
                                                                       Class need,
                                                                       boolean throwException)
Liefert eine InstantiationFactory aus der Xulu-Registry, die einen bestimmten Datentyp erzeugt.

Parameters:
reg - Xulu-Registry
need - Datentyp zu dem eine Factory gesucht wird
throwException - bestimmt, ob eine Exception geworfen wird, wenn keine Factory gefunden wird
Throws:
UnsupportedOperationException - wenn die Suche in der Registry fehl schlaegt und das throwException-Flag gesetzt ist

checkImportSourceObject

public static boolean checkImportSourceObject(ImportFactory fac,
                                              Object input,
                                              Class need,
                                              boolean throwException)
Prueft, ob ein Eingabequelle-Objekt fuer eine ImportFactory geeignet ist.

Parameters:
fac - Factory, fuer die dieser Check aufgerufen wird
input - Eingabequelle, die geprueft wird
need - Klasse, die fuer die Factory als Eingabequelle benoetigt wird
throwException - bestimmt, ob eine Exception geworfen wird, oder nicht
Throws:
UnsupportedOperationException - wenn der Check fehl schlaegt und das throwException-Flag gesetzt ist

checkExportDestinationObject

public static boolean checkExportDestinationObject(ExportFactory fac,
                                                   Object output,
                                                   Class need,
                                                   boolean throwException)
Prueft, ob ein Ausgabeziel-Objekt fuer eine ExportFactory geeignet ist.

Parameters:
fac - Factory, fuer die dieser Check aufgerufen wird
output - Ausgabequelle, die geprueft wird
need - Klasse, die fuer die Factory als Ausgabeziel benoetigt wird
throwException - bestimmt, ob eine Exception geworfen wird, oder nicht
Throws:
UnsupportedOperationException - wenn der Check fehl schlaegt und das throwException-Flag gesetzt ist