Indexer.java
01 /*
02  *  Indexer.java
03  *
04  *  Niraj Aswani, 19/March/07
05  *
06  *  $Id: Indexer.html,v 1.0 2007/03/19 16:22:01 niraj Exp $
07  */
08 package gate.creole.annic;
09 
10 import gate.Corpus;
11 
12 import java.util.List;
13 import java.util.Map;
14 
15 /**
16  * Base interface that declares methods for the Indexer.
17  
18  @author niraj
19  
20  */
21 public interface Indexer {
22 
23   /**
24    * Create a Index
25    
26    @param parameters - parameters needed for creating an index values
27    *          depend on the implementing IndexManager
28    @throws IndexException
29    */
30   public void createIndex(Map<String,Object> parametersthrows IndexException;
31 
32   /** Optimize the existing index */
33   public void optimizeIndex() throws IndexException;
34 
35   /** Delete all index files and directories in index location. */
36   public void deleteIndex() throws IndexException;
37 
38   /**
39    * Add new documents to Index
40    
41    @param corpusPersistenceID
42    @param addedDocuments
43    @throws IndexException
44    */
45   public void add(String corpusPersistenceID, List<gate.Document> addedDocuments)
46           throws IndexException;
47 
48   /**
49    * remove documents from the Index
50    
51    @param removedDocumentPersistenceIds
52    @throws Exception
53    */
54   public void remove(List<Object> removedDocumentPersistenceIdsthrows IndexException;
55 
56   /**
57    * Set the corpus to be indexed
58    
59    @param corpus
60    */
61   public void setCorpus(Corpus corpusthrows IndexException;
62 
63   /**
64    * Corpus to be indexed
65    */
66   public Corpus getCorpus();
67 
68   /**
69    * Returns the parameters
70    */
71   public Map<String,Object> getParameters();
72 }