From 78f81416c3c6b3be8c8c3badb8724e138e522b8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E9=98=B3?= Date: Sat, 27 Nov 2021 23:21:30 +0800 Subject: [PATCH] fix --- .../DefaultExtensionHandlerFactoryImpl.java | 8 ++++---- .../shiro/extension/IExtensionHandlerFactory.java | 13 ++++++++++++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/anyin/gitee/shiro/extension/DefaultExtensionHandlerFactoryImpl.java b/src/main/java/org/anyin/gitee/shiro/extension/DefaultExtensionHandlerFactoryImpl.java index e22e585..4c1f5a1 100644 --- a/src/main/java/org/anyin/gitee/shiro/extension/DefaultExtensionHandlerFactoryImpl.java +++ b/src/main/java/org/anyin/gitee/shiro/extension/DefaultExtensionHandlerFactoryImpl.java @@ -31,10 +31,10 @@ public class DefaultExtensionHandlerFactoryImpl implements IExtensionHandlerFact ExtensionCacheKey cacheKey = new ExtensionCacheKey(extension, type); IExtensionHandler result = this.serviceCache.get(cacheKey); if (result == null) { - List payPlatformAbles = serviceListCache.getOrDefault(extension, Collections.synchronizedList(Collections.emptyList())); - for (IExtensionHandler payPlatformAble : payPlatformAbles) { - if (type.isAssignableFrom(payPlatformAble.getClass())) { - result = payPlatformAble; + List extensionHandlers = serviceListCache.getOrDefault(extension, Collections.synchronizedList(Collections.emptyList())); + for (IExtensionHandler extensionHandler : extensionHandlers) { + if (type.isAssignableFrom(extensionHandler.getClass())) { + result = extensionHandler; serviceCache.put(cacheKey, result); break; } diff --git a/src/main/java/org/anyin/gitee/shiro/extension/IExtensionHandlerFactory.java b/src/main/java/org/anyin/gitee/shiro/extension/IExtensionHandlerFactory.java index 0caf9aa..8712367 100644 --- a/src/main/java/org/anyin/gitee/shiro/extension/IExtensionHandlerFactory.java +++ b/src/main/java/org/anyin/gitee/shiro/extension/IExtensionHandlerFactory.java @@ -1,8 +1,19 @@ package org.anyin.gitee.shiro.extension; public interface IExtensionHandlerFactory { - + /** + * 添加扩展处理器 + * @param extensionHandler 处理器 + * @param 扩展点 + */ >void addExtensionHandler(IExtensionHandler extensionHandler); + /** + * 获取扩展点处理器 + * @param extension 扩展点 + * @param type 处理器类型 + * @param 扩展处理器 + * @param 扩展点 + */ ,Y extends Enum> T getExtensionHandler(Y extension, Class type); }