View Javadoc

1   package org.dom4j.persistence;
2   
3   import java.util.ArrayList;
4   import java.util.Iterator;
5   import java.util.List;
6   
7   import org.dom4j.Document;
8   
9   /***
10   *
11   * @author
12   * @version 1.0
13   */
14  
15  public class PersitenceManager implements Initiator {
16  
17    private static PersitenceManager orginator;
18    private List mementos;
19  
20    protected PersitenceManager() {
21      mementos = new ArrayList();
22    }
23  
24    public static PersitenceManager getInstance() {
25      if (PersitenceManager.orginator == null)
26        PersitenceManager.orginator = new PersitenceManager();
27  
28      return PersitenceManager.orginator;
29    }
30  
31    public Memento createMemento(Document doc, String systemId, MarshallingContext context) throws Exception {
32      DocumentMemento menento = new DocumentMemento(systemId, context);
33      menento.setState(doc);
34      this.mementos.add(menento);
35      return menento;
36    }
37  
38    public List getMemeneto() {
39       return mementos;
40    }
41  
42    public Iterator getMemenetoIterator() {
43      return mementos.iterator();
44    }
45  
46  
47    public Memento getMemento(String systemId) throws Exception
48    {
49      boolean searching = true;
50      Memento targetedMemento = null;
51      Iterator mememtoIter = this.getMemenetoIterator();
52      while(searching)
53      {
54        targetedMemento = (Memento) mememtoIter.next();
55        if (((Document)targetedMemento.getState()).getDocType().getSystemID().equals(systemId)) {
56          searching = false;
57      }
58    }
59  
60      return targetedMemento;
61    }
62  
63  
64  
65  }