Skip to content

Package: ZusammengesetzterProzesstyp

ZusammengesetzterProzesstyp

nameinstructionbranchcomplexitylinemethod
ZusammengesetzterProzesstyp()
M: 0 C: 11
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
accept(ProzesstypVisitor)
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
addProzesstyp(AtomarerProzesstyp)
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
addProzesstypUndVerbinde(AtomarerProzesstyp, AtomarerProzesstyp)
M: 5 C: 11
69%
M: 1 C: 1
50%
M: 1 C: 1
50%
M: 1 C: 4
80%
M: 0 C: 1
100%
contains(Prozesstyp)
M: 0 C: 5
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
create()
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: package ablaeufe.meta;
2:
3: import ablaeufe.meta.visitor.ProzesstypVisitor;
4:
5: import java.util.ArrayList;
6: import java.util.List;
7:
8: /**
9: * Ein zusammengesetzer Prozesstyp kapselt einen Prozesstypen, indem er die Inports und Outports des Prozesses und die
10: * enthaltenen Prozesstypen kennt.
11: */
12: public final class ZusammengesetzterProzesstyp extends Prozesstyp {
13:
14:         private final List<Prozesstyp> teile;
15:
16:         /**
17:          * Erstellt einen zusammengesetzten Prozesstypen. Die Outports der letzten Konnektoren/Aktivitäten werden dann beim
18:          * Aufbau des Prozesses als Outports gespeichert. Die Inports sind die des Prozesses, der zuerst hinzugefügt wird
19:          */
20:         private ZusammengesetzterProzesstyp() {
21:                 super();
22:                 this.teile = new ArrayList<>();
23:                 this.addOutporttyp(Porttyp.create());
24:         }
25:
26:         /**
27:          *
28:          * @return ZusammengesetzterProzesstyp
29:          */
30: public static ZusammengesetzterProzesstyp create() {
31: return new ZusammengesetzterProzesstyp();
32:         }
33:
34: /**
35: * @param toBeAdded Prozess welcher hinzugefügt werden soll.
36: * @param connectTo Prozess an welchem der hinzugefügte Prozess angebunden werden soll.
37: */
38:         public void addProzesstypUndVerbinde(final AtomarerProzesstyp toBeAdded, final AtomarerProzesstyp connectTo) {
39:• if (!this.contains(connectTo)) {
40: throw new RuntimeException("Prozess kann nicht hinzugefügt werden, da der Prozess mit dem er verbunden werden soll,"
41: + " nicht Teilt des zusammengesetzten Prozesses ist.");
42: }
43: connectTo.connectTo(toBeAdded);
44: this.addProzesstyp(toBeAdded);
45: }
46:
47: /**
48: * Fügt den übergebenen Prozess in die Liste der Prozesstypen hinzu, welche im zusammengesetzten Prozess enthalten sind.
49: * @param toBeAdded Prozesstyp welcher hinzugefügt werden soll
50: */
51:         public void addProzesstyp(final AtomarerProzesstyp toBeAdded) {
52:                 this.teile.add(toBeAdded);
53:         }
54:
55:         @Override
56:         public void accept(final ProzesstypVisitor visitor) {
57:                 visitor.handle(this);
58:         }
59:
60: /**
61:          * Prüft ob der zusammgesetzte Prozesstyp den gegebenen Prozesstyp enthält.
62:          *
63:          * @param prozesstyp
64:          * Prozesstyp auf dessen Enthalten geprüft wird.
65:          * @return true, wenn der prozesstyp enthalten ist. Wenn nicht dann false.
66:          */
67:         public boolean contains(final Prozesstyp prozesstyp) {
68:                 return this.teile.contains(prozesstyp);
69:         }
70:
71: }