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); }