X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fwordcount%2Ftop10%2FRanking.java;h=80e8742bf20e52fbcfff5a09f86a3393ade39fe4;hb=d9586ebebc256a936a73af8249a9326de7170f7a;hp=b748fe5071e53bae85b71bad5f2ee77a924c2c91;hpb=4b94d31fbd663cb277276def106be9873ec4a246;p=demos%2Fkafka%2Fwordcount diff --git a/src/main/java/de/juplo/kafka/wordcount/top10/Ranking.java b/src/main/java/de/juplo/kafka/wordcount/top10/Ranking.java index b748fe5..80e8742 100644 --- a/src/main/java/de/juplo/kafka/wordcount/top10/Ranking.java +++ b/src/main/java/de/juplo/kafka/wordcount/top10/Ranking.java @@ -1,26 +1,26 @@ package de.juplo.kafka.wordcount.top10; -import lombok.Getter; -import lombok.Setter; +import lombok.*; import java.util.Arrays; import java.util.LinkedList; import java.util.List; -@Getter -@Setter +@AllArgsConstructor(access = AccessLevel.PRIVATE) +@NoArgsConstructor +@Data public class Ranking { private Entry[] entries = new Entry[0]; - public void add(Entry newEntry) + public Ranking add(Entry newEntry) { if (entries.length == 0) { entries = new Entry[1]; entries[0] = newEntry; - return; + return this; } List list = new LinkedList<>(Arrays.asList(entries)); @@ -29,7 +29,7 @@ public class Ranking Entry entry; entry = list.get(i); - if (entry.getCount() <= newEntry.getCount()) + if (entry.getCounter() <= newEntry.getCounter()) { list.add(i, newEntry); for (int j = i+1; j < list.size(); j++) @@ -46,8 +46,15 @@ public class Ranking list = list.subList(0,10); } entries = list.toArray(num -> new Entry[num]); - return; + return this; } } + + return this; + } + + public static Ranking of(Entry... entries) + { + return new Ranking(entries); } }