Skip to content

Commit 79f0599

Browse files
authored
Remove BlockingSuggestionProvider.ConstantStrings (#605)
1 parent 2d68658 commit 79f0599

7 files changed

Lines changed: 18 additions & 43 deletions

File tree

cloud-core/src/main/java/cloud/commandframework/arguments/LiteralParser.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
import org.apiguardian.api.API;
4040
import org.checkerframework.checker.nullness.qual.NonNull;
4141

42-
public final class LiteralParser<C> implements ArgumentParser<C, String>, BlockingSuggestionProvider.ConstantStrings<C> {
42+
public final class LiteralParser<C> implements ArgumentParser<C, String>, BlockingSuggestionProvider.Strings<C> {
4343

4444
/**
4545
* Creates a new literal parser that accepts the given {@code name} and {@code aliases}.
@@ -90,7 +90,8 @@ private LiteralParser(final @NonNull String name, final @NonNull String... alias
9090
}
9191

9292
@Override
93-
public @NonNull Iterable<@NonNull String> stringSuggestions() {
93+
public @NonNull Iterable<@NonNull String> stringSuggestions(final @NonNull CommandContext<C> commandContext,
94+
final @NonNull CommandInput input) {
9495
return Collections.singletonList(this.name);
9596
}
9697

cloud-core/src/main/java/cloud/commandframework/arguments/standard/BooleanParser.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
import org.checkerframework.checker.nullness.qual.NonNull;
4242

4343
@API(status = API.Status.STABLE)
44-
public final class BooleanParser<C> implements ArgumentParser<C, Boolean>, BlockingSuggestionProvider.ConstantStrings<C> {
44+
public final class BooleanParser<C> implements ArgumentParser<C, Boolean>, BlockingSuggestionProvider.Strings<C> {
4545

4646
private static final List<String> STRICT_LOWER = CommandInput.BOOLEAN_STRICT
4747
.stream().map(s -> s.toLowerCase(Locale.ROOT)).collect(Collectors.toList());
@@ -113,7 +113,8 @@ public BooleanParser(final boolean liberal) {
113113
}
114114

115115
@Override
116-
public @NonNull Iterable<@NonNull String> stringSuggestions() {
116+
public @NonNull Iterable<@NonNull String> stringSuggestions(final @NonNull CommandContext<C> commandContext,
117+
final @NonNull CommandInput input) {
117118
if (!this.liberal) {
118119
return STRICT_LOWER;
119120
}

cloud-core/src/main/java/cloud/commandframework/arguments/standard/EnumParser.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343

4444
@API(status = API.Status.STABLE)
4545
public final class EnumParser<C, E extends Enum<E>> implements ArgumentParser<C, E>,
46-
BlockingSuggestionProvider.ConstantStrings<C> {
46+
BlockingSuggestionProvider.Strings<C> {
4747

4848
/**
4949
* Creates a new enum parser.
@@ -112,7 +112,8 @@ public EnumParser(final @NonNull Class<E> enumClass) {
112112
}
113113

114114
@Override
115-
public @NonNull Iterable<@NonNull String> stringSuggestions() {
115+
public @NonNull Iterable<@NonNull String> stringSuggestions(final @NonNull CommandContext<C> commandContext,
116+
final @NonNull CommandInput input) {
116117
return EnumSet.allOf(this.enumClass).stream().map(e -> e.name().toLowerCase(Locale.ROOT)).collect(Collectors.toList());
117118
}
118119

cloud-core/src/main/java/cloud/commandframework/arguments/suggestion/BlockingSuggestionProvider.java

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -108,35 +108,4 @@ interface Strings<C> extends cloud.commandframework.arguments.suggestion.Blockin
108108
.collect(Collectors.toList());
109109
}
110110
}
111-
112-
/**
113-
* Specialized variant of {@link cloud.commandframework.arguments.suggestion.BlockingSuggestionProvider} that has {@link String} results
114-
* instead of {@link Suggestion} results.
115-
*
116-
* <p>The provided default implementation of {@link #suggestions(CommandContext, CommandInput)}
117-
* maps the {@link String} results to {@link Suggestion suggestions} using {@link Suggestion#simple(String)}.</p>
118-
*
119-
* @param <C> command sender type
120-
*/
121-
@FunctionalInterface
122-
@API(status = API.Status.STABLE, since = "2.0.0")
123-
interface ConstantStrings<C> extends cloud.commandframework.arguments.suggestion.BlockingSuggestionProvider<C> {
124-
125-
/**
126-
* Returns the suggestions for the given {@code input}.
127-
*
128-
* @return list of suggestions
129-
*/
130-
@NonNull Iterable<@NonNull String> stringSuggestions();
131-
132-
@Override
133-
default @NonNull Iterable<@NonNull Suggestion> suggestions(
134-
final @NonNull CommandContext<C> context,
135-
final @NonNull CommandInput input
136-
) {
137-
return StreamSupport.stream(this.stringSuggestions().spliterator(), false)
138-
.map(Suggestion::simple)
139-
.collect(Collectors.toList());
140-
}
141-
}
142111
}

cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/EnchantmentParser.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
import org.checkerframework.checker.nullness.qual.NonNull;
4343

4444
public final class EnchantmentParser<C> implements ArgumentParser<C, Enchantment>,
45-
BlockingSuggestionProvider.ConstantStrings<C> {
45+
BlockingSuggestionProvider.Strings<C> {
4646

4747
/**
4848
* Creates a enchantment parser.
@@ -101,7 +101,8 @@ public final class EnchantmentParser<C> implements ArgumentParser<C, Enchantment
101101
}
102102

103103
@Override
104-
public @NonNull Iterable<@NonNull String> stringSuggestions() {
104+
public @NonNull Iterable<@NonNull String> stringSuggestions(final @NonNull CommandContext<C> commandContext,
105+
final @NonNull CommandInput input) {
105106
final List<String> completions = new ArrayList<>();
106107
for (Enchantment value : Enchantment.values()) {
107108
if (value.getKey().getNamespace().equals(NamespacedKey.MINECRAFT)) {

cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/ItemStackParser.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ public boolean hasExtraData() {
276276
}
277277

278278
private static final class LegacyParser<C> implements ArgumentParser.FutureArgumentParser<C, ProtoItemStack>,
279-
BlockingSuggestionProvider.ConstantStrings<C> {
279+
BlockingSuggestionProvider.Strings<C> {
280280

281281
private final ArgumentParser<C, ProtoItemStack> parser = new MaterialParser<C>()
282282
.mapSuccess((ctx, material) -> CompletableFuture.completedFuture(new LegacyProtoItemStack(material)));
@@ -290,7 +290,8 @@ private static final class LegacyParser<C> implements ArgumentParser.FutureArgum
290290
}
291291

292292
@Override
293-
public @NonNull Iterable<@NonNull String> stringSuggestions() {
293+
public @NonNull Iterable<@NonNull String> stringSuggestions(final @NonNull CommandContext<C> commandContext,
294+
final @NonNull CommandInput input) {
294295
return Arrays.stream(Material.values())
295296
.filter(Material::isItem)
296297
.map(value -> value.name().toLowerCase(Locale.ROOT))

cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/WorldParser.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
import org.bukkit.World;
4141
import org.checkerframework.checker.nullness.qual.NonNull;
4242

43-
public final class WorldParser<C> implements ArgumentParser<C, World>, BlockingSuggestionProvider.ConstantStrings<C> {
43+
public final class WorldParser<C> implements ArgumentParser<C, World>, BlockingSuggestionProvider.Strings<C> {
4444

4545
/**
4646
* Creates a new world parser.
@@ -88,7 +88,8 @@ public final class WorldParser<C> implements ArgumentParser<C, World>, BlockingS
8888
}
8989

9090
@Override
91-
public @NonNull Iterable<@NonNull String> stringSuggestions() {
91+
public @NonNull Iterable<@NonNull String> stringSuggestions(final @NonNull CommandContext<C> commandContext,
92+
final @NonNull CommandInput input) {
9293
return Bukkit.getWorlds().stream().map(World::getName).collect(Collectors.toList());
9394
}
9495

0 commit comments

Comments
 (0)