All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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