1 package com.atlassian.vcache.internal.core;
2
3 import com.atlassian.vcache.internal.RequestContext;
4 import com.atlassian.workcontext.api.ImmutableWorkContextReference;
5
6 import java.util.function.Supplier;
7
8 import static java.util.Objects.requireNonNull;
9
10
11
12
13
14
15
16 public class WorkContextRequestContextSupplier implements Supplier<RequestContext> {
17 private ImmutableWorkContextReference<RequestContext> requestContextSupplier;
18
19
20
21
22
23
24 public WorkContextRequestContextSupplier(Supplier<String> partitionIdentifier) {
25 requireNonNull(partitionIdentifier);
26 this.requestContextSupplier = new ImmutableWorkContextReference<>(() -> new DefaultRequestContext(partitionIdentifier.get()));
27 }
28
29 @Override
30 public RequestContext get() {
31 return requestContextSupplier.get();
32 }
33 }