From c657a4f9f40e4a8354b99c49be64beb5dfefa43c Mon Sep 17 00:00:00 2001 From: Looly Date: Sat, 10 Aug 2024 12:06:43 +0800 Subject: [PATCH] add AbstractClientEngine --- .../client/engine/AbstractClientEngine.java | 47 +++++++++++++++++++ .../json/engine/AbstractJSONEngine.java | 9 +++- 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 hutool-http/src/main/java/org/dromara/hutool/http/client/engine/AbstractClientEngine.java diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/AbstractClientEngine.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/AbstractClientEngine.java new file mode 100644 index 000000000..858739c9f --- /dev/null +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/engine/AbstractClientEngine.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2024. looly(loolly@aliyun.com) + * Hutool is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * https://license.coscl.org.cn/MulanPSL2 + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + */ + +package org.dromara.hutool.http.client.engine; + +import org.dromara.hutool.http.client.ClientConfig; + +/** + * 客户端引擎抽象类,用于保存配置和定义初始化,并提供: + * + * + * @author Looly + * @since 6.0.0 + */ +public abstract class AbstractClientEngine implements ClientEngine{ + + protected ClientConfig config; + + @Override + public ClientEngine init(final ClientConfig config) { + this.config = config; + reset(); + return this; + } + + /** + * 重置引擎 + */ + protected abstract void reset(); + + /** + * 初始化引擎,实现逻辑中如果初始化完成,不再重新初始化 + */ + protected abstract void initEngine(); +} diff --git a/hutool-json/src/main/java/org/dromara/hutool/json/engine/AbstractJSONEngine.java b/hutool-json/src/main/java/org/dromara/hutool/json/engine/AbstractJSONEngine.java index 51be6adeb..ff9153d82 100644 --- a/hutool-json/src/main/java/org/dromara/hutool/json/engine/AbstractJSONEngine.java +++ b/hutool-json/src/main/java/org/dromara/hutool/json/engine/AbstractJSONEngine.java @@ -13,7 +13,14 @@ package org.dromara.hutool.json.engine; /** - * JSONEngine抽象实现, + * JSONEngine抽象类,用于保存配置和定义初始化,并提供: + * + * + * @author Looly + * @since 6.0.0 */ public abstract class AbstractJSONEngine implements JSONEngine {