IndexManager.java
01 /*
02  *  Indexmanager.java
03  *
04  *  Copyright (c) 1995-2012, The University of Sheffield. See the file
05  *  COPYRIGHT.txt in the software or at http://gate.ac.uk/gate/COPYRIGHT.txt
06  *
07  *  This file is part of GATE (see http://gate.ac.uk/), and is free
08  *  software, licenced under the GNU Library General Public License,
09  *  Version 2, June 1991 (in the distribution as file licence.html,
10  *  and also available at http://gate.ac.uk/gate/licence.html).
11  *
12  *  Rosen Marinov, 19/Apr/2002
13  *
14  */
15 
16 package gate.creole.ir;
17 
18 import gate.Corpus;
19 import gate.Document;
20 
21 import java.util.List;
22 
23 public interface IndexManager{
24 
25   /**
26    * Gets the corpus this index manages will index.
27    @return {@link gate.Corpus} value;
28    */
29   public Corpus getCorpus();
30 
31   /**
32    * Sets the corpus this index manages will index.
33    @param corpus a {@link gate.Corpus} value;
34    */
35   public void setCorpus(Corpus corpus);
36 
37   /**
38    * Gets the index definition for this index manager.
39    @return {@link IndexDefinition} value.
40    */
41   public IndexDefinition getIndexDefinition();
42 
43   /**
44    * Sets the index definition for this index manager.
45    @param indexDefinition a {@link IndexDefinition} value.
46    */
47   public void setIndexDefinition(IndexDefinition indexDefinition);
48 
49 
50   /** Creates index directory and indexing all
51    *  documents in the corpus. */
52   public void createIndex() throws IndexException;
53 
54   /** Optimize the existing index*/
55   public void optimizeIndex() throws IndexException;
56 
57   /** Delete all index files and directories in index location. */
58   public void deleteIndex() throws IndexException;
59 
60   /** Reindexing changed documents, removing removed documents and
61    *  add to the index new corpus documents. */
62   public void sync(List<Document> added, List<String> removed, List<Document> changedthrows IndexException;
63 
64 
65 }