ImmutableAnnotationSetImpl.java
01 package gate.annotation;
02 
03 import gate.Annotation;
04 import gate.Document;
05 import gate.FeatureMap;
06 import gate.Node;
07 import gate.util.InvalidOffsetException;
08 import java.util.Collection;
09 import java.util.Iterator;
10 
11 public class ImmutableAnnotationSetImpl extends AnnotationSetImpl {
12   
13   private static final long serialVersionUID = 2658641359323106241L;
14 
15   /**
16    * Constructs an ImmutableAnnotationSet. ImmutableAnnotationSet are returned
17    * by the get* methods of AnnotationSet
18    
19    @param annotations
20    */
21   public ImmutableAnnotationSetImpl(Document doc,
22           Collection<Annotation> annotationsthrows ClassCastException {
23     super(doc);
24     if(annotations != null) {
25       Iterator<Annotation> iter = annotations.iterator();
26       // adds the annotations one by one
27       while(iter.hasNext()) {
28         Annotation a = iter.next();
29         annotsById.put(a.getId(), a);
30       }
31     }
32   }
33 
34   /*****************************************************************************
35    * The following methods throw an exception as they try to modify the state of
36    * the object
37    ****************************************************************************/
38   @Override
39   public Integer add(Node start, Node end, String type, FeatureMap features) {
40     throw new UnsupportedOperationException();
41   }
42 
43   @Override
44   public Integer add(Long start, Long end, String type, FeatureMap features) {
45     throw new UnsupportedOperationException();
46   }
47 
48   @Override
49   public boolean add(Annotation a) {
50     throw new UnsupportedOperationException();
51   }
52 
53   @Override
54   public void add(Integer id, Long start, Long end, String type,
55           FeatureMap featuresthrows InvalidOffsetException {
56     throw new UnsupportedOperationException();
57   }
58 
59   @Override
60   public boolean removeAll(Collection<?> arg0) {
61     throw new UnsupportedOperationException();
62   }
63 
64   @Override
65   public boolean addAll(Collection<? extends Annotation> arg0) {
66     throw new UnsupportedOperationException();
67   }
68 
69   @Override
70   public boolean remove(Object o) {
71     throw new UnsupportedOperationException();
72   }
73 
74   @Override
75   public boolean retainAll(Collection<?> arg0) {
76     throw new UnsupportedOperationException();
77   }
78 
79   @Override
80   public void clear() {
81     throw new UnsupportedOperationException();
82   }
83 }