public void preClear(Object pc) { Iterator iter = listeners.iterator(); while (iter.hasNext()) { LifecycleListenerForClass listener = (LifecycleListenerForClass) iter.next(); if (listener.forClass(pc.getClass()) && listener.getListener() instanceof ClearLifecycleListener) { ((ClearLifecycleListener)listener.getListener()).preClear(new InstanceLifecycleEvent(pc, InstanceLifecycleEvent.CLEAR, null)); } } if (pc instanceof ClearCallback) { ((ClearCallback) pc).jdoPreClear(); } }
public final void jdoZooEvict() { if (this instanceof ClearCallback) { ((ClearCallback)this).jdoPreClear(); } context.notifyEvent(this, ZooInstanceEvent.PRE_CLEAR); context.getEvictor().evict(this); jdoZooMarkHollow(); context.notifyEvent(this, ZooInstanceEvent.POST_CLEAR); }
/** * Callback before the fields of the object are cleared. * @param pc The Object */ public void preClear(Object pc) { for (LifecycleListenerForClass listener : getListenersWorkingCopy()) { if (listener.forClass(pc.getClass()) && listener.getListener() instanceof ClearLifecycleListener) { ((ClearLifecycleListener)listener.getListener()).preClear(new InstanceLifecycleEvent(pc, InstanceLifecycleEvent.CLEAR, null)); } } if (pc instanceof ClearCallback) { try { ((ClearCallback) pc).jdoPreClear(); } catch (Exception e) { throw new JDOUserCallbackException(Localiser.msg("025001", "jdoPreClear"), e); } } }