edu.bonn.xulu.model
Class AbstractModelContentManager

java.lang.Object
  extended by edu.bonn.xulu.model.AbstractModelContentManager
All Implemented Interfaces:
ModelContentManager
Direct Known Subclasses:
AverageNeighborhoodContentManager, ClueModelContentManager, ClueModelContentManager, CopyUrbanInActualLUContentManager, GameOfLifeContentManager, ImpetusFireCAContentManager, MultiCellularAutomaton.CAContentManager, MultipleResolutionValidationContentManager, MultipleResolutionValidationContentManager, SmallReservoirModelContentManager, TestModel.ContentManager, UrbanGrowthContentManager, UrbanGrowthModelContentManager, UrbanGrowthModelSelfModifyingContentManager

public abstract class AbstractModelContentManager
extends Object
implements ModelContentManager

Diese Klasse stellt eine abstrakte Basis-Implementierung fuer den ModelContentManager dar. Das einizge, das fuer ein Modell noch implementieren bleibt, ist die modellspezifische Befuellung des resource-Array (im Konstruktor).
Am besten wird wird die modellspezifische Implementierung als innere Klasse in die Modell-Klasse integriert.

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

Field Summary
protected  Logger LOGGER
          Logger fuer Debug- oder Warn-Meldungen.
protected  ModelResource[] resource
          Speichert die Ressourcen, die ein Modell benoetigt.
 
Constructor Summary
AbstractModelContentManager()
          Erzeugt einen neuen ContentManager.
AbstractModelContentManager(int count)
          Erzeugt einen neuen ContentManager.
 
Method Summary
 boolean check()
          Ueberprueft alle Ressourcen auf Korrektheit.
 void checkAndError()
          Ueberprueft alle Ressourcen auf Korrektheit.
 ModelResource getResource(int idx)
          Liefert eine Ressource, die ein Modell benoetigt.
 int getResourceCount()
          Liefert die Anzahl der Ressourcen, die das Modell benoetigt.
 Object getResourceData(int idx)
          Liefert das Datenobjekt einer Ressourcen.
 void resetCaptions(Map<String,Object> captionMap)
          Belegt die sprachspezifischen Elemente des Modells (Ressourcen-Beschreibungen) neu mit Elementen aus der Map.
 void resetResourceDescription(int resourceNo, Map<String,Object> captionMap, ResourceProvider rp, String captionKey, Object... captionParams)
          Belegt die Beschreibung einer Ressource neu.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGGER

protected Logger LOGGER
Logger fuer Debug- oder Warn-Meldungen.


resource

protected ModelResource[] resource
Speichert die Ressourcen, die ein Modell benoetigt.

Constructor Detail

AbstractModelContentManager

public AbstractModelContentManager(int count)
Erzeugt einen neuen ContentManager. Der resource-Array wird auf die benoetigte Ressourcen-Anzahl initialisiert.

Parameters:
count - Anzahl an Ressourcen, die das Model benoetigt.

AbstractModelContentManager

public AbstractModelContentManager()
Erzeugt einen neuen ContentManager. Der resource-Array wird auf eine groesse von 0 initialisiert.

Method Detail

getResource

public ModelResource getResource(int idx)
Liefert eine Ressource, die ein Modell benoetigt.

Specified by:
getResource in interface ModelContentManager
Parameters:
idx - Nummer der Ressource

getResourceData

public Object getResourceData(int idx)
Liefert das Datenobjekt einer Ressourcen.

Parameters:
idx - Nummer der Ressource

getResourceCount

public int getResourceCount()
Liefert die Anzahl der Ressourcen, die das Modell benoetigt.

Specified by:
getResourceCount in interface ModelContentManager

check

public boolean check()
Ueberprueft alle Ressourcen auf Korrektheit.

Specified by:
check in interface ModelContentManager
Returns:
false falls eine Ressource nicht korret gefuellt ist
See Also:
ModelResource.check()

checkAndError

public void checkAndError()
                   throws XuluDataException
Ueberprueft alle Ressourcen auf Korrektheit. Unterklassen muessen diese Methode ueberschreiben, falls eine Uberpruefung der Konsistenz zwischen den einzelnen Ressourcen notwendig ist.

Specified by:
checkAndError in interface ModelContentManager
Throws:
XuluDataException - falls eine Ressource nicht korret gefuellt ist
See Also:
ModelResource.checkAndError()

resetCaptions

public void resetCaptions(Map<String,Object> captionMap)
Belegt die sprachspezifischen Elemente des Modells (Ressourcen-Beschreibungen) neu mit Elementen aus der Map. Diese Standard-Implementierung macht nichts.

Parameters:
captionMap - Label-Beschreibungen

resetResourceDescription

public void resetResourceDescription(int resourceNo,
                                     Map<String,Object> captionMap,
                                     ResourceProvider rp,
                                     String captionKey,
                                     Object... captionParams)
Belegt die Beschreibung einer Ressource neu. Zunaechst wird die captionMap herangezogen. Wenn dort zu dem captionKey kein Wert hinterlegt ist, wird auf dan angegebenen ResourceProvider zurueckgegriffen.

Parameters:
resourceNo - Index einer Modell-Ressource
captionMap - Map mit neuen Bezeichnungen
rp - ResourceProvider
captionKey - Key unter dem in der Map und im ResourceProvider gesucht wird
captionParams - Parameter, die durch den ResourceProvider in die Caption "eingebaut" werden
See Also:
ResourceProvider#getString(String, Object...)