edu.bonn.xulu.model
Interface XuluModel

All Known Subinterfaces:
ModelTunnel, ParallelStepModel, StepModel
All Known Implementing Classes:
AbstractParallelStepModel, AbstractStepModel, AbstractXuluModel, AverageNeighborhoodParallelDemoModel, AverageNeighborhoodSerialDemoModel, AVNTuned, CellularAutomaton, ClueModel, ClueModel_deterministic, ClueModel_Optimized, ClueModel_Original, ClueModelParallel, ClueParallelTuned, CopyUrbanInActualLU, DynamicStepModel, DynamicXuluModel, GameOfLife, ImpetusCellularAutomaton, ImpetusFireCA, MultiCellularAutomaton, MultipleResolutionValidation, MultipleResolutionValidation, SingleCellularAutomaton, SmallReservoirModel, TestModel, UrbanGrowthModel, UrbanGrowthModel_MC, UrbanGrowthModelCalibration, UrbanGrowthModelCalibrationSelfModification, UrbanGrowthModelSelfModification, UrbanGrowthModelSelfModifying

public interface XuluModel

Dieses Interface definiert, wie eine Modell-Klasse aufgebaut sein muss, damit das Modell in die Xulu-Modelling-Platform integiert werden kann.

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

Method Summary
 boolean addModelListener(ModelListener listener)
          Fuegt dem Model einen Listener hinzu.
 void disposeModel()
          Diese Methode loescht alle internen Modell-Ressourcen aus dem Speicher und gibt die externen wieder frei.
 ModelContentManager getContentManager()
          Liefert den ContentManager des Modells.
 Class<ModelEvent>[] getEvents()
          Liefert alle Ereignis-Typen, die waehrend des Modellablaufs initiiert werden.
 Component getModelSpecificGUI()
          Liefert (optional) eine modellspezifische GUI-Komponente.
 ResourceProvider getResourceProvider()
          Liefert den ResourceProvider, der die Uebersetzungen fuer Modell-Ausgaben und modellspezifische GUI verwaltet.
 PrintStream getStatusOut()
          Liefert den Stream fuer die Status-Ausgaben des Modells.
 void initModel()
          Diese Methode setzt alle internen Modell-Ressourcen auf einen Ausgangszustand zurueck, so dass das Modell komplett neu gestartet werden kann.
 boolean isDisposed()
          Prueft, ob das Modell (dessen interen Ressourcen) "zerstoert" sind.
 boolean isInitialised()
          Prueft, ob das Modell initialisiert ist - sich also im Ausgangszustand befindet - und bereit ist gestartet zu werden.
 boolean isRunning()
          Prueft, ob die Modellierung gerade am Laufen ist.
 boolean isStopped()
          Prueft, ob die Modellierung beendet ist.
 void performError()
          Diese Methode wird aufgrufen, wenn ein unerwarteter Fehler bei der Modellierung auftritt, welcher das Beenden der Modellierung zu Folge hat.
 boolean removeModelListener(ModelListener listener)
          Entfernt einen Listener von dem Modell.
 void setStatusOut(PrintStream out)
          Setzt den Stream fuer die Status-Ausgaben des Modells.
 boolean startModelling()
          Diese Methode startet den Modell-Ablauf.
 void stopModelling()
          Diese Methode unterbricht den Modellablauf komplett.
 

Method Detail

getContentManager

ModelContentManager getContentManager()
Liefert den ContentManager des Modells.


initModel

void initModel()
Diese Methode setzt alle internen Modell-Ressourcen auf einen Ausgangszustand zurueck, so dass das Modell komplett neu gestartet werden kann.
Bemerke: Auf die Ruecksetzung der externen Ressourcen, die von der Modellierungsplatform bereitgestellt werden hat das Modell i.d.R. keinen Einfluss. Hierfuer ist der Anwender verantwortlich.


isInitialised

boolean isInitialised()
Prueft, ob das Modell initialisiert ist - sich also im Ausgangszustand befindet - und bereit ist gestartet zu werden.
Nach dem Modell-Start sollte diese Methode false liefern, da sich die internen Ressourcen dann nicht mehr im Ausgangszustand befinden!


disposeModel

void disposeModel()
Diese Methode loescht alle internen Modell-Ressourcen aus dem Speicher und gibt die externen wieder frei.


isDisposed

boolean isDisposed()
Prueft, ob das Modell (dessen interen Ressourcen) "zerstoert" sind.


startModelling

boolean startModelling()
Diese Methode startet den Modell-Ablauf.

Returns:
false wenn das Modell auf irgendeine Art (kontrolliert oder Fehler) abgebrochen wurde; true nur wenn das Modell komplett durchgelaufen ist

isRunning

boolean isRunning()
Prueft, ob die Modellierung gerade am Laufen ist.


stopModelling

void stopModelling()
Diese Methode unterbricht den Modellablauf komplett. Ein Fortsetzen ist nicht moeglich. Alle Modell-Ressourcen sollten beim Aufrufen dieser Methode wieder freigegeben werden.


isStopped

boolean isStopped()
Prueft, ob die Modellierung beendet ist.


performError

void performError()
Diese Methode wird aufgrufen, wenn ein unerwarteter Fehler bei der Modellierung auftritt, welcher das Beenden der Modellierung zu Folge hat. In dieser Methode muss das Modell dafuer sorgen, dass alle Ressourcen - die internen und insbesondere auch die externen - wieder freigegenen und ggf. aus dem Speicher entfernt werden.


addModelListener

boolean addModelListener(ModelListener listener)
Fuegt dem Model einen Listener hinzu.

Parameters:
listener - neuer ModelListener

removeModelListener

boolean removeModelListener(ModelListener listener)
Entfernt einen Listener von dem Modell.

Parameters:
listener - zu entfernender ModelListener

getStatusOut

PrintStream getStatusOut()
Liefert den Stream fuer die Status-Ausgaben des Modells.


setStatusOut

void setStatusOut(PrintStream out)
Setzt den Stream fuer die Status-Ausgaben des Modells.


getModelSpecificGUI

Component getModelSpecificGUI()
Liefert (optional) eine modellspezifische GUI-Komponente.

Returns:
null wenn das Modell keine zusaetzliche GUI zur Verfuegung stellt

getEvents

Class<ModelEvent>[] getEvents()
Liefert alle Ereignis-Typen, die waehrend des Modellablaufs initiiert werden.

Returns:
leerer Array, falls keine Ereignisse initiiert werden

getResourceProvider

ResourceProvider getResourceProvider()
Liefert den ResourceProvider, der die Uebersetzungen fuer Modell-Ausgaben und modellspezifische GUI verwaltet.

Returns:
null, wenn das Modell nicht multi-lingual ist