public synchronized ZoieSystem<R, D> retireAndNew(final ZoieSystem<R, D> old) { DirectoryManager _dirMgr = _dirMgrFactory.getDirectoryManager(); _dirMgrFactory.clearRecentlyChanged(); ZoieSystem<R, D> newzoie = hg.createZoie(_dirMgr); List<ZoieSystem<R, D>> actives = new LinkedList<ZoieSystem<R, D>>(box._actives); List<ZoieSystem<R, D>> retiring = new LinkedList<ZoieSystem<R, D>>(box._retiree); if (old != null) { actives.remove(old); retiring.add(old); retireThreadPool.execute(new Runnable() { @Override public void run() { if (listener != null) { listener.onRetiredZoie(old); } retire(old); } }); } actives.add(newzoie); Box<R, D> newbox = new Box<R, D>(box._archives, box._archiveZoies, retiring, actives, _decorator); box = newbox; if (listener != null) { listener.onNewZoie(newzoie); } return newzoie; }
public synchronized ZoieSystem<R, D> retireAndNew(final ZoieSystem<R, D> old) { DirectoryManager _dirMgr = _dirMgrFactory.getDirectoryManager(); _dirMgrFactory.clearRecentlyChanged(); ZoieSystem<R, D> newzoie = hg.createZoie(_dirMgr); List<ZoieSystem<R, D>> actives = new LinkedList<ZoieSystem<R, D>>(box._actives); List<ZoieSystem<R, D>> retiring = new LinkedList<ZoieSystem<R, D>>(box._retiree); if (old != null) { actives.remove(old); retiring.add(old); retireThreadPool.execute(new Runnable() { @Override public void run() { if (listener != null) { listener.onRetiredZoie(old); } retire(old); } }); } actives.add(newzoie); Box<R, D> newbox = new Box<R, D>(box._archives, box._archiveZoies, retiring, actives, _decorator); box = newbox; if (listener != null) { listener.onNewZoie(newzoie); } return newzoie; }
public synchronized ZoieSystem<R, D> retireAndNew(final ZoieSystem<R, D> old) DirectoryManager _dirMgr = _dirMgrFactory.getDirectoryManager(); _dirMgrFactory.clearRecentlyChanged(); ZoieSystem<R, D> newzoie = hg.createZoie(_dirMgr);