package fr.mcc.ginco.audit.utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Audit context */ public final class AuditContext { private static Logger logger = LoggerFactory.getLogger(AuditContext.class); private static final ThreadLocal<Boolean> CONTEXT = new ThreadLocal<Boolean>(); /** * Hide public constructor to force usage of static methods. */ private AuditContext() { } /** * Enables audit */ public static void enableAudit() { CONTEXT.set(true); logger.info("Audit is enabled"); } /** * Disables audit */ public static void disableAudit() { CONTEXT.set(false); logger.info("Audit is disabled"); } /** * Gets audit status * * @return */ public static Boolean getAuditStatus() { if (CONTEXT.get() == null) { return true; } else { return CONTEXT.get(); } } }