Skip to contentMethod: getInstanceAbsteigend()
      1: package rollenbelegung.SortierParameter.MaschinenSortierParameter;
2: 
3: import maschine.Maschine;
4: import rollenbelegung.SortierParameter.SortierReihenfolge;
5: import tec.uom.se.quantity.Quantities;
6: import tec.uom.se.unit.Units;
7: 
8: import java.util.Comparator;
9: import java.util.List;
10: 
11: /**
12:  * {@link MaschinenSortierParameter} zum Sortieren von {@link Maschine Maschinen} nach Verarbeitungsgeschwindigkeit.
13:  */
14: public final class SortGeschwindigkeit extends MaschinenSortierParameter {
15: 
16:         private static SortGeschwindigkeit instanceAbsteigend;
17:         private static SortGeschwindigkeit instanceAufsteigend;
18: 
19:         private SortGeschwindigkeit(final SortierReihenfolge sortierReihenfolge) {
20:                 super(sortierReihenfolge);
21:         }
22: 
23:         /**
24:          * @return die instance, die aufsteigend sortiert.
25:          */
26:         public static SortGeschwindigkeit getInstanceAufsteigend() {
27:                 if (SortGeschwindigkeit.instanceAufsteigend == null) {
28:                         SortGeschwindigkeit.instanceAufsteigend = new SortGeschwindigkeit(SortierReihenfolge.AUFSTEIGEND);
29:                 }
30:                 return SortGeschwindigkeit.instanceAufsteigend;
31:         }
32: 
33:         /**
34:          * @return die instance, die absteigend sortiert.
35:          */
36:         public static SortGeschwindigkeit getInstanceAbsteigend() {
37:•                if (SortGeschwindigkeit.instanceAbsteigend == null) {
38:                         SortGeschwindigkeit.instanceAbsteigend = new SortGeschwindigkeit(SortierReihenfolge.ABSTEIGEND);
39:                 }
40:                 return SortGeschwindigkeit.instanceAbsteigend;
41:         }
42: 
43:         private Comparator<Maschine> getComparator() {
44:                 return new Comparator<Maschine>() {
45:                         @Override
46:                         public int compare(final Maschine m1, final Maschine m2) {
47:                                 return Integer.compare(m1.getAnzahlVerarbeitbarerBlaetterOderKuverts(Quantities.getQuantity(1, Units.HOUR)),
48:                                                 m2.getAnzahlVerarbeitbarerBlaetterOderKuverts(Quantities.getQuantity(1, Units.HOUR)));
49:                         }
50:                 };
51:         }
52: 
53:         @Override
54:         public void specialSort(final List<Maschine> maschinen) {
55:                 maschinen.sort(this.getComparator());
56:         }
57: 
58: 
59: }