package pt.ist.expenditureTrackingSystem.presentationTier;
public class Context {
private static final InheritableThreadLocal<Context> contextVar = new InheritableThreadLocal<Context>();
public static Context getContext() {
return contextVar.get();
}
public static void setContext(final Context context) {
contextVar.set(context);
}
public static boolean isPresent(final String module) {
final Context context = getContext();
return context != null && context.contains(module);
}
private final String module;
public Context(final String module) {
this.module = module;
}
public void setAsActive() {
setContext(this);
}
public String getModule() {
return module;
}
public boolean contains(final String module) {
return this.module == module || (this.module != null && this.module.equals(module));
}
}