1 package com.supwisdom.multitenant.impl;
3 import com.supwisdom.multitenant.TenantContext;
4 import com.supwisdom.multitenant.TenantContextHolderStrategy;
6 public class ThreadLocalTenantContextHolderStrategy implements TenantContextHolderStrategy {
7 private static final ThreadLocal<TenantContext> contextHolder = new ThreadLocal<>();
10 public TenantContext getContext() {
11 TenantContext context = contextHolder.get();
12 if (context == null) {
13 context = createEmptyContext();
14 contextHolder.set(context);
20 public void setContext(TenantContext tenant) {
21 contextHolder.set(tenant);
25 public void clearContext() {
26 contextHolder.remove();
30 public TenantContext createEmptyContext() {
31 return new TenantContextImpl();