Skip to content

Package: ProduktionsAuftragsService

ProduktionsAuftragsService

Coverage

1: package produktionsauftrag;
2:
3: import auftraege.Dokumentenklasse;
4: import auftraege.ProduktionsAuftrag;
5: import auftraege.auftragsBildungsParameter.abstraction.ProduktionsauftragsParameter;
6: import util.Pair;
7:
8: import java.util.Collection;
9: import java.util.List;
10: import java.util.Set;
11:
12: /**
13: * Das {@link ProduktionsAuftragsService} stellt eine Schnittstelle für Algortihmen zur Bildung von {@link ProduktionsAuftrag}s aus
14: * {@link Dokumentenklasse}n dar.
15: */
16: public interface ProduktionsAuftragsService {
17:
18:         /**
19:          * Erstellt {@link ProduktionsAuftrag}e aus den übergebenen {@link Dokumentenklasse}n anhand der {@link ProduktionsauftragsParameter}.
20:          *
21:          * Es werden die nicht verarbeiteten {@link Dokumentenklasse}n zurückgeliefert. Dafür gibt es mehrere Möglichkeiten. z.B.:
22:          *
23:          * - SLA der Dokumentenklasse liegt weit in Zukunft, aufgrunddessen sie noch nicht verarbeitet wird. - Ein Teil der Dokumentenklasse wird in einen
24:          * Produktionsauftrag getan, der Rest wird in einer verringerten Dokumentenklasse zurückgegeben.
25:          *
26:          *
27:          * @param parameter
28:          * Parametrisierung des Algorithmus
29:          * @param dokumentenKlassen
30:          * vorhandene Dokumentenklassen
31:          * @return die übrig gebliebenen Dokumentenklassen und die erstellten Produktionsaufträge.
32:          */
33:         Pair<Collection<Dokumentenklasse>, List<ProduktionsAuftrag>> erstelleProduktionsauftraege(
34:                         Set<ProduktionsauftragsParameter> parameter,
35:                         Collection<Dokumentenklasse> dokumentenKlassen);
36: }