1 package com.atlassian.sal.core.executor;
2
3 import java.util.concurrent.Executor;
4
5
6
7
8 class ThreadLocalDelegateExecutor implements Executor
9 {
10 private final Executor delegate;
11 protected final ThreadLocalContextManager manager;
12
13 ThreadLocalDelegateExecutor(ThreadLocalContextManager manager, Executor delegate)
14 {
15 this.delegate = delegate;
16 this.manager = manager;
17 }
18
19 public void execute(Runnable runnable)
20 {
21 Runnable wrapper = new ThreadLocalDelegateRunnable(manager, runnable);
22
23 delegate.execute(wrapper);
24 }
25 }