From d2c2bfbab2d03a417cbd13dbe92113e157231e56 Mon Sep 17 00:00:00 2001 From: JOO200 Date: Sat, 10 Apr 2021 19:58:39 +0200 Subject: [PATCH] Deprecate flags (replaced by RegistryFlag), added some null checks (#1747) --- .../sk89q/worldguard/protection/flags/EntityTypeFlag.java | 2 ++ .../sk89q/worldguard/protection/flags/GameModeTypeFlag.java | 5 +++++ .../java/com/sk89q/worldguard/protection/flags/MapFlag.java | 6 ++++++ .../com/sk89q/worldguard/protection/flags/RegistryFlag.java | 4 ++++ .../java/com/sk89q/worldguard/protection/flags/SetFlag.java | 4 ++++ .../sk89q/worldguard/protection/flags/WeatherTypeFlag.java | 5 +++++ 6 files changed, 26 insertions(+) diff --git a/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/EntityTypeFlag.java b/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/EntityTypeFlag.java index 4a9b31690..67be8c8cc 100644 --- a/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/EntityTypeFlag.java +++ b/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/EntityTypeFlag.java @@ -26,7 +26,9 @@ /** * Stores an entity type. + * @deprecated replaced by {@link RegistryFlag}, will be removed in WorldGuard 8 */ +@Deprecated public class EntityTypeFlag extends Flag { protected EntityTypeFlag(String name, @Nullable RegionGroup defaultGroup) { diff --git a/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/GameModeTypeFlag.java b/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/GameModeTypeFlag.java index 183403495..3b8db1e0c 100644 --- a/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/GameModeTypeFlag.java +++ b/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/GameModeTypeFlag.java @@ -24,6 +24,11 @@ import javax.annotation.Nullable; +/** + * Stores an gamemode type. + * @deprecated replaced by {@link RegistryFlag}, will be removed in WorldGuard 8 + */ +@Deprecated public class GameModeTypeFlag extends Flag { protected GameModeTypeFlag(String name, @Nullable RegionGroup defaultGroup) { diff --git a/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/MapFlag.java b/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/MapFlag.java index 5b821bc10..4472b95ef 100644 --- a/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/MapFlag.java +++ b/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/MapFlag.java @@ -25,6 +25,8 @@ import java.util.Map; import java.util.Map.Entry; +import static java.util.Objects.requireNonNull; + /** * Stores a key value map of typed {@link Flag}s. */ @@ -35,12 +37,16 @@ public class MapFlag extends Flag> { public MapFlag(final String name, final Flag keyFlag, final Flag valueFlag) { super(name); + requireNonNull(keyFlag, "keyFlag cannot be null."); + requireNonNull(valueFlag, "valueFlag cannot be null."); this.keyFlag = keyFlag; this.valueFlag = valueFlag; } public MapFlag(final String name, @Nullable final RegionGroup defaultGroup, final Flag keyFlag, final Flag valueFlag) { super(name, defaultGroup); + requireNonNull(keyFlag, "keyFlag cannot be null."); + requireNonNull(valueFlag, "valueFlag cannot be null."); this.keyFlag = keyFlag; this.valueFlag = valueFlag; } diff --git a/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/RegistryFlag.java b/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/RegistryFlag.java index 3c3534240..cb7bf057d 100644 --- a/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/RegistryFlag.java +++ b/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/RegistryFlag.java @@ -26,16 +26,20 @@ import java.util.Locale; import java.util.Optional; +import static java.util.Objects.requireNonNull; + public class RegistryFlag extends Flag { private final Registry registry; public RegistryFlag(String name, Registry registry) { super(name); + requireNonNull(registry, "registry cannot be null."); this.registry = registry; } public RegistryFlag(String name, @Nullable RegionGroup defaultGroup, Registry registry) { super(name, defaultGroup); + requireNonNull(registry, "registry cannot be null."); this.registry = registry; } diff --git a/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/SetFlag.java b/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/SetFlag.java index 408420ec1..e850e3955 100644 --- a/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/SetFlag.java +++ b/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/SetFlag.java @@ -27,6 +27,8 @@ import java.util.List; import java.util.Set; +import static java.util.Objects.requireNonNull; + /** * Stores a set of types. */ @@ -36,11 +38,13 @@ public class SetFlag extends Flag> { public SetFlag(String name, RegionGroup defaultGroup, Flag subFlag) { super(name, defaultGroup); + requireNonNull(subFlag, "SubFlag cannot be null."); this.subFlag = subFlag; } public SetFlag(String name, Flag subFlag) { super(name); + requireNonNull(subFlag, "SubFlag cannot be null."); this.subFlag = subFlag; } diff --git a/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/WeatherTypeFlag.java b/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/WeatherTypeFlag.java index 832fa1789..c103baf1a 100644 --- a/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/WeatherTypeFlag.java +++ b/worldguard-core/src/main/java/com/sk89q/worldguard/protection/flags/WeatherTypeFlag.java @@ -24,6 +24,11 @@ import javax.annotation.Nullable; +/** + * Stores an weather type. + * @deprecated replaced by {@link RegistryFlag}, will be removed in WorldGuard 8 + */ +@Deprecated public class WeatherTypeFlag extends Flag { protected WeatherTypeFlag(String name, @Nullable RegionGroup defaultGroup) {