[ci skip]refactor: rename some Class name

This commit is contained in:
Helvetica Volubi
2025-05-20 18:24:08 +08:00
parent 92928ee93d
commit e84a8a5c18
4 changed files with 15 additions and 15 deletions

View File

@@ -1,9 +1,9 @@
--- /dev/null
+++ b/src/main/java/me/earthme/luminol/config/DefaultTransferLogic.java
+++ b/src/main/java/me/earthme/luminol/config/DefaultTransformLogic.java
@@ -1,0 +_,7 @@
+package me.earthme.luminol.config;
+
+public class DefaultTransferLogic {
+public class DefaultTransformLogic {
+ public Object transform(Object obj) {
+ return obj;
+ }

View File

@@ -131,24 +131,24 @@
+ boolean removed = fullConfigKeyName.equals("removed.removed_config.removed");
+
+ if (!configFileInstance.contains(fullConfigKeyName) || removed) {
+ for (TransferringConfig transferringConfig : field.getAnnotationsByType(TransferringConfig.class)) {
+ final String oldConfigKeyName = String.join(".", transferringConfig.category()) + "." + transferringConfig.name();
+ for (TransformedConfig transformedConfig : field.getAnnotationsByType(TransformedConfig.class)) {
+ final String oldConfigKeyName = String.join(".", transformedConfig.category()) + "." + transformedConfig.name();
+ Object oldValue = configFileInstance.get(oldConfigKeyName);
+ if (oldValue != null) {
+ boolean success = true;
+ if (transferringConfig.transfer() && !removed) {
+ if (transformedConfig.transform() && !removed) {
+ try {
+ for (Class<? extends DefaultTransferLogic> logic : transferringConfig.transferLogic()) {
+ for (Class<? extends DefaultTransformLogic> logic : transformedConfig.transformLogic()) {
+ oldValue = logic.getDeclaredConstructor().newInstance().transform(oldValue);
+ }
+ configFileInstance.add(fullConfigKeyName, oldValue);
+ } catch (Exception e) {
+ success = false;
+ logger.error("Failed to transfer removed config {}!", transferringConfig.name());
+ logger.error("Failed to transform removed config {}!", transformedConfig.name());
+ }
+ }
+
+ if (success) removeConfig(oldConfigKeyName, transferringConfig.category());
+ if (success) removeConfig(oldConfigKeyName, transformedConfig.category());
+ final String comments = configInfo.comments();
+
+ if (!comments.isBlank()) configFileInstance.setComment(fullConfigKeyName, comments);

View File

@@ -1,5 +1,5 @@
--- /dev/null
+++ b/src/main/java/me/earthme/luminol/config/TransferringConfig.java
+++ b/src/main/java/me/earthme/luminol/config/TransformedConfig.java
@@ -1,0 +_,22 @@
+package me.earthme.luminol.config;
+
@@ -8,18 +8,18 @@
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Repeatable(TransferringConfig.List.class)
+public @interface TransferringConfig {
+@Repeatable(TransformedConfig.List.class)
+public @interface TransformedConfig {
+ String name() default "";
+
+ String[] category() default "";
+
+ boolean transfer() default true;
+ boolean transform() default true;
+
+ Class<? extends DefaultTransferLogic>[] transferLogic() default {DefaultTransferLogic.class};
+ Class<? extends DefaultTransformLogic>[] transformLogic() default {DefaultTransformLogic.class};
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @interface List {
+ TransferringConfig[] value();
+ TransformedConfig[] value();
+ }
+}

View File

@@ -6,7 +6,7 @@
+import me.earthme.luminol.config.*;
+
+public class RemovedConfig implements IConfigModule {
+ @TransferringConfig(name = "example", category = {"removed", "example"}, transfer = false)
+ @TransformedConfig(name = "example", category = {"removed", "example"}, transform = false)
+ @DoNotLoad
+ @ConfigInfo(baseName = "removed", comments =
+ """