1
14 package gate.util.persistence;
15
16 import gate.*;
17 import gate.creole.ResourceInstantiationException;
18 import gate.persist.PersistenceException;
19
23 public class LanguageAnalyserPersistence extends PRPersistence {
24
28 public void extractDataFromSource(Object source)throws PersistenceException{
29 if(! (source instanceof LanguageAnalyser)){
30 throw new UnsupportedOperationException(
31 getClass().getName() + " can only be used for " +
32 LanguageAnalyser.class.getName() +
33 " objects!\n" + source.getClass().getName() +
34 " is not a " + LanguageAnalyser.class.getName());
35 }
36
37 super.extractDataFromSource(source);
38
39 LanguageAnalyser la = (LanguageAnalyser)source;
40 document = PersistenceManager.getPersistentRepresentation(la.getDocument());
41 corpus = PersistenceManager.getPersistentRepresentation(la.getCorpus());
42 }
43
44
48 public Object createObject()throws PersistenceException,
49 ResourceInstantiationException{
50 LanguageAnalyser la = (LanguageAnalyser)super.createObject();
51 la.setCorpus((Corpus)PersistenceManager.getTransientRepresentation(corpus));
52 la.setDocument((Document)PersistenceManager.
53 getTransientRepresentation(document));
54 return la;
55 }
56
57
58 protected Object corpus;
59 protected Object document;
60 static final long serialVersionUID = -4632241679877556163L;
61 }