diff --git a/api/src/main/java/run/halo/app/plugin/SettingFetcher.java b/api/src/main/java/run/halo/app/plugin/SettingFetcher.java index 5d504477f..79374a465 100644 --- a/api/src/main/java/run/halo/app/plugin/SettingFetcher.java +++ b/api/src/main/java/run/halo/app/plugin/SettingFetcher.java @@ -4,12 +4,17 @@ import com.fasterxml.jackson.databind.JsonNode; import java.util.Map; import java.util.Optional; -public interface SettingFetcher { +/** + * SettingFetcher must be a class instead of an interface due to backward compatibility. + * + * @author johnniang + */ +public abstract class SettingFetcher { - Optional fetch(String group, Class clazz); + public abstract Optional fetch(String group, Class clazz); - JsonNode get(String group); + public abstract JsonNode get(String group); - Map getValues(); + public abstract Map getValues(); } diff --git a/application/src/main/java/run/halo/app/plugin/DefaultSettingFetcher.java b/application/src/main/java/run/halo/app/plugin/DefaultSettingFetcher.java index 633f23ff9..0437acdce 100644 --- a/application/src/main/java/run/halo/app/plugin/DefaultSettingFetcher.java +++ b/application/src/main/java/run/halo/app/plugin/DefaultSettingFetcher.java @@ -21,7 +21,7 @@ import run.halo.app.infra.utils.JsonUtils; * @author guqing * @since 2.0.0 */ -public class DefaultSettingFetcher implements SettingFetcher { +public class DefaultSettingFetcher extends SettingFetcher { private final ExtensionClient extensionClient;