Package: Alternativetyp
Alternativetyp
name | instruction | branch | complexity | line | method | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Alternativetyp(Bedingung) |
|
|
|
|
|
||||||||||||||||||||
accept(AtomarerProzesstypVisitor) |
|
|
|
|
|
||||||||||||||||||||
accept(AufteilungstypVisitor) |
|
|
|
|
|
||||||||||||||||||||
accept(KonnektortypVisitor) |
|
|
|
|
|
||||||||||||||||||||
accept(ProzesstypVisitor) |
|
|
|
|
|
||||||||||||||||||||
create(Bedingung) |
|
|
|
|
|
||||||||||||||||||||
pruefeBedingung(EntschiedeneAlternative) |
|
|
|
|
|
Coverage
1: package ablaeufe.meta.konnektortypen;
2:
3: import ablaeufe.meta.strategies.alternative.Bedingung;
4: import ablaeufe.meta.visitor.AtomarerProzesstypVisitor;
5: import ablaeufe.meta.visitor.AufteilungstypVisitor;
6: import ablaeufe.meta.visitor.KonnektortypVisitor;
7: import ablaeufe.meta.visitor.ProzesstypVisitor;
8: import ablaeufe.operation.konnektoren.EntschiedeneAlternative;
9:
10: /**
11: * Ein Alternativetyp verbindet einen Inport mit beliebig vielen Outports. Die zugewiesene Strategie (Bedingung)
12: * entscheidet dabei, welcher Outport im aktuellen zustand genutzt werden soll.
13: *
14: */
15: public final class Alternativetyp extends Aufteilungstyp {
16:
17:         private final Bedingung bedingung;
18:
19:         // 1 Inport
20:         // * Outport
21:
22: private Alternativetyp(final Bedingung bedingung) {
23: this.bedingung = bedingung;
24: }
25:
26: /**
27: * @param bedingung Bedingung des Alternativetypen.
28: * @return Abstraktionstyp
29: */
30: public static Alternativetyp create(final Bedingung bedingung) {
31: return new Alternativetyp(bedingung);
32: }
33:
34: /**
35: * @param alternativetyp Konkreter {@link Alternativetyp}
36:          * Entscheidet welcher Outport genutzt werden soll. Dazu wird die Bedingung (bedingung) geprüft.
37:          */
38:         public void pruefeBedingung(final EntschiedeneAlternative alternativetyp) {
39:          this.bedingung.pruefeBedingung(alternativetyp);
40:          // TODO sinnvoll machen pruefe bedingung gibt prozess oder port zurück
41:         }
42:
43:         @Override
44:         public void accept(final AufteilungstypVisitor visitor) {
45:                 visitor.handle(this);
46:         }
47:
48:         @Override
49:         public void accept(final AtomarerProzesstypVisitor visitor) {
50:                 visitor.handle(this);
51:         }
52:
53:         @Override
54:         public void accept(final ProzesstypVisitor visitor) {
55:                 visitor.handle(this);
56:         }
57:
58: @Override
59:         public void accept(final KonnektortypVisitor visitor) {
60:                 visitor.handle(this);
61:         }
62: }