final class Framework {
private static final ScopedValue<User> USER = ScopedValue.newInstance();
static void serve(Request request) {
User user = authenticate(request);
ScopedValue.where(USER, user).run(() -> handle(request));
}
static User currentUser() {
return USER.get();
}
}
# [JEP 506](https://openjdk.org/jeps/506) examples
Source: https://openjdk.org/jeps/506
```java
final class Framework {
private static final ScopedValue<User> USER = ScopedValue.newInstance();
static void serve(Request request) {
User user = authenticate(request);
ScopedValue.where(USER, user).run(() -> handle(request));
}
static User currentUser() {
return USER.get();
}
}
```