@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 void destroy(T arg0, CreationalContext<T> arg1) { descriptor.dispose(arg0); }
/** * Remove a value for the descriptor if present in the scope instance store. * * @param descriptor key for the value to be removed. */ @SuppressWarnings("unchecked") <T> void remove(ActiveDescriptor<T> descriptor) { final T removed = (T) store.remove(descriptor); if (removed != null) { descriptor.dispose(removed); } }
/** * Remove a value for the descriptor if present in the scope instance store. * * @param descriptor key for the value to be removed. */ @SuppressWarnings("unchecked") <T> void remove(ActiveDescriptor<T> descriptor) { final T removed = (T) store.remove(descriptor); if (removed != null) { descriptor.dispose(removed); } }
/** * Remove a value for the descriptor if present in the scope instance store. * * @param descriptor key for the value to be removed. */ @SuppressWarnings("unchecked") <T> void remove(ActiveDescriptor<T> descriptor) { final T removed = (T) store.remove(descriptor); if (removed != null) { descriptor.dispose(removed); } }
/** * The {@link Context} API. Removes a descriptor from the set * * @param descriptor The descriptor to destroy */ @SuppressWarnings("unchecked") public void destroyOne(ActiveDescriptor<?> descriptor) { Object retVal = null; synchronized (this) { retVal = backingMap.remove(descriptor); if (retVal == null) return; } ((ActiveDescriptor<Object>) descriptor).dispose(retVal); }
@Override public void dispose(T instance) { ensureInitialized(); descriptor.dispose(instance); }
@Override public void dispose(T instance) { ensureInitialized(); descriptor.dispose(instance); }
@Override public void dispose(T instance) { ensureInitialized(); descriptor.dispose(instance); }
@Override public void dispose(T instance) { ensureInitialized(); descriptor.dispose(instance); }
((ActiveDescriptor<Object>) descriptor).dispose(instance);
((ActiveDescriptor<Object>) descriptor).dispose(instance);
@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; }
if (localServiceSet) { root.dispose(service);
/** * Release one system descriptor * * @param one The descriptor to release (may not be null). Further, the cache MUST be set */ @SuppressWarnings("unchecked") @Override public void destroyOne(ActiveDescriptor<?> one) { Object value; valueCache.remove(new ContextualInput<Object>((ActiveDescriptor<Object>) one, null)); value = one.getCache(); one.releaseCache(); if (value == null) return; try { ((ActiveDescriptor<Object>) one).dispose(value); } catch (Throwable th) { Logger.getLogger().debug("SingletonContext", "releaseOne", th); } }
/** * Release one system descriptor * * @param one The descriptor to release (may not be null). Further, the cache MUST be set */ @SuppressWarnings("unchecked") @Override public void destroyOne(ActiveDescriptor<?> one) { Object value; valueCache.remove(new ContextualInput<Object>((ActiveDescriptor<Object>) one, null)); value = one.getCache(); one.releaseCache(); if (value == null) return; try { ((ActiveDescriptor<Object>) one).dispose(value); } catch (Throwable th) { Logger.getLogger().debug("SingletonContext", "releaseOne", th); } }
/** * Release one system descriptor * * @param one The descriptor to release (may not be null). Further, the cache MUST be set */ @SuppressWarnings("unchecked") @Override public void destroyOne(ActiveDescriptor<?> one) { Object value; valueCache.remove(new ContextualInput<Object>((ActiveDescriptor<Object>) one, null)); value = one.getCache(); one.releaseCache(); if (value == null) return; try { ((ActiveDescriptor<Object>) one).dispose(value); } catch (Throwable th) { Logger.getLogger().debug("SingletonContext", "releaseOne", th); } }
/** * Release one system descriptor * * @param one The descriptor to release (may not be null). Further, the cache MUST be set */ @SuppressWarnings("unchecked") @Override public void destroyOne(ActiveDescriptor<?> one) { Object value; valueCache.remove(new ContextualInput<Object>((ActiveDescriptor<Object>) one, null)); value = one.getCache(); one.releaseCache(); if (value == null) return; try { ((ActiveDescriptor<Object>) one).dispose(value); } catch (Throwable th) { Logger.getLogger().debug("SingletonContext", "releaseOne", th); } }