/** * Shortcut method to obtain the ClassLoader-bound context scope, i.e. the default {@link ContextScope} named * {@link #CLASSLOADER_SCOPE_NAME}, using the default {@link ClassLoader}. * @return The ClassLoader-bound context scope, or an empty Optional if scope is not registered */ default Optional<ContextScope> classLoaderScope() { return classLoaderScope(null); }
public void gsonResource() { // tag::jaxrsor2[] GsonBuilder builder = GsonConfiguration.builder(); // additional GsonBuilder configuration // ... final Gson gson = builder.create(); Context.get().classLoaderScope().map(s -> s.put(Gson.class.getName(), gson)); // <1> // end::jaxrsor2[] }
public void objectMapperResource() { // tag::jaxrsor2[] final ObjectMapper mapper = JacksonConfiguration.mapper(); // additional ObjectMapper configuration // ... Context.get().classLoaderScope().map(s -> s.put(ObjectMapper.class.getName(), mapper)); // <1> // end::jaxrsor2[] }
public void defaultContextScopes() { ClassLoader aClassLoader = ClassLoader.getSystemClassLoader(); Object resourceInstance = new String(); // tag::dftscopes[] Optional<ContextScope> scope = Context.get().classLoaderScope(); // <1> scope = Context.get().classLoaderScope(aClassLoader); // <2> Optional<ContextScope> threadScope = Context.get().threadScope(); // <3> threadScope = Context.get().threadScope(aClassLoader); // <4> // end::dftscopes[] }
public void context() { // tag::context[] final Realm realm = Realm.builder().build(); Context.get().classLoaderScope().map(scope -> scope.put(Realm.CONTEXT_KEY, realm)); // <1> Optional<Realm> currentRealm = Realm.getCurrent(); // <2> Realm requiredRealm = Realm.require(); // <3> // end::context[] }
@SuppressWarnings("unused") public void context() { // tag::context[] final AuthContext authContext = AuthContext.create(getRealm()); Context.get().classLoaderScope().map(scope -> scope.put(AuthContext.CONTEXT_KEY, authContext)); // <1> Optional<AuthContext> currentAuthContext = AuthContext.getCurrent(); // <2> AuthContext requiredAuthContext = AuthContext.require(); // <3> // end::context[] }
public void contextResourceRealm() { // tag::realm2[] Context.get().classLoaderScope() // <1> .map(s -> s.put(Realm.CONTEXT_KEY, Realm.builder().withResolver(AuthenticationToken.httpBasicResolver()) .withAuthenticator(Account.authenticator(getAccountProvider())).withDefaultAuthorizer() .build())); // end::realm2[] }