/** * Dispose the state. */ public void dispose() { // Drop root objects for clean disposal. Object[] roots = rootobjects.toArray(); for(int i=0; i<roots.length; i++) { if(generator.isId(roots[i])) dropObject(roots[i]); else removeJavaRootObject(roots[i]); } // Drop remaining stale objects (e.g. created from external code but never added to state). hack??? // Drop objects one at a time, as dropping might remove other unreferenced objects as well. while(!internalGetObjects().isEmpty()) { dropObject(internalGetObjects().iterator().next()); } // System.out.println("Beanlisteners: "+getTypeModel().getName()+", "+beanlistenercnt); assert nocheck || beanlistenercnt == 0: getTypeModel().getName()+", "+beanlistenercnt; }
/** * Dispose the state. */ public void dispose() { // Drop root objects for clean disposal. Object[] roots = rootobjects.toArray(); for(int i=0; i<roots.length; i++) { if(generator.isId(roots[i])) dropObject(roots[i]); else removeJavaRootObject(roots[i]); } // Drop remaining stale objects (e.g. created from external code but never added to state). hack??? // Drop objects one at a time, as dropping might remove other unreferenced objects as well. while(!internalGetObjects().isEmpty()) { dropObject(internalGetObjects().iterator().next()); } // System.out.println("Beanlisteners: "+getTypeModel().getName()+", "+beanlistenercnt); assert nocheck || beanlistenercnt == 0: getTypeModel().getName()+", "+beanlistenercnt; }