Deprecate flags (replaced by RegistryFlag), added some null checks (#1747)

This commit is contained in:
JOO200 2021-04-10 19:58:39 +02:00 committed by GitHub
parent 528ba32a93
commit d2c2bfbab2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 26 additions and 0 deletions

View File

@ -26,7 +26,9 @@ import javax.annotation.Nullable;
/**
* Stores an entity type.
* @deprecated replaced by {@link RegistryFlag<EntityType>}, will be removed in WorldGuard 8
*/
@Deprecated
public class EntityTypeFlag extends Flag<EntityType> {
protected EntityTypeFlag(String name, @Nullable RegionGroup defaultGroup) {

View File

@ -24,6 +24,11 @@ import com.sk89q.worldedit.world.gamemode.GameModes;
import javax.annotation.Nullable;
/**
* Stores an gamemode type.
* @deprecated replaced by {@link RegistryFlag<GameMode>}, will be removed in WorldGuard 8
*/
@Deprecated
public class GameModeTypeFlag extends Flag<GameMode> {
protected GameModeTypeFlag(String name, @Nullable RegionGroup defaultGroup) {

View File

@ -25,6 +25,8 @@ import javax.annotation.Nullable;
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<K, V> extends Flag<Map<K, V>> {
public MapFlag(final String name, final Flag<K> keyFlag, final Flag<V> 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<K> keyFlag, final Flag<V> valueFlag) {
super(name, defaultGroup);
requireNonNull(keyFlag, "keyFlag cannot be null.");
requireNonNull(valueFlag, "valueFlag cannot be null.");
this.keyFlag = keyFlag;
this.valueFlag = valueFlag;
}

View File

@ -26,16 +26,20 @@ import javax.annotation.Nullable;
import java.util.Locale;
import java.util.Optional;
import static java.util.Objects.requireNonNull;
public class RegistryFlag<T extends Keyed> extends Flag<T> {
private final Registry<T> registry;
public RegistryFlag(String name, Registry<T> registry) {
super(name);
requireNonNull(registry, "registry cannot be null.");
this.registry = registry;
}
public RegistryFlag(String name, @Nullable RegionGroup defaultGroup, Registry<T> registry) {
super(name, defaultGroup);
requireNonNull(registry, "registry cannot be null.");
this.registry = registry;
}

View File

@ -27,6 +27,8 @@ import java.util.HashSet;
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<T> extends Flag<Set<T>> {
public SetFlag(String name, RegionGroup defaultGroup, Flag<T> subFlag) {
super(name, defaultGroup);
requireNonNull(subFlag, "SubFlag cannot be null.");
this.subFlag = subFlag;
}
public SetFlag(String name, Flag<T> subFlag) {
super(name);
requireNonNull(subFlag, "SubFlag cannot be null.");
this.subFlag = subFlag;
}

View File

@ -24,6 +24,11 @@ import com.sk89q.worldedit.world.weather.WeatherTypes;
import javax.annotation.Nullable;
/**
* Stores an weather type.
* @deprecated replaced by {@link RegistryFlag<WeatherType>}, will be removed in WorldGuard 8
*/
@Deprecated
public class WeatherTypeFlag extends Flag<WeatherType> {
protected WeatherTypeFlag(String name, @Nullable RegionGroup defaultGroup) {