1   /*
2    *  This file is part of GATE (see http://gate.ac.uk/), and is free
3    *  software, licenced under the GNU Library General Public License,
4    *  Version 2, June 1991 (in the distribution as file licence.html,
5    *  and also available at http://gate.ac.uk/gate/licence.html).
6    *
7    *  Created on Jul 25, 2005
8    *  
9    *  $Id: AnnotationFactory.java,v 1.1 2005/08/25 11:26:33 ian_roberts Exp $
10   *
11   */
12  package gate.annotation;
13  
14  import gate.Annotation;
15  import gate.AnnotationSet;
16  import gate.Node;
17  import gate.FeatureMap;
18  
19  /**
20   * Factory used to create annotations in an annotation set.
21   * 
22   * @author Ken Williams
23   */
24  public interface AnnotationFactory
25  {
26    /**
27     * Adds a new AnnotationImpl to the given set.
28     * @param set the set to which the new annotation will be added
29     * @param id the ID to use for the new annotation
30     * @param start the starting node for the new annotation
31     * @param end the ending node for the new annotation
32     * @param type the type of the new annotation
33     * @param features the features for the new annotation
34     */
35    public Annotation createAnnotationInSet(AnnotationSet set, Integer id,
36                                            Node start, Node end, String type,
37                                            FeatureMap features);
38  }
39