mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-01-10 12:33:21 +08:00
Update Utils.java
This commit is contained in:
parent
0d7f58fc25
commit
aa292b1fef
@ -5,6 +5,8 @@ import java.nio.file.Files;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
import java.time.*;
|
||||
import java.time.temporal.TemporalAdjusters;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Random;
|
||||
|
||||
import emu.grasscutter.Config;
|
||||
@ -260,4 +262,41 @@ public final class Utils {
|
||||
Grasscutter.getLogger().warn("Failed to read from input stream.");
|
||||
} return stringBuilder.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Switch properties from upper case to lower case?
|
||||
*/
|
||||
public static Map<String, Object> switchPropertiesUpperLowerCase(Map<String, Object> objMap, Class<?> cls) {
|
||||
Map<String, Object> map = new HashMap<>(objMap.size());
|
||||
for (String key : objMap.keySet()) {
|
||||
try {
|
||||
char c = key.charAt(0);
|
||||
if (c >= 'a' && c <= 'z') {
|
||||
try {
|
||||
cls.getDeclaredField(key);
|
||||
map.put(key, objMap.get(key));
|
||||
} catch (NoSuchFieldException e) {
|
||||
String s1 = String.valueOf(c).toUpperCase();
|
||||
String after = key.length() > 1 ? s1 + key.substring(1) : s1;
|
||||
cls.getDeclaredField(after);
|
||||
map.put(after, objMap.get(key));
|
||||
}
|
||||
} else if (c >= 'A' && c <= 'Z') {
|
||||
try {
|
||||
cls.getDeclaredField(key);
|
||||
map.put(key, objMap.get(key));
|
||||
} catch (NoSuchFieldException e) {
|
||||
String s1 = String.valueOf(c).toLowerCase();
|
||||
String after = key.length() > 1 ? s1 + key.substring(1) : s1;
|
||||
cls.getDeclaredField(after);
|
||||
map.put(after, objMap.get(key));
|
||||
}
|
||||
}
|
||||
} catch (NoSuchFieldException e) {
|
||||
map.put(key, objMap.get(key));
|
||||
}
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user