
org.onetwo.boot.plugin.mvc.PluginContextHolder Maven / Gradle / Ivy
package org.onetwo.boot.plugin.mvc;
import java.util.Optional;
import org.onetwo.boot.plugin.core.WebPlugin;
import org.springframework.core.NamedThreadLocal;
import org.springframework.web.method.HandlerMethod;
public class PluginContextHolder {
private static final ThreadLocal pluginContextHolder = new NamedThreadLocal<>("plugin context");
public static void set(Optional webPlugin, HandlerMethod handlerMethod){
if(webPlugin.isPresent()){
PluginThreadContext context = new PluginThreadContext(webPlugin.get(), handlerMethod);
pluginContextHolder.set(context);
}else{
reset();
}
}
public static Optional get(){
return Optional.ofNullable(pluginContextHolder.get());
}
public static void reset(){
pluginContextHolder.remove();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy