Permissions and filesystems #9

Merged
TopchetoEU merged 36 commits from TopchetoEU/perms-and-fs into master 2023-11-25 18:10:59 +00:00
Showing only changes of commit 1666682dc2 - Show all commits

View File

@ -5,7 +5,6 @@ import java.util.Map;
@SuppressWarnings("unchecked")
public class Data {
public final Data parent;
private HashMap<DataKey<Object>, Object> data = new HashMap<>();
public Data copy() {
@ -33,19 +32,12 @@ public class Data {
return this;
}
public <T> T get(DataKey<T> key, T val) {
for (var it = this; it != null; it = it.parent) {
if (it.data.containsKey(key)) {
return (T)it.data.get((DataKey<Object>)key);
}
}
if (data.containsKey(key)) return (T)data.get((DataKey<Object>)key);
set(key, val);
return val;
}
public <T> T get(DataKey<T> key) {
for (var it = this; it != null; it = it.parent) {
if (it.data.containsKey(key)) return (T)it.data.get((DataKey<Object>)key);
}
if (data.containsKey(key)) return (T)data.get((DataKey<Object>)key);
return null;
}
public boolean has(DataKey<?> key) { return data.containsKey(key); }
@ -61,11 +53,4 @@ public class Data {
public int increase(DataKey<Integer> key) {
return increase(key, 1, 0);
}
public Data() {
this.parent = null;
}
public Data(Data parent) {
this.parent = parent;
}
}