package rocks.inspectit.agent.java; import org.springframework.stereotype.Component; /** * Basic implementation of the {@link IThreadTransformHelper} that uses thread local. * * @author Ivan Senic * */ @Component public class ThreadLocalTransformHelper implements IThreadTransformHelper { /** * Thread local to control the instrumentation transform disabled states for threads. */ private ThreadLocal<Boolean> transformDisabledThreadLocal = new ThreadLocal<Boolean>() { @Override protected Boolean initialValue() { return Boolean.FALSE; }; }; /** * {@inheritDoc} */ @Override public boolean isThreadTransformDisabled() { return transformDisabledThreadLocal.get(); } /** * {@inheritDoc} */ @Override public void setThreadTransformDisabled(boolean disabled) { transformDisabledThreadLocal.set(Boolean.valueOf(disabled)); } }