Added Data#hasKey and Data#getKeys

This commit is contained in:
Felix Cravic 2020-05-16 21:57:46 +02:00
parent 155efc0cff
commit fa4b083ab8

View File

@ -1,5 +1,7 @@
package net.minestom.server.data; package net.minestom.server.data;
import java.util.Collections;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
public class Data { public class Data {
@ -18,6 +20,21 @@ public class Data {
return (T) data.getOrDefault(key, defaultValue); return (T) data.getOrDefault(key, defaultValue);
} }
/**
* @param key
* @return true if the data contains the key, false otherwise
*/
public boolean hasKey(String key) {
return data.containsKey(key);
}
/**
* @return an unmodifiable set containing all keys
*/
public Set<String> getKeys() {
return Collections.unmodifiableSet(data.keySet());
}
public Data clone() { public Data clone() {
Data data = new Data(); Data data = new Data();
data.data = new ConcurrentHashMap<>(this.data); data.data = new ConcurrentHashMap<>(this.data);