public void dispose(T instance) { if (disposalMethod != null) { // CreationalContext is only created if we need it to obtain the receiver // MethodInvocationStrategy takes care of creating CC for parameters, if needed if (disposalMethod.getAnnotated().isStatic()) { disposalMethod.invokeDisposeMethod(null, instance, null); } else { WeldCreationalContext<X> ctx = null; try { Object receiver = ContextualInstance.getIfExists(getDeclaringBean(), getBeanManager()); if (receiver == null) { ctx = getBeanManager().createCreationalContext(null); // Create child CC so that a dependent reciever may be destroyed after the disposer method completes receiver = ContextualInstance.get(getDeclaringBean(), getBeanManager(), ctx.getCreationalContext(getDeclaringBean())); } if (receiver != null) { disposalMethod.invokeDisposeMethod(receiver, instance, ctx); } } finally { if (ctx != null) { ctx.release(); } } } } }
public void dispose(T instance) { if (disposalMethod != null) { // CreationalContext is only created if we need it to obtain the receiver // MethodInvocationStrategy takes care of creating CC for parameters, if needed if (disposalMethod.getAnnotated().isStatic()) { disposalMethod.invokeDisposeMethod(null, instance, null); } else { WeldCreationalContext<X> ctx = null; try { Object receiver = ContextualInstance.getIfExists(getDeclaringBean(), getBeanManager()); if (receiver == null) { ctx = getBeanManager().createCreationalContext(null); // Create child CC so that a dependent reciever may be destroyed after the disposer method completes receiver = ContextualInstance.get(getDeclaringBean(), getBeanManager(), ctx.getCreationalContext(getDeclaringBean())); } if (receiver != null) { disposalMethod.invokeDisposeMethod(receiver, instance, ctx); } } finally { if (ctx != null) { ctx.release(); } } } } }
public void dispose(T instance) { if (disposalMethod != null) { // CreationalContext is only created if we need it to obtain the receiver // MethodInvocationStrategy takes care of creating CC for parameters, if needed if (disposalMethod.getAnnotated().isStatic()) { disposalMethod.invokeDisposeMethod(null, instance, null); } else { WeldCreationalContext<X> ctx = null; try { Object receiver = ContextualInstance.getIfExists(getDeclaringBean(), getBeanManager()); if (receiver == null) { ctx = getBeanManager().createCreationalContext(null); // Create child CC so that a dependent reciever may be destroyed after the disposer method completes receiver = ContextualInstance.get(getDeclaringBean(), getBeanManager(), ctx.getCreationalContext(getDeclaringBean())); } if (receiver != null) { disposalMethod.invokeDisposeMethod(receiver, instance, ctx); } } finally { if (ctx != null) { ctx.release(); } } } } }
public void dispose(T instance) { if (disposalMethod != null) { // CreationalContext is only created if we need it to obtain the receiver // MethodInvocationStrategy takes care of creating CC for parameters, if needed if (disposalMethod.getAnnotated().isStatic()) { disposalMethod.invokeDisposeMethod(null, instance, null); } else { WeldCreationalContext<X> ctx = null; try { Object receiver = ContextualInstance.getIfExists(getDeclaringBean(), getBeanManager()); if (receiver == null) { ctx = getBeanManager().createCreationalContext(null); // Create child CC so that a dependent reciever may be destroyed after the disposer method completes receiver = ContextualInstance.get(getDeclaringBean(), getBeanManager(), ctx.getCreationalContext(getDeclaringBean())); } if (receiver != null) { disposalMethod.invokeDisposeMethod(receiver, instance, ctx); } } finally { if (ctx != null) { ctx.release(); } } } } }
public void dispose(T instance) { if (disposalMethod != null) { // CreationalContext is only created if we need it to obtain the receiver // MethodInvocationStrategy takes care of creating CC for parameters, if needed if (disposalMethod.getAnnotated().isStatic()) { disposalMethod.invokeDisposeMethod(null, instance, null); } else { WeldCreationalContext<X> ctx = null; try { Object receiver = ContextualInstance.getIfExists(getDeclaringBean(), getBeanManager()); if (receiver == null) { ctx = getBeanManager().createCreationalContext(null); // Create child CC so that a dependent reciever may be destroyed after the disposer method completes receiver = ContextualInstance.get(getDeclaringBean(), getBeanManager(), ctx.getCreationalContext(getDeclaringBean())); } if (receiver != null) { disposalMethod.invokeDisposeMethod(receiver, instance, ctx); } } finally { if (ctx != null) { ctx.release(); } } } } }
public void dispose(T instance) { if (disposalMethod != null) { // CreationalContext is only created if we need it to obtain the receiver // MethodInvocationStrategy takes care of creating CC for parameters, if needed if (disposalMethod.getAnnotated().isStatic()) { disposalMethod.invokeDisposeMethod(null, instance, null); } else { WeldCreationalContext<X> ctx = null; try { Object receiver = ContextualInstance.getIfExists(getDeclaringBean(), getBeanManager()); if (receiver == null) { ctx = getBeanManager().createCreationalContext(null); // Create child CC so that a dependent reciever may be destroyed after the disposer method completes receiver = ContextualInstance.get(getDeclaringBean(), getBeanManager(), ctx.getCreationalContext(getDeclaringBean())); } if (receiver != null) { disposalMethod.invokeDisposeMethod(receiver, instance, ctx); } } finally { if (ctx != null) { ctx.release(); } } } } }