DefaultIndexDefinition.java
001 /*
002  *  DefaultIndexDefinition.java
003  *
004  *  Copyright (c) 1995-2012, The University of Sheffield. See the file
005  *  COPYRIGHT.txt in the software or at http://gate.ac.uk/gate/COPYRIGHT.txt
006  *
007  *  This file is part of GATE (see http://gate.ac.uk/), and is free
008  *  software, licenced under the GNU Library General Public License,
009  *  Version 2, June 1991 (in the distribution as file licence.html,
010  *  and also available at http://gate.ac.uk/gate/licence.html).
011  *
012  *  Rosen Marinov, 19/Apr/2002
013  *
014  */
015 
016 package gate.creole.ir;
017 
018 import java.util.Iterator;
019 import java.util.List;
020 import java.util.Vector;
021 
022 public class DefaultIndexDefinition implements IndexDefinition{
023 
024   /** List of IndexField - objects for indexing */
025   private List<IndexField> fields;
026 
027   /** Location (path) of the index store directory */
028   private String location;
029 
030   /* Niraj */
031   // Annic Specific Changes
032   private List<?> featuresToExclude;
033   private String annotationSet;
034   private String baseTokenAnnotationType;
035   /* End */
036 
037 
038 //  /**  Type of index see GateConstants.java*/
039 //  private int indexType;
040 
041   /**  Sets the location of index
042    @param location - index directory path
043    */
044   public void setIndexLocation(String location){
045     this.location = location;
046   }
047   /** @return String  path of index store directory*/
048   @Override
049   public String getIndexLocation(){
050     return location;
051   }
052 
053 
054   /* Niraj */
055   // Annic specific changes
056   public void setFeaturesToExclude(List<?> featuresToExclude) {
057     this.featuresToExclude = featuresToExclude;
058   }
059 
060   public List<?> getFeaturesToExclude() {
061     return featuresToExclude;
062   }
063 
064   public void setAnnotationSetName(String annotSetName) {
065     this.annotationSet = annotSetName;
066   }
067 
068   public String getAnnotationSetName() {
069     return this.annotationSet;
070   }
071 
072   public void setBaseTokenAnnotationType(String baseTokenAnnotationType) {
073     this.baseTokenAnnotationType = baseTokenAnnotationType;
074   }
075 
076   public String getBaseTokenAnnotationType() {
077     return this.baseTokenAnnotationType;
078   }
079   /* End */
080 
081 
082 //  /**  @return int index type*/
083 //  public int getIndexType(){
084 //    return indexType;
085 //  }
086 //
087 //  /**  Sets the index type.
088 //   *  @param type - index type
089 //   */
090 //  public void setIndexType(int type){
091 //    this.indexType = type;
092 //  }
093 
094   /**  @return Iterator of IndexFields, fileds for indexing. */
095   @Override
096   public Iterator<IndexField> getIndexFields(){
097     return fields.iterator();
098   }
099 
100   /**  Add new IndexField object to fields list.*/
101   public void addIndexField(IndexField fld){
102     if (fields==null){
103       fields = new Vector<IndexField>();
104     }
105     fields.add(fld);
106   }
107 
108   /**
109    * Sets the fully qualified class name for the IR engine to be used.
110    @param irEngineClassName a String.
111    */
112   public void setIrEngineClassName(String irEngineClassName) {
113     this.irEngineClassName = irEngineClassName;
114   }
115 
116   /**
117    * Gets the fully qualified class name for the IR engine to be used.
118    @return a String.
119    */
120   @Override
121   public String getIrEngineClassName() {
122     return irEngineClassName;
123   }
124 
125   /**Serialisation ID*/
126   static final long serialVersionUID = 2925395897153647322L;
127   private String irEngineClassName;
128 }