Skip to content

Package: Kommando

Kommando

nameinstructionbranchcomplexitylinemethod
Kommando()
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
execute()
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%

Coverage

1: package schnittstelle.kommandoArchitektur;
2:
3: import schnittstelle.Sitzung;
4: import util.exceptions.PPSException;
5:
6: /**
7: * Schnittstelle für alle Kommandos der Systemschnittstelle.
8: *
9: */
10: public abstract class Kommando {
11:         
12:         /**
13:          * Konstruktor für Kommandos. Alle Kommandos sind nach dem Erstellen noch nicht ausgeführt worden, deswegen executed
14:          * = false. Zusätzlich werden die Kommandos in die Sitzung eingetragen.
15:          */
16:         public Kommando() {
17:                 Sitzung.getInstance().addKommando(this);
18:         }
19:         
20:         /**
21:          * Template Method um einmalig hier executed zu setzen und danach das Kommando auszuführen.
22:          */
23:         public void execute() {
24:                 this.executeCommand();
25:                 Sitzung.getInstance().notifyKommandoAusgefuehrt(this);
26:         }
27:         
28:         /**
29:          * führt das Kommando aus und speichert entweder die Exception und/oder das Resultat ab.
30:          */
31:         protected abstract void executeCommand();
32:         
33:         /**
34:          * akzeptiert einen Kommando-Visitor und sorgt somit für die Ausführung der korrekten Handle-Methode. (Siehe
35:          * Design-Pattern Visitor.)
36:          *
37:          * @param v
38:          * zu akzeptierender Visitor
39:          * @throws PPSException
40:          * falls beim Ausführen des Kommandos eine Exception geworfen wird.
41:          */
42:         public abstract void accept(KommandoVisitor v) throws PPSException;
43: }