/** * Get a new reference for to currently running request scope context. This call * prevents automatic {@link RequestContext#release() release} of the scope * context once the task that runs in the scope has finished. * <p> * The returned scope context may be used to run additional task(s) in the * same request scope using one of the {@code #runInScope(RequestContext, ...)} methods. * </p> * <p> * Note that the returned context must be {@link RequestContext#release() * released} manually once not needed anymore to prevent memory leaks. * </p> * * @return currently active {@link RequestContext request scope context}. * @throws IllegalStateException in case there is no active request scope associated * with the current thread or if the request scope has * been already shut down. * @see #suspendCurrent() */ public RequestContext referenceCurrent() throws IllegalStateException { return current().getReference(); }
/** * Get a new reference for to currently running request scope context. This call * prevents automatic {@link RequestContext#release() release} of the scope * context once the task that runs in the scope has finished. * <p> * The returned scope context may be used to run additional task(s) in the * same request scope using one of the {@code #runInScope(RequestContext, ...)} methods. * </p> * <p> * Note that the returned context must be {@link RequestContext#release() * released} manually once not needed anymore to prevent memory leaks. * </p> * * @return currently active {@link RequestContext request scope context}. * @throws IllegalStateException in case there is no active request scope associated * with the current thread or if the request scope has * been already shut down. * @see #suspendCurrent() */ public RequestContext referenceCurrent() throws IllegalStateException { return current().getReference(); }
@Override public boolean containsKey(ActiveDescriptor<?> descriptor) { Hk2RequestScope.Instance instance = (Hk2RequestScope.Instance) requestScope.current(); return instance.contains(ForeignDescriptor.wrap(descriptor)); }
@Override public boolean containsKey(ActiveDescriptor<?> descriptor) { Hk2RequestScope.Instance instance = (Hk2RequestScope.Instance) requestScope.current(); return instance.contains(ForeignDescriptor.wrap(descriptor)); }
@Override public void destroyOne(ActiveDescriptor<?> descriptor) { Hk2RequestScope.Instance instance = (Hk2RequestScope.Instance) requestScope.current(); instance.remove(ForeignDescriptor.wrap(descriptor)); }
@Override public void destroyOne(ActiveDescriptor<?> descriptor) { Hk2RequestScope.Instance instance = (Hk2RequestScope.Instance) requestScope.current(); instance.remove(ForeignDescriptor.wrap(descriptor)); }
@Override public <U> U findOrCreate(ActiveDescriptor<U> activeDescriptor, ServiceHandle<?> root) { Hk2RequestScope.Instance instance = (Hk2RequestScope.Instance) requestScope.current(); U retVal = instance.get(ForeignDescriptor.wrap(activeDescriptor)); if (retVal == null) { retVal = activeDescriptor.create(root); instance.put(ForeignDescriptor.wrap(activeDescriptor, obj -> activeDescriptor.dispose((U) obj)), retVal); } return retVal; }
@Override public <U> U findOrCreate(ActiveDescriptor<U> activeDescriptor, ServiceHandle<?> root) { Hk2RequestScope.Instance instance = (Hk2RequestScope.Instance) requestScope.current(); U retVal = instance.get(ForeignDescriptor.wrap(activeDescriptor)); if (retVal == null) { retVal = activeDescriptor.create(root); instance.put(ForeignDescriptor.wrap(activeDescriptor, obj -> activeDescriptor.dispose((U) obj)), retVal); } return retVal; }
@Override public boolean containsKey(ActiveDescriptor<?> descriptor) { final Instance instance = current(); return instance.contains(descriptor); }
@Override public void destroyOne(ActiveDescriptor<?> descriptor) { final Instance instance = current(); instance.remove(descriptor); }
@Override public void destroyOne(ActiveDescriptor<?> descriptor) { final Instance instance = current(); instance.remove(descriptor); }
@Override public void destroyOne(ActiveDescriptor<?> descriptor) { final Instance instance = current(); instance.remove(descriptor); }
@Override public boolean containsKey(ActiveDescriptor<?> descriptor) { Hk2RequestScope.Instance instance = (Hk2RequestScope.Instance) requestScope.current(); return instance.contains(ForeignDescriptor.wrap(descriptor)); }
@Override public void destroyOne(ActiveDescriptor<?> descriptor) { Hk2RequestScope.Instance instance = (Hk2RequestScope.Instance) requestScope.current(); instance.remove(ForeignDescriptor.wrap(descriptor)); }
@Override public boolean containsKey(ActiveDescriptor<?> descriptor) { Hk2RequestScope.Instance instance = (Hk2RequestScope.Instance) requestScope.current(); return instance.contains(ForeignDescriptor.wrap(descriptor)); }
@Override public <U> U findOrCreate(ActiveDescriptor<U> activeDescriptor, ServiceHandle<?> root) { final Instance instance = current(); U retVal = instance.get(activeDescriptor); if (retVal == null) { retVal = activeDescriptor.create(root); instance.put(activeDescriptor, retVal); } return retVal; }
@Override public <U> U findOrCreate(ActiveDescriptor<U> activeDescriptor, ServiceHandle<?> root) { final Instance instance = current(); U retVal = instance.get(activeDescriptor); if (retVal == null) { retVal = activeDescriptor.create(root); instance.put(activeDescriptor, retVal); } return retVal; }
@Override public <U> U findOrCreate(ActiveDescriptor<U> activeDescriptor, ServiceHandle<?> root) { final Instance instance = current(); U retVal = instance.get(activeDescriptor); if (retVal == null) { retVal = activeDescriptor.create(root); instance.put(activeDescriptor, retVal); } return retVal; }
@Override public <U> U findOrCreate(ActiveDescriptor<U> activeDescriptor, ServiceHandle<?> root) { Hk2RequestScope.Instance instance = (Hk2RequestScope.Instance) requestScope.current(); U retVal = instance.get(ForeignDescriptor.wrap(activeDescriptor)); if (retVal == null) { retVal = activeDescriptor.create(root); instance.put(ForeignDescriptor.wrap(activeDescriptor, obj -> activeDescriptor.dispose((U) obj)), retVal); } return retVal; }
@Override public <U> U findOrCreate(ActiveDescriptor<U> activeDescriptor, ServiceHandle<?> root) { Hk2RequestScope.Instance instance = (Hk2RequestScope.Instance) requestScope.current(); U retVal = instance.get(ForeignDescriptor.wrap(activeDescriptor)); if (retVal == null) { retVal = activeDescriptor.create(root); instance.put(ForeignDescriptor.wrap(activeDescriptor, obj -> activeDescriptor.dispose((U) obj)), retVal); } return retVal; }