| Corpus.java |
1 /*
2 * Corpus.java
3 *
4 * Copyright (c) 1998-2004, The University of Sheffield.
5 *
6 * This file is part of GATE (see http://gate.ac.uk/), and is free
7 * software, licenced under the GNU Library General Public License,
8 * Version 2, June 1991 (in the distribution as file licence.html,
9 * and also available at http://gate.ac.uk/gate/licence.html).
10 *
11 * Hamish Cunningham, 19/Jan/2000
12 *
13 * $Id: Corpus.java,v 1.23 2004/07/23 12:31:09 kalina Exp $
14 */
15
16 package gate;
17 import java.util.List;
18
19 import gate.event.CorpusListener;
20
21 /** Corpora are lists of Document. TIPSTER equivalent: Collection.
22 */
23 public interface Corpus extends SimpleCorpus {
24
25 /**
26 * Unloads the document from memory. Only needed if memory
27 * preservation is an issue. Only supported for Corpus which is
28 * stored in a Datastore. To get this document back in memory,
29 * use get() on Corpus or if you have its persistent ID, request it
30 * from the Factory.
31 * <P>
32 * Transient Corpus objects do nothing,
33 * because there would be no way to get the document back
34 * again afterwards.
35 * @param doc Document to be unloaded from memory.
36 * @return void.
37 */
38 public void unloadDocument(Document doc);
39
40 /**
41 * This method returns true when the document is already loaded in memory.
42 * The transient corpora will always return true as they can only contain
43 * documents that are present in the memory.
44 */
45 public boolean isDocumentLoaded(int index);
46
47
48 /**
49 * Removes one of the listeners registered with this corpus.
50 * @param l the listener to be removed.
51 */
52 public void removeCorpusListener(CorpusListener l);
53
54 /**
55 * Registers a new {@link CorpusListener} with this corpus.
56 * @param l the listener to be added.
57 */
58 public void addCorpusListener(CorpusListener l);
59
60 } // interface Corpus
61