Skip to content

Method: KuvertFormate(KuvertFormateState)

1: package auftraege.auftragsBildungsParameter;
2:
3: import auftraege.auftragsBildungsParameter.abstraction.AusschliessenderParameter;
4: import auftraege.auftragsBildungsParameter.abstraction.AusschliessenderParameterVisitor;
5: import auftraege.auftragsBildungsParameter.states.KuvertFormateErlaubt;
6: import auftraege.auftragsBildungsParameter.states.KuvertFormateState;
7: import auftraege.auftragsBildungsParameter.states.KuvertFormateVerboten;
8: import material.kuvert.KuvertFormat;
9:
10: import java.util.List;
11:
12: /**
13: * Diese Klasse beinhaltet alle Kuvertformate. Hiermit ist eine eindeutige Zuordnung zu den Ausschließenden Parametern gegeben.
14: */
15: public final class KuvertFormate implements AusschliessenderParameter {
16: private final KuvertFormateState state;
17:
18: private KuvertFormate(final KuvertFormateState state) {
19: this.state = state;
20: }
21:
22: /**
23: * Erstellt eine Liste von Kuvertformaten, die ausgeschlossen werden sollen.
24: * @param formate die Kuvertformate, die verboten werden sollen
25: * @return ein neues Objekt der Klasse KuvertFormate mit den übergebenen verbotenen Formaten
26: */
27: public static KuvertFormate createMitVerbotenen(final List<KuvertFormat> formate) {
28: return new KuvertFormate(new KuvertFormateVerboten(formate));
29: }
30:
31: /**
32: * Erstellt eine Liste von Kuvertformaten, die erlaubt werden sollen.
33: * @param formate die Kuvertformate, die erlaubt werden sollen.
34: * @return ein neues Objekt der Klasse KuvertFormate mit den übergebenen Formaten, die erlaubt sind
35: */
36: public static KuvertFormate createMitErlaubten(final List<KuvertFormat> formate) {
37: return new KuvertFormate(new KuvertFormateErlaubt(formate));
38: }
39:
40: @Override
41: public <T> T accept(final AusschliessenderParameterVisitor<T> v) {
42: return v.handle(this);
43: }
44:
45: /**
46: * Prüft ob der das Objekt der Klasse KuvertFormate ein bestimmtes Kuvertformat enthält.
47: * @param kuvertFormat das zu suchende Kuvertformat.
48: * @return true, falls das Kuvertformat vorhanden ist. Sonst false
49: */
50: public Boolean contains(final KuvertFormat kuvertFormat) {
51: return this.state.contains(kuvertFormat);
52: }
53:
54: }