edu.bonn.xulu.plugin.appl
Class XuluRegistryReader_BasicAscii
java.lang.Object
edu.bonn.xulu.plugin.appl.XuluRegistryReader_BasicAscii
- All Implemented Interfaces:
- XuluRegistryReader
public class XuluRegistryReader_BasicAscii
- extends Object
- implements XuluRegistryReader
Diese Klasse dient dazu, die Xulu-Registry aus einem ASCII-InputStream
(z.B. einer ASCII-Datei) einzulesen.
Dieser muss folgendes (zeilenweises) Format haben:
[Global]
Alle Klassen in diesem Bereich werden in der Xulu-Registry fuer alles
registriert, wofuer sie geeignet sind (siehe
XuluRegistry.register(Object)
).
package.class [name]
package.class [name]
...
[DataType]
Alle Klassen in diesem Bereich werden in der Xulu-Registry als
Datentyp registriert. Sie muessen (Sub)Klassen von XuluObject
darstellen.
package.class
package.class
...
[DefaultFactory]
Alle Klassen in diesem Bereich werden in der Xulu-Registry nur als
Default-Factory registriert. Sie muessen (Sub)Klassen von
InstantiationFactory
darstellen und
ueber einen Standard-Konstruktor instanziierbar sein.
package.class [name]
package.class [name]
...
[ImportFactory]
Alle Klassen in diesem Bereich werden in der Xulu-Registry nur als
Import-Factory registriert. Sie muessen (Sub)Klassen von
ImportFactory
darstellen und
ueber einen Standard-Konstruktor instanziierbar sein.
package.class [name]
package.class [name]
...
[ExportFactory]
Alle Klassen in diesem Bereich werden in der Xulu-Registry nur als
Export-Factory registriert. Sie muessen (Sub)Klassen von
ExportFactory
darstellen und
ueber einen Standard-Konstruktor instanziierbar sein.
package.class [name]
package.class [name]
...
[TypeMapping]
Alle Tupel in diesem Bereich werden in der Xulu-Registry nur als
TypeMapping registriert. Die Typ-Klasse muss eine (Sub)Klasse von
XuluObject
sein und die Default-Factory von InstantiationFactory
.
Beides sind Pflichtangaben fuer ein TypeMapping. Alle weiteren Angaben sind optional
und repraesentieren Im- und Export-Factorys. Sie muessen (Sub)Klassen von
ImportFactory
bzw. ExportFactory
darstellen und
ueber einen Standard-Konstruktor instanziierbar sein.
package.typeClass package.defaultFacClass [package.factoryClass ...]
package.typeClass package.defaultFacClass [package.factoryClass ...]
...
[Visualisation]
Alle Klassen in diesem Bereich werden in der Xulu-Registry als
Visualisierungstool registriert. Sie muessen (Sub)Klassen von
VisualisationTool
darstellen und
ueber einen Standard-Konstruktor instanziierbar sein.
package.class
package.class
...
[Model]
Alle Klassen in diesem Bereich werden in der Xulu-Registry als
Modell-Klasse registriert. Sie muessen (Sub)Klassen von XuluModel
darstellen und
ueber einen Standard-Konstruktor instanziierbar sein.
package.class
package.class
...
[Script]
Alle Klassen in diesem Bereich werden in der Xulu-Registry als
Skript-Interpreter registriert. Sie muessen (Sub)Klassen von ScriptInterpreter
darstellen und ueber einen Standard-Konstruktor instanziierbar sein.
package.class [name]
package.class [name]
...
[Plugin]
Alle Klassen in diesem Bereich werden in der Xulu-Registry als
Xulu-Plugin registriert. Sie muessen (Sub)Klassen von XuluPlugin
darstellen und ueber einen Standard-Konstruktor instanziierbar sein.
package.class [AUTOSTART] [name]
package.class [AUTOSTART] [name]
...
Leerzeilen und Zeilen, die mit //
, |
oder #
beginnen, werden als Kommentare komplett ignoriert.
- Version:
- 1.0
- Author:
- Martin Schmitz (University of Bonn/Germany)
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TAG_GLOBAL
public static final String TAG_GLOBAL
- See Also:
- Constant Field Values
TAG_DATATYPE
public static final String TAG_DATATYPE
- See Also:
- Constant Field Values
TAG_DEFAULTFAC
public static final String TAG_DEFAULTFAC
- See Also:
- Constant Field Values
TAG_IMPORTFAC
public static final String TAG_IMPORTFAC
- See Also:
- Constant Field Values
TAG_EXPORTFAC
public static final String TAG_EXPORTFAC
- See Also:
- Constant Field Values
TAG_TYPEMAPPING
public static final String TAG_TYPEMAPPING
- See Also:
- Constant Field Values
TAG_VISUALISATION
public static final String TAG_VISUALISATION
- See Also:
- Constant Field Values
TAG_MODEL
public static final String TAG_MODEL
- See Also:
- Constant Field Values
TAG_SCRIPTINTERPRETER
public static final String TAG_SCRIPTINTERPRETER
- See Also:
- Constant Field Values
TAG_PLUGIN
public static final String TAG_PLUGIN
- See Also:
- Constant Field Values
XuluRegistryReader_BasicAscii
public XuluRegistryReader_BasicAscii()
- Erzeugt einen neuen Reader fuer die Xulu-Registry.
readRegistry
public XuluRegistry readRegistry(XuluModellingPlatform appl,
InputStream input,
XuluRegistry registry)
throws IOException
- Erweitert eine bestehende XuluRegistry. Bestehende Eintraege werden
ueberschrieben. Ist die uebergebene Registy
null
wird
eine neue (leere) Instanz erstellt.
Kann ein Eintrag aus dem Stream nicht richtig interpretiert oder
instanziiert werden, wird die Zeile ignoriert und eine Fehlermeldung
in die Standard-Fehlerausgabe geschrieben.
- Specified by:
readRegistry
in interface XuluRegistryReader
- Parameters:
appl
- Instanz der Xulu-Applikation fuer die die Registry eingelesen
werden sollinput
- Eingabe-Stream aus dem die Registry-Daten gelesen werdenregistry
- XuluRegistry die erweitert werden soll (kan null
sein
- Returns:
- Instanz der XuluRegistry, die erstellt oder erweitert wurde
- Throws:
IOException
- falls ein unerwarteter Fehler beim Einlesen auftritt.
readRegistry
public XuluRegistry readRegistry(XuluModellingPlatform appl,
InputStream input)
throws IOException
- Erstellt eine neue XuluRegistry und befuellt diese.
- Specified by:
readRegistry
in interface XuluRegistryReader
- Parameters:
appl
- Instanz der Xulu-Applikation fuer die die Registry eingelesen
werden sollinput
- Eingabe-Stream aus dem die Registry-Daten gelesen werden
- Returns:
- Instanz der XuluRegistry, die erstellt wurde
- Throws:
IOException
- falls ein Fehler beim Einlesen auftritt