SimpleAnnotationSet.java |
1 /* 2 * SimpleAnnotationSet.java 3 * 4 * Copyright (c) 1998-2005, The University of Sheffield. 5 * 6 * This file is part of GATE (see http://gate.ac.uk/), and is free 7 * software, licenced under the GNU Library General Public License, 8 * Version 2, June 1991 (in the distribution as file licence.html, 9 * and also available at http://gate.ac.uk/gate/licence.html). 10 * 11 * Kalina Bontcheva, 23/Jul/2004 12 * 13 * $Id: SimpleAnnotationSet.java,v 1.2 2005/01/11 13:51:30 ian Exp $ 14 */ 15 16 package gate; 17 18 import java.io.Serializable; 19 import java.util.Iterator; 20 import java.util.Set; 21 22 import gate.util.InvalidOffsetException; 23 24 /** Annotation sets */ 25 public interface SimpleAnnotationSet extends Set, Cloneable, Serializable 26 { 27 /** Create and add an annotation with pre-existing nodes, 28 * and return its id 29 */ 30 public Integer add(Node start, Node end, String type, FeatureMap features); 31 32 /** Create and add an annotation and return its id */ 33 public Integer add(Long start, Long end, String type, FeatureMap features) 34 throws InvalidOffsetException; 35 36 /** Add an existing annotation. Returns true when the set is modified. */ 37 public boolean add(Object o); 38 39 /** Get an iterator for this set */ 40 public Iterator iterator(); 41 42 /** The size of this set */ 43 public int size(); 44 45 /** Remove an element from this set. */ 46 public boolean remove(Object o); 47 48 /** Find annotations by id */ 49 public Annotation get(Integer id); 50 51 /** Get all annotations */ 52 public AnnotationSet get(); 53 54 /** Select annotations by type */ 55 public AnnotationSet get(String type); 56 57 /** Select annotations by a set of types. Expects a Set of String. */ 58 public AnnotationSet get(Set types); 59 60 /** Get the name of this set. */ 61 public String getName(); 62 63 /** Get a set of java.lang.String objects representing all the annotation 64 * types present in this annotation set. 65 */ 66 public Set getAllTypes(); 67 68 /** Get the document this set is attached to. */ 69 public Document getDocument(); 70 71 } // interface SimpleAnnotationSet 72