Principal
static final ThreadLocal<User>
current
default <T> T
apply(Callable<T> f)
static <U extends User>U
getCurrent()
boolean
hasRole(String role)
default void
run(ThrowingRunnable f)
equals, getName, hashCode, implies, toString