mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2025-01-10 10:17:41 +01:00
Use Option instead of Optional in NodeGroup.
This commit is contained in:
parent
a19fe76cbc
commit
63078270bf
@ -23,6 +23,7 @@ import com.onarandombox.MultiverseCore.display.filters.ContentFilter;
|
||||
import com.onarandombox.MultiverseCore.display.filters.DefaultContentFilter;
|
||||
import com.onarandombox.MultiverseCore.display.filters.RegexContentFilter;
|
||||
import com.onarandombox.MultiverseCore.utils.PlayerFinder;
|
||||
import io.vavr.control.Option;
|
||||
import jakarta.inject.Inject;
|
||||
import org.bukkit.GameRule;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -123,7 +124,7 @@ public class MVCommandContexts extends PaperCommandContexts {
|
||||
if (Strings.isNullOrEmpty(configName)) {
|
||||
throw new InvalidCommandArgument("No config name specified.");
|
||||
}
|
||||
Optional<Node> node = config.getNodes().findNode(configName);
|
||||
Option<Node> node = config.getNodes().findNode(configName);
|
||||
if (node.isEmpty()) {
|
||||
throw new InvalidCommandArgument("The config " + configName + " is not valid.");
|
||||
}
|
||||
|
@ -127,8 +127,8 @@ abstract class FileConfigHandle<C extends FileConfiguration> {
|
||||
*/
|
||||
public Try<Object> get(@Nullable String name) {
|
||||
return nodes.findNode(name, ValueNode.class)
|
||||
.map(node -> Try.of(() -> get(node)))
|
||||
.orElse(Try.failure(new Exception("Node not found")));
|
||||
.map(node -> get((ValueNode<Object>) node))
|
||||
.toTry(() -> new Exception("Node not found"));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -150,8 +150,8 @@ abstract class FileConfigHandle<C extends FileConfiguration> {
|
||||
*/
|
||||
public Try<Boolean> set(@Nullable String name, Object value) {
|
||||
return nodes.findNode(name, ValueNode.class)
|
||||
.map(node -> (Try<Boolean>) set(node, value))
|
||||
.orElse(Try.failure(new Exception("Node not found")));
|
||||
.toTry(() -> new Exception("Node not found"))
|
||||
.flatMap(node -> set(node, value));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -5,9 +5,9 @@ import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import io.github.townyadvanced.commentedconfiguration.setting.CommentedNode;
|
||||
import io.vavr.control.Option;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
@ -53,10 +53,10 @@ public class NodeGroup implements Collection<Node> {
|
||||
* Gets the node with the given name.
|
||||
*
|
||||
* @param name The name of the node to get.
|
||||
* @return The node with the given name, or {@link Optional#empty()} if no node with the given name exists.
|
||||
* @return The node with the given name, or {@link Option.None} if no node with the given name exists.
|
||||
*/
|
||||
public Optional<Node> findNode(String name) {
|
||||
return Optional.ofNullable(nodesMap.get(name));
|
||||
public Option<Node> findNode(String name) {
|
||||
return Option.of(nodesMap.get(name));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -64,11 +64,10 @@ public class NodeGroup implements Collection<Node> {
|
||||
*
|
||||
* @param name The name of the node to get.
|
||||
* @param type The type of the node to get.
|
||||
* @return The node with the given name, or {@link Optional#empty()} if no node with the given name exists.
|
||||
* @return The node with the given name, or {@link Option.None} if no node with the given name exists.
|
||||
*/
|
||||
public <T extends Node> Optional<T> findNode(String name, Class<T> type) {
|
||||
return Optional.ofNullable(nodesMap.get(name))
|
||||
.map(node -> type.isAssignableFrom(node.getClass()) ? (T) node : null);
|
||||
public <T extends Node> Option<T> findNode(String name, Class<T> type) {
|
||||
return Option.of(nodesMap.get(name)).map(node -> type.isAssignableFrom(node.getClass()) ? (T) node : null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user