Gazetteer.java
001 /*
002  * Gazetteer.java
003  *
004  * Copyright (c) 2002, The University of Sheffield.
005  *
006  * This file is part of GATE (see http://gate.ac.uk/), and is free
007  * software, licenced under the GNU Library General Public License,
008  * Version 2, June1991.
009  *
010  * A copy of this licence is included in the distribution in the file
011  * licence.html, and is also available at http://gate.ac.uk/gate/licence.html.
012  *
013  * borislav popov 02/2002
014  *
015  */
016  package gate.creole.gazetteer;
017 
018 import java.util.Set;
019 
020 /**The Gazetteer interface defines the mandatory methods of a gazetteer PR. */
021 public interface Gazetteer extends gate.LanguageAnalyser,gate.ProcessingResource {
022 
023   /** Looks-up a string
024    @param singleItem the string
025    @return set of Lookups
026    */
027   public Set<Lookup> lookup(String singleItem);
028 
029   /**
030    * Sets the AnnotationSet that will be used at the next run for the newly
031    * produced annotations.
032    @param newAnnotationSetName the annotation set name for
033    * the annotations that are going to be produced
034    */
035   public void setAnnotationSetName(String newAnnotationSetName);
036 
037   /**
038    * Gets the AnnotationSet that will be used at the next run for the newly
039    * produced annotations.
040    @return the current AnnotationSet name
041    */
042   public String getAnnotationSetName() ;
043 
044   public void setEncoding(String newEncoding);
045 
046   public String getEncoding() ;
047 
048   /**Gets the url of the lists.def file
049    @return the url of the lists.def file  */
050   public java.net.URL getListsURL() ;
051 
052   /**Sets the url of the lists.def file
053    @param newListsURL the url of the lists.def file to be set  */
054   public void setListsURL(java.net.URL newListsURL;
055 
056   /**Triggers case sensitive
057    @param newCaseSensitive turn on or off case sensitivity */
058   public void setCaseSensitive(Boolean newCaseSensitive;
059 
060   /**Gets the current case sensitivity
061    @return the current case sensitivity */
062   public Boolean getCaseSensitive();
063 
064   /**Sets the mapping definition if such to this gazetteer
065    @param mapping a mapping definition */
066   public void setMappingDefinition(MappingDefinition mapping);
067 
068   /**Gets the mapping definition of this gazetteer,if such
069    @return the mapping definition of this gazetteer,if such otherwise null   */
070   public MappingDefinition getMappingDefinition();
071 
072   /**Gets the linear definition of this gazetteer. There is no parallel
073    * set method because the definition is laoded through the listsUrl
074    * on init().
075    @return the linear definition of the gazetteer */
076   public LinearDefinition getLinearDefinition();
077 
078   /**
079    * Fires a Gazetteer Event
080    @param ge Gazetteer Event to be fired
081    */
082   public void fireGazetteerEvent(GazetteerEvent ge;
083 
084   /**
085    * Registers a Gazetteer Listener
086    @param gl Gazetteer Listener to be registered
087    */
088   public void addGazetteerListener(GazetteerListener gl);
089 
090   /**
091    * Adds a new string to the gazetteer
092    @param singleItem
093    @param lookup the lookup to be associated with the new string
094    @return true if the operation was successful
095    */
096   boolean add(String singleItem, Lookup lookup);
097 
098   /**
099    * Removes a string from the gazetteer
100    @param singleItem
101    @return true if the operation was successful
102    */
103   boolean remove(String singleItem);
104 }//interface Gazetteer