vips.model
Class Projekt

java.lang.Object
  extended by vips.model.Projekt
All Implemented Interfaces:
Beobachtbar

public class Projekt
extends java.lang.Object
implements Beobachtbar

Diese Klasse stellt ein Projekt dar.
Ein Projekt besteht aus mehreren Struktogrammen und globalen Variablen.

Events:
Wenn ein Struktogramm hinzugefügt oder entfernt wird (Achtung: Änderungen in einem der Struktogramm lösen hier KEIN Event aus!)


Constructor Summary
Projekt()
          Erzeugt ein neues, leeres Projekt.
Projekt(org.jdom.Element e)
          Erzeugt ein Projekt basierend auf das übergebene XML-Element.
 
Method Summary
 void ausfuehren(java.lang.Object einzelschrittLock)
          Startet dieses Projekt.
 void changeListenerEntfernen(ChangeListener l)
          Entfernt den Listener l aus der Liste der Listener dieses Objektes.
 void changeListenerHinzufuegen(ChangeListener l)
          Fügt den Listener l der Sammlung der Listener dieses Objekts hinzu.
protected  void einzelschrittEventAusloesen(Anweisung a)
          Benachrichtigt alle registrierten EinzelschrittListener, dass als nächstes die Anweisung a ausgeführt wird.
 void einzelschrittListenerEntfernen(EinzelschrittListener l)
          Entfernt l aus der Sammlung der Listener, die im Einzelschritt- Modus benachrichtigt werden.
 void einzelschrittListenerHinzufuegen(EinzelschrittListener l)
          Fügt l der Sammlung der Listener hinzu, die im Einzelschritt- Modus benachrichtigt werden
 BenamterWertSammlung getGlobaleVariablen()
          Gibt die Sammlung der globalen Variablen und Konstanten dieses Projektes zurück.
 Struktogramm getStruktogramm(java.lang.String name)
          Gibt das Struktogramm mit dem Namen name zurück, sofern es in diesem Projekt ein solches gibt, sonst null.
 Struktogramm[] getStruktogramme()
          Gibt alle Struktogramme dieses Projekts in einem Array zurück
 java.util.Iterator iterator()
          Gibt einen Iterator über die Struktogramme in diesem Projekt zurück.
(package private)  void struktogrammEntfernen(Struktogramm s)
          Entfernt das Struktogramm s aus diesem Projekt.
(package private)  void struktogrammHinzufuegen(Struktogramm s)
          Fügt das Struktogramm s diesem Projekt hinzu.
 org.jdom.Element toXMLElement()
          Gibt das XML-Element zurück, das dieses Projekt darstellt
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Projekt

public Projekt()
Erzeugt ein neues, leeres Projekt.


Projekt

public Projekt(org.jdom.Element e)
        throws FalschesDateiFormatException
Erzeugt ein Projekt basierend auf das übergebene XML-Element.
Das Element muss den Namen "projekt" haben.

Throws:
FalschesDateiFormatException
Method Detail

ausfuehren

public void ausfuehren(java.lang.Object einzelschrittLock)
                throws LaufzeitException
Startet dieses Projekt.
Es wird nach einem Struktogramm mit dem Namen "main" gesucht und dieses aufgerufen. Das Struktogramm darf keine Parameter erwarten.

Parameters:
einzelschrittLock - Wenn ungleich null, wird das Projekt im Einzelschritt- Modus ausgeführt und dieses Objekt als Synchronizationsobjekt verwendet.
Throws:
LaufzeitException - Wenn kein passendes Main-Struktogramm gefunden wird

getGlobaleVariablen

public BenamterWertSammlung getGlobaleVariablen()
Gibt die Sammlung der globalen Variablen und Konstanten dieses Projektes zurück.


getStruktogramm

public Struktogramm getStruktogramm(java.lang.String name)
Gibt das Struktogramm mit dem Namen name zurück, sofern es in diesem Projekt ein solches gibt, sonst null.

Throws:
java.lang.IllegalArgumentException - Wenn name null ist

iterator

public java.util.Iterator iterator()
Gibt einen Iterator über die Struktogramme in diesem Projekt zurück.


getStruktogramme

public Struktogramm[] getStruktogramme()
Gibt alle Struktogramme dieses Projekts in einem Array zurück


struktogrammHinzufuegen

void struktogrammHinzufuegen(Struktogramm s)
Fügt das Struktogramm s diesem Projekt hinzu.
Diese Methode fügt nur einen Verweis auf das Struktogramm hinzu und tut weiter nichts.
Wird von Struktogramm.setProjekt aufgerufen.

Throws:
java.lang.IllegalArgumentException - Wenn s null ist
java.lang.RuntimeException - Wenn ein Struktogramm mit dem Namen von s bereits in diesem Projekt drin ist

struktogrammEntfernen

void struktogrammEntfernen(Struktogramm s)
Entfernt das Struktogramm s aus diesem Projekt.
Es wird hier nur der interne Verweis gelöscht. Wird von Struktogramm.setProjekt aufgerufen.

Throws:
java.lang.IllegalArgumentException - Wenn s null ist
java.lang.RuntimeException - Wenn s nicht in diesem Projekt enthalten ist

changeListenerHinzufuegen

public void changeListenerHinzufuegen(ChangeListener l)
Fügt den Listener l der Sammlung der Listener dieses Objekts hinzu.

Specified by:
changeListenerHinzufuegen in interface Beobachtbar
Throws:
java.lang.IllegalArgumentException - Wenn l null ist

changeListenerEntfernen

public void changeListenerEntfernen(ChangeListener l)
Entfernt den Listener l aus der Liste der Listener dieses Objektes.
Wenn l nicht in der Sammlung drin ist, passiert nix.

Specified by:
changeListenerEntfernen in interface Beobachtbar
Throws:
java.lang.IllegalArgumentException - Wenn l null ist

einzelschrittListenerHinzufuegen

public void einzelschrittListenerHinzufuegen(EinzelschrittListener l)
Fügt l der Sammlung der Listener hinzu, die im Einzelschritt- Modus benachrichtigt werden

Throws:
java.lang.IllegalArgumentException - Wenn l null ist

einzelschrittListenerEntfernen

public void einzelschrittListenerEntfernen(EinzelschrittListener l)
Entfernt l aus der Sammlung der Listener, die im Einzelschritt- Modus benachrichtigt werden.
Wenn l nicht in der Sammlung drin ist, passiert nichts.

Throws:
java.lang.IllegalArgumentException - Wenn l null ist

einzelschrittEventAusloesen

protected void einzelschrittEventAusloesen(Anweisung a)
Benachrichtigt alle registrierten EinzelschrittListener, dass als nächstes die Anweisung a ausgeführt wird.

Throws:
java.lang.IllegalArgumentException - Wenn a null ist

toXMLElement

public org.jdom.Element toXMLElement()
Gibt das XML-Element zurück, das dieses Projekt darstellt