public void preDetach(Object pc) { Iterator iter = listeners.iterator(); while (iter.hasNext()) { LifecycleListenerForClass listener = (LifecycleListenerForClass) iter.next(); if (listener.forClass(pc.getClass()) && listener.getListener() instanceof DetachLifecycleListener) { ((DetachLifecycleListener)listener.getListener()).preDetach(new InstanceLifecycleEvent(pc, InstanceLifecycleEvent.DETACH, null)); } } if (pc instanceof DetachCallback) { ((DetachCallback) pc).jdoPreDetach(); } }
((DetachLifecycleListener)l).preDetach( new InstanceLifecycleEvent(src, InstanceLifecycleEvent.DETACH, src));
/** * Callback before the object is detached. * @param pc The Object */ public void preDetach(Object pc) { for (LifecycleListenerForClass listener : getListenersWorkingCopy()) { if (listener.forClass(pc.getClass()) && listener.getListener() instanceof DetachLifecycleListener) { ((DetachLifecycleListener)listener.getListener()).preDetach(new InstanceLifecycleEvent(pc, InstanceLifecycleEvent.DETACH, null)); } } if (pc instanceof DetachCallback) { try { ((DetachCallback) pc).jdoPreDetach(); } catch (Exception e) { throw new JDOUserCallbackException(Localiser.msg("025001", "jdoPreDetach"), e); } } }