Package | Class | Use | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## theater
Class Performance

    java.lang.Object
      theater.Performance

    public class Performance

extends java.lang.Object

Die Klasse Performance definiert Methoden zur Steuerung und Verwaltung der Ausführung von Theater-Programmen(stop, setSpeed, freeze, unfreeze).

Weiterhin werden Methoden definiert, die unmittelbar nach entsprechenden Steuerungsaktionen aufgerufen werden, und zwar auch, wenn die Aktionen durch die Steuerungsbuttons des Simulators ausgelöst wurden(started, stopped, speedChanged). Möchte ein Programmierer zusätzliche Aktionen mit den entsprechenden Steuerungsaktionen einhergehen lassen, kann er eine Unterklasse der Klasse Performance definieren und hierin die entsprechende Methode überschreiben.

Zusätzlich stellt die Klasse Performance eine Methode playSound zur Verfügung, mit der eine Audio-Datei abgespielt werden kann. Die Datei muss sich im Unterverzeichnis "sounds" des entsprechenden Theraterstücks befinden. Unterstützt werden die Formate wav, au und aiff.

Über die Methode setActiveStage ist es möglich, die aktuell aktive Bühne gegen eine andere Bühne auszutauschen, d.h. das Bühnenbild zu wechseln. Unter Umständen aktive Akteure der alten Bühne werden dabei nicht automatisch gestoppt. Die Methode getActiveStage liefert die gerade aktive Bühne.

Das während einer Aufführung aktuelle Performance-Objekt kann mit Hilfe der statischen Methode getPerformance ermittelt werden. Ein Wechsel des Performance-Objektes ist während einer Aufführung nicht möglich.

Version:
  1.0 (08.09.2009)
Author:
  Dietrich Boles, Universität Oldenburg, Germany

Field Summary
`static int` | `DEF_SPEED` Default-Geschwindigkeit
`static int` | `MAX_SPEED` Maximale Geschwindigkeit
`static int` | `MIN_SPEED` Minimale Geschwindigkeit

Constructor Summary
`Performance()` Default-Konstruktor zur Initialisierung eines Performance-Objektes.

Method Summary
`void` | `freeze()` Der Aufruf dieser Methode führt dazu, dass die Ansicht der Bühne "eingeforen" wird, d.h. es werden keinerlei Zustandsänderungen mehr sichtbar, bevor nicht die Methode unfreeze aufgerufen worden ist.
`Stage` | `getActiveStage()` Liefert die aktuell dargestellte Bühne
`static Performance` | `getPerformance()` Liefert das aktuell gesetzte Performance-Objekte
`int` | `getSpeed()` Liefert die aktuelle Ausführungsgeschwindigkeit der Performance.
`void` | `playSound(java.lang.String soundFile)` Spielt einen Sound ab, der aus einer Datei geladen wird.
`void` | `setActiveStage(Stage stage)` Wechselt die Bühne.
`void` | `setSpeed(int newSpeed)` Ändert die aktuell eingestellte Ausführungsgeschwindigkeit.
`void` | `speedChanged(int newSpeed)` Diese Methode wird aufgerufen, wenn sich die Geschwindigkeit des Theaterstücks ändert.
`void` | `started()` Diese Methode wird unmittelbar nach dem Starten bzw.
`void` | `stop()` Stopped eine Performance und setzt sie in den Zustand STOPPED.
`void` | `stopped()` Diese Methode wird unmittelbar nach dem Stoppen eines Theaterstücks aufgerufen.
`void` | `unfreeze()` Bei Aufruf dieser Methode wird der Eingefroren-Zustand wieder verlassen.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### DEF_SPEED

    public static int DEF_SPEED

  Default-Geschwindigkeit

### MAX_SPEED

    public static int MAX_SPEED

  Maximale Geschwindigkeit

### MIN_SPEED

    public static int MIN_SPEED

  Minimale Geschwindigkeit

Constructor Detail

### Performance

    public Performance()

  Default-Konstruktor zur Initialisierung eines Performance-Objektes. Der Zustand des Performance-Objektes wird auf STOPPED gesetzt, die Geschwindigkeit auf DEF_SPEED.

Method Detail

### freeze

    public void freeze()

  Der Aufruf dieser Methode führt dazu, dass die Ansicht der Bühne "eingeforen" wird, d.h. es werden keinerlei Zustandsänderungen mehr sichtbar, bevor nicht die Methode unfreeze aufgerufen worden ist.

### getActiveStage

    public Stage getActiveStage()

  Liefert die aktuell dargestellte Bühne

  Returns:
    die aktuell dargestellte Bühne

### getPerformance

    public static Performance getPerformance()

  Liefert das aktuell gesetzte Performance-Objekte

  Returns:
    das aktuell gesetzte Performance-Objekt

### getSpeed

    public int getSpeed()

  Liefert die aktuelle Ausführungsgeschwindigkeit der Performance.

  Returns:
    die aktuelle Ausführungsgeschwindigkeit der Performance

### playSound

    public void playSound(java.lang.String soundFile)
                   throws java.lang.IllegalArgumentException

  Spielt einen Sound ab, der aus einer Datei geladen wird. Erlaubt sind die Formate au, aiff und wav.

  Parameters:
    `soundFile` - Name der Sounddatei; die Datei muss sich im Unterverzeichnis sounds des Theaterstück-Verzeichnisses befinden
  Throws:
    `java.lang.IllegalArgumentException` - wird geworfen, wenn die angegebene Datei keine gültige lesbare Sounddatei ist

### setActiveStage

    public void setActiveStage(Stage stage)

  Wechselt die Bühne. Der Bühnenwechsel wird nicht unmittelbar beim Aufruf der Methode sondern erst nach Abschluss der run-Runde durchgeführt.

  Parameters:
    `stage` - die neue Bühne

### setSpeed

    public void setSpeed(int newSpeed)

  Ändert die aktuell eingestellte Ausführungsgeschwindigkeit. Die minimale Geschwindigkeit kann über die Konstante MIN_SPEED, die maximale Geschwindigkeit über die Konstante MAX_SPEED abgefragt werden. Wird als gewünschte Geschwindigkeit ein kleinerer bzw. größerer Wert als die entsprechende Konstante übergeben, wird die Geschwindigkeit automatisch auf MIN_SPEED bzw. MAX-SPEED gesetzt.

  Die Methode kann aus einem Programm heraus aufgerufen werden. Sie wird auch aufgerufen, wenn der Nutzer im Theater-Simulator den Geschwindigkeitsregler benutzt.

  Parameters:
    `newSpeed` - die neue Ausführungsgeschwindigkeit, die zwischen MIN_SPEED und MAX_SPEED liegen sollte

### speedChanged

    public void speedChanged(int newSpeed)

  Diese Methode wird aufgerufen, wenn sich die Geschwindigkeit des Theaterstücks ändert.

  Sollen mit einer Geschwindigkeitsänderung weitere Aktionen einhergehen, muss der Programmierer eine Klasse von der Klasse Performance ableiten und diese Methode entsprechend überschreiben.

  Parameters:
    `newSpeed` - die neue Geschwindigkeit

### started

    public void started()

  Diese Methode wird unmittelbar nach dem Starten bzw. Fortsetzen eines Theaterstücks aufgerufen.

  Sollen mit dem Start eines Theaterstücks weitere Aktionen einhergehen, muss der Programmierer eine Klasse von der Klasse Performance ableiten und diese Methode entsprechend überschreiben.

### stop

    public void stop()

  Stopped eine Performance und setzt sie in den Zustand STOPPED. Wenn sich die Performance bereits im Zustand STOPPED befindet, passiert nichts.

  Die Methode kann aus einem Programm heraus aufgerufen werden. Sie wird auch aufgerufen, wenn der Nutzer im Theater-Simulator den Stopp-Button anklickt.

### stopped

    public void stopped()

  Diese Methode wird unmittelbar nach dem Stoppen eines Theaterstücks aufgerufen.

  Sollen mit dem Stoppen eines Theater-Programms weitere Aktionen einhergehen, muss der Programmierer eine Klasse von der Klasse Performance ableiten und diese Methode entsprechend überschreiben.

### unfreeze

    public void unfreeze()

  Bei Aufruf dieser Methode wird der Eingefroren-Zustand wieder verlassen. Befindet sich der aufrufene Thread nicht im Eingefroren-Zustand, bewirkt ein Aufruf dieser Methode nichts.

Package | Class | Use | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD