Beispiel #1
0
 private Comparator<PolicyStats> makeComparator() {
   switch (settings.report().sortBy().toLowerCase()) {
     case "policy":
       return Comparator.comparing(PolicyStats::name);
     case "hit rate":
       return Comparator.comparingDouble(PolicyStats::hitRate);
     case "hits":
       return Comparator.comparingLong(PolicyStats::hitCount);
     case "misses":
       return Comparator.comparingLong(PolicyStats::missCount);
     case "evictions":
       return Comparator.comparingLong(PolicyStats::evictionCount);
     case "steps":
       return Comparator.comparingLong(PolicyStats::operationCount);
     case "time":
       return Comparator.comparingLong(stats -> stats.stopwatch().elapsed(TimeUnit.NANOSECONDS));
     default:
       throw new IllegalArgumentException("Unknown sort order: " + settings.report().sortBy());
   }
 }