package $FIELD(Package);
$LOOP(ClassImport)
import $FIELD(ClassImport);
$ENDLOOP()
/**
* Diese Klasse stellt eine Implementierung des Modells {@linkplain $FIELD(ModelName)}
* dar. Dieses benoetigt $FIELD(ResourceCount) Ressourcen, welche durch den
* {@linkplain $FIELD(ModelCMName)} spezifiziert werden:
*
$LOOP(Resources)
* - $FIELD(ResourceDesc) ({@code $FIELD(ResourceVar)}):
* @todo Detaillierte Ressoucen-Beschreibung einfuegen
*
$ENDLOOP() *
* @see $FIELD(ModelCMName)
* @author automatisch generiert durch {@link edu.bonn.xulu.plugin.appl.GeoModelCodeGenerator}
* @version 1.0
*/
public class $FIELD(ModelName) extends $FIELD(ModelSuperClass) {
/** Speichert den ContentManager fuer das Modell.
* @see $FIELD(ModelCMName) */
protected $FIELD(ModelCMName) contManager;
//********** Lese/Schreibrechte, die fuer den gesamten ***********
//********** Modellanlauf gehalten werden muessen ***********
$LOOP(PropertyResources)
private $FIELD(ResourceAccessType) $FIELD(ResourceAccessVar) = null; // $FIELD(PropertyResourceDesc)
$ENDLOOP()
//**************** Variablen mit denen gearbeitet wird *******************
$LOOP(Resources)
private $FIELD(ResourceVarType) $FIELD(ResourceVar) = null; // $FIELD(ResourceDesc)
$ENDLOOP()
/**
* Erzeugt eine neue Instanz des Modells.
*/
public $FIELD(ModelName)() {
super( new $FIELD(ModelCMName)() );
contManager = ($FIELD(ModelCMName))super.contManager;
}
////////////////////////////////////////////////////////////////////////
/////////////// Implementierung von AbstractXuluModel //////////////
////////////////////////////////////////////////////////////////////////
/**
* Initialisiert das Model, indem die Ressourcen aus dem ContentManager
* geladen werden und mit Lese/Schreib-Rechten versehen werden. Zudem
* werden Referenzen auf die Ressourcen in lokalen Variablen
* gespeichert, um waehrend des Modellablaufs effizienter darauf zugreifen
* zu koennen.
*/
public void performModelInit() {
if ( contManager == null )
return;
// Zugriffsrechte aus Ressourcen/Propertys holen
$LOOP(PropertyResources)
$FIELD(ResourceAccessVar) = null;
if ( contManager.getResource($FIELD(PropertyResourceNo)).getData() != null )
$FIELD(ResourceAccessVar) = (($FIELD(PropertyResourceType))contManager.getResource($FIELD(PropertyResourceNo)).getData())$FIELD(ResourceAccessAlloc);
$ENDLOOP()
// Variablen belegen mit denen gearbeitet wird
$LOOP(Resources)
$FIELD(ResourceVar) = $FIELD(ResourceVarAlloc);
$ENDLOOP() }
/**
* Gibt die Lese/Schreibrechte auf das Ein- und Ausgaberaster wieder frei.
* Interne Ressourcen brauchen keine aus dem Speicher entfernt werden.
*/
public void performModelDispose() {
// Ressourcen wieder freigeben
$LOOP(PropertyResources)
releaseAccess($FIELD(ResourceAccessVar));
$ENDLOOP() }
/**
* Fuehrt den kompletten Modellablauf durch.
*/
public void performModelStart() {
// @todo An dieser Stelle den Ablauf des Modells implementieren
// Ueber die Variable 'statusOut' koennen Status-Ausgaben im
// Modellfenster ausgegeben werden.
}
}