SuggestionUtil class
Пакет: com.hypixel.hytale.server.core.command.system.suggestion
Файл: com/hypixel/hytale/server/core/command/system/suggestion/SuggestionUtil.java
Поля (9)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
return |
|
|
return |
|
String |
var11 |
|
Comparator |
var14 |
|
String |
var4 |
|
int |
var5 |
|
List |
var6 |
|
List |
var7 |
|
List |
var8 |
Методы (9)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(String var13 : var0) |
|
|
for for(String var10 : var0) |
|
|
for for(String var4 : var0) |
static |
void |
suggestAllvoid suggestAll(@Nonnull List<String> var0, @Nonnull UnaryOperator<String> var1, @Nonnull SuggestionResult var2) |
abstract |
|
suggestAll suggestAll(var6, var2, var3) |
abstract |
|
suggestAll suggestAll(var7, var2, var3) |
abstract |
|
suggestAll suggestAll(var8, var2, var3) |
static |
void |
suggestFilteredvoid suggestFiltered(@Nonnull Iterable<String> var0, @Nonnull String var1, @Nonnull SuggestionResult var2) |
static |
void |
suggestFilteredvoid suggestFiltered(@Nonnull Iterable<String> var0, @Nonnull String var1, @Nonnull UnaryOperator<String> var2, @Nonnull SuggestionResult var3) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.system.suggestion;
class="kw">import com.hypixel.hytale.common.util.StringCompareUtil;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.Comparator;
class="kw">import java.util.List;
class="kw">import java.util.Locale;
class="kw">import java.util.function.UnaryOperator;
class="kw">import javax.annotation.Nonnull;
class="kw">public class="kw">final class SuggestionUtil {
class="kw">private SuggestionUtil() {
}
class="kw">public class="kw">static void suggestFiltered(@Nonnull Iterable<String> var0, @Nonnull String var1, @Nonnull SuggestionResult var2) {
suggestFiltered(var0, var1, UnaryOperator.identity(), var2);
}
class="kw">public class="kw">static void suggestFiltered(@Nonnull Iterable<String> var0, @Nonnull String var1, @Nonnull UnaryOperator<String> var2, @Nonnull SuggestionResult var3) {
if (var1.isEmpty()) {
for (String var13 : var0) {
if (var3.isFull()) {
var3.markTruncated();
class="kw">return;
}
var3.suggest(var2.apply(var13));
}
} else {
String var4 = var1.toLowerCase(Locale.ENGLISH);
int var5 = var1.length();
List var6 = new ObjectArrayList();
List var7 = new ObjectArrayList();
List var8 = new ObjectArrayList();
for (String var10 : var0) {
String var11 = var10.toLowerCase(Locale.ENGLISH);
if (var11.startsWith(var4)) {
var6.add(var10);
} else if (var11.contains(var4)) {
var7.add(var10);
} else if (StringCompareUtil.getFuzzyDistance(var10, var1, Locale.ENGLISH) >= var5) {
var8.add(var10);
}
}
Comparator var14 = Comparator.comparingInt(String::length).thenComparing(Comparator.naturalOrder());
var6.sort(var14);
var7.sort(var14);
var8.sort(Comparator.<String>comparingInt(var1x -> StringCompareUtil.getFuzzyDistance(var1x, var1, Locale.ENGLISH)).reversed());
suggestAll(var6, var2, var3);
suggestAll(var7, var2, var3);
suggestAll(var8, var2, var3);
}
}
class="kw">private class="kw">static void suggestAll(@Nonnull List<String> var0, @Nonnull UnaryOperator<String> var1, @Nonnull SuggestionResult var2) {
for (String var4 : var0) {
if (var2.isFull()) {
var2.markTruncated();
class="kw">return;
}
var2.suggest(var1.apply(var4));
}
}
}