/[xulu]/trunk/defaults/plugin/GeoModelCodeGenerator/StepModel.tpl
ViewVC logotype

Contents of /trunk/defaults/plugin/GeoModelCodeGenerator/StepModel.tpl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations)
Wed Feb 25 11:54:01 2009 UTC (15 years, 9 months ago) by mojays
File size: 3601 byte(s)
First Commit, corresponds to Revision 1008 of Wikisquare-SVN 
1 package $FIELD(Package);
2
3 $LOOP(ClassImport)
4 import $FIELD(ClassImport);
5 $ENDLOOP()
6
7 /**
8 * Diese Klasse stellt eine Implementierung des Modells {@linkplain $FIELD(ModelName)}
9 * dar. Dieses benoetigt $FIELD(ResourceCount) Ressourcen, welche durch den
10 * {@linkplain $FIELD(ModelCMName)} spezifiziert werden:
11 * <ol>
12 $LOOP(Resources)
13 * <li><b>$FIELD(ResourceDesc) ({@code $FIELD(ResourceVar)}):</b>
14 * @todo Detaillierte Ressoucen-Beschreibung einfuegen
15 * </li>
16 $ENDLOOP() * </ol>
17 * @see $FIELD(ModelCMName)
18 * @author automatisch generiert durch {@link edu.bonn.xulu.plugin.appl.GeoModelCodeGenerator}
19 * @version 1.0
20 */
21 public class $FIELD(ModelName) extends $FIELD(ModelSuperClass) {
22 /** Speichert den ContentManager fuer das Modell.
23 * @see $FIELD(ModelCMName) */
24 protected $FIELD(ModelCMName) contManager;
25
26 //********** Lese/Schreibrechte, die fuer den gesamten ***********
27 //********** Modellanlauf gehalten werden muessen ***********
28 $LOOP(PropertyResources)
29 private $FIELD(ResourceAccessType) $FIELD(ResourceAccessVar) = null; // $FIELD(PropertyResourceDesc)
30 $ENDLOOP()
31 //**************** Variablen mit denen gearbeitet wird *******************
32 $LOOP(Resources)
33 private $FIELD(ResourceVarType) $FIELD(ResourceVar) = null; // $FIELD(ResourceDesc)
34 $ENDLOOP()
35 /**
36 * Erzeugt eine neue Instanz des Modells.
37 */
38 public $FIELD(ModelName)() {
39 super( new $FIELD(ModelCMName)() );
40 contManager = ($FIELD(ModelCMName))super.contManager;
41 }
42
43
44 ////////////////////////////////////////////////////////////////////////
45 /////////////// Implementierung von AbstractXuluModel //////////////
46 ////////////////////////////////////////////////////////////////////////
47 /**
48 * Initialisiert das Model, indem die Ressourcen aus dem ContentManager
49 * geladen werden und mit Lese/Schreib-Rechten versehen werden. Zudem
50 * werden Referenzen auf die Ressourcen in lokalen Variablen
51 * gespeichert, um waehrend des Modellablaufs effizienter darauf zugreifen
52 * zu koennen.
53 */
54 public void performModelInit() {
55 if ( contManager == null )
56 return;
57 // Zugriffsrechte aus Ressourcen/Propertys holen
58 $LOOP(PropertyResources)
59 $FIELD(ResourceAccessVar) = null;
60 if ( contManager.getResource($FIELD(PropertyResourceNo)).getData() != null )
61 $FIELD(ResourceAccessVar) = (($FIELD(PropertyResourceType))contManager.getResource($FIELD(PropertyResourceNo)).getData())$FIELD(ResourceAccessAlloc);
62 $ENDLOOP()
63 // Variablen belegen mit denen gearbeitet wird
64 $LOOP(Resources)
65 $FIELD(ResourceVar) = $FIELD(ResourceVarAlloc);
66 $ENDLOOP()
67 // WICHTIG:
68 // An dieser Stelle die Anzahl an Modellschritten (aus einer
69 // Ressource) zuweisen, die das Modell laufen soll!
70 // Sonst laeuft das Modell nicht an!!
71 this.stepCount = 0;
72 }
73
74 /**
75 * Gibt die Lese/Schreibrechte auf das Ein- und Ausgaberaster wieder frei.
76 * Interne Ressourcen brauchen keine aus dem Speicher entfernt werden.
77 */
78 public void performModelDispose() {
79 // Ressourcen wieder freigeben
80 $LOOP(PropertyResources)
81 releaseAccess($FIELD(ResourceAccessVar));
82 $ENDLOOP() }
83
84 /**
85 * Fuehrt einen Schritt des Modellablaufs durch.
86 * @param stepNo zu modellierender Schritt (beginnend bei 1!)
87 */
88 public void performModelStep(int stepNo) {
89 // @todo An dieser Stelle den Ablauf eines Modellschritts implementieren
90
91 // Ueber die Variable 'statusOut' koennen Status-Ausgaben im
92 // Modellfenster ausgegeben werden.
93 }
94 }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26