| package org.dom4j.persistence; | ||
| import java.util.ArrayList; | ||
| import java.util.Iterator; | ||
| import java.util.List; | ||
| import org.dom4j.Document; | ||
| /** | ||
| * | ||
| * @version 1.0 | ||
| */ | ||
| public class PersitenceManager implements Initiator { | ||
| private static PersitenceManager orginator; | ||
| private List mementos; | ||
| 0x | protected PersitenceManager() { | |
| 0x | mementos = new ArrayList(); | |
| 0x | } | |
| public static PersitenceManager getInstance() { | ||
| 0/2 0x | if (PersitenceManager.orginator == null) | |
| 0x | PersitenceManager.orginator = new PersitenceManager(); | |
| 0x | return PersitenceManager.orginator; | |
| } | ||
| public Memento createMemento(Document doc, String systemId, MarshallingContext context) throws Exception { | ||
| 0x | DocumentMemento menento = new DocumentMemento(systemId, context); | |
| 0x | menento.setState(doc); | |
| 0x | this.mementos.add(menento); | |
| 0x | return menento; | |
| } | ||
| public List getMemeneto() { | ||
| 0x | return mementos; | |
| } | ||
| public Iterator getMemenetoIterator() { | ||
| 0x | return mementos.iterator(); | |
| } | ||
| public Memento getMemento(String systemId) throws Exception | ||
| { | ||
| 0x | boolean searching = true; | |
| 0x | Memento targetedMemento = null; | |
| 0x | Iterator mememtoIter = this.getMemenetoIterator(); | |
| 0/2 0x | while(searching) | |
| { | ||
| 0x | targetedMemento = (Memento) mememtoIter.next(); | |
| 0/2 0x | if (((Document)targetedMemento.getState()).getDocType().getSystemID().equals(systemId)) { | |
| 0x | searching = false; | |
| } | ||
| } | ||
| 0x | return targetedMemento; | |
| } | ||
| } |