|
GATE Version 3.1-2270 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.AbstractCollection
java.util.AbstractSet
gate.annotation.AnnotationSetImpl
public class AnnotationSetImpl
Implementation of AnnotationSet. Has a number of indices, all bar one of which are null by default and are only constructed when asked for. Has lots of get methods with various selection criteria; these return views into the set, which are nonetheless valid sets in their own right (but will not necesarily be fully indexed). Has a name, which is null by default; clients of Document can request named AnnotationSets if they so desire. Has a reference to the Document it is attached to. Contrary to Collections convention, there is no no-arg constructor, as this would leave the set in an inconsistent state.
There are five indices: annotation by id, annotations by type, annotations by start/end node and nodes by offset. The last three jointly provide positional indexing; construction of these is triggered by indexByStart/EndOffset(), or by calling a get method that selects on offset. The type index is triggered by indexByType(), or calling a get method that selects on type. The id index is always present.
Nested Class Summary | |
---|---|
class |
AnnotationSetImpl.VerboseHashMap
This is a HashMap
that fires events when elements are removed. |
Field Summary | |
---|---|
protected static AnnotationFactory |
annFactory
|
protected Vector |
annotationSetListeners
|
protected HashMap |
annotsById
Maps annotation ids (Integers) to Annotations |
Constructor Summary | |
---|---|
AnnotationSetImpl(Collection c)
Construction from Collection (which must be an AnnotationSet) |
|
AnnotationSetImpl(Document doc)
Construction from Document. |
|
AnnotationSetImpl(Document doc,
String name)
Construction from Document and name. |
Method Summary | |
---|---|
void |
add(Integer id,
Long start,
Long end,
String type,
FeatureMap features)
Create and add an annotation from database read data In this case the id is already known being previously fetched from the database |
Integer |
add(Long start,
Long end,
String type,
FeatureMap features)
Create and add an annotation and return its id |
Integer |
add(Node start,
Node end,
String type,
FeatureMap features)
Create and add an annotation with pre-existing nodes, and return its id |
boolean |
add(Object o)
Add an existing annotation. |
boolean |
addAll(Collection c)
Adds multiple annotations to this set in one go. |
protected boolean |
addAllKeepIDs(Collection c)
Adds multiple annotations to this set in one go. |
void |
addAnnotationSetListener(AnnotationSetListener l)
|
void |
addGateListener(GateListener l)
|
Object |
clone()
|
void |
edit(Long start,
Long end,
DocumentContent replacement)
Propagate changes to the document content. |
protected void |
fireAnnotationAdded(AnnotationSetEvent e)
|
protected void |
fireAnnotationRemoved(AnnotationSetEvent e)
|
protected void |
fireGateEvent(GateEvent e)
|
Node |
firstNode()
Get the node with the smallest offset |
AnnotationSet |
get()
Get all annotations |
Annotation |
get(Integer id)
Find annotations by id |
AnnotationSet |
get(Long offset)
Select annotations by offset. |
AnnotationSet |
get(Long startOffset,
Long endOffset)
Select annotations by offset. |
AnnotationSet |
get(Set types)
Select annotations by a set of types. |
AnnotationSet |
get(String type)
Select annotations by type |
AnnotationSet |
get(String type,
FeatureMap constraints)
Select annotations by type and features This will return an annotation set containing just those annotations of a particular type (i.e. with a particular name) and which have features with specific names and values. |
AnnotationSet |
get(String type,
FeatureMap constraints,
Long offset)
Select annotations by type, features and offset |
AnnotationSet |
get(String neededType,
Long startOffset,
Long endOffset)
Select annotations by offset. |
AnnotationSet |
get(String type,
Set featureNames)
Select annotations by type and feature names |
Set |
getAllTypes()
Get a set of java.lang.String objects representing all the annotation types present in this annotation set. |
AnnotationSet |
getContained(Long startOffset,
Long endOffset)
Select annotations by offset that start at a position between the start and end before the end offset |
Document |
getDocument()
Get the document this set is attached to. |
String |
getName()
Get the name of this set. |
AnnotationSet |
getStrict(Long startOffset,
Long endOffset)
Select annotations by offset. |
protected void |
indexByEndOffset()
Construct the positional indices for annotation end |
protected void |
indexByStartOffset()
Construct the positional indices for annotation start |
protected void |
indexByType()
Construct the positional index. |
Iterator |
iterator()
Get an iterator for this set |
Node |
lastNode()
Get the node with the largest offset |
Node |
nextNode(Node node)
Get the first node that is relevant for this annotation set and which has the offset larger than the one of the node provided. |
boolean |
remove(Object o)
Remove an element from this set. |
void |
removeAnnotationSetListener(AnnotationSetListener l)
|
protected boolean |
removeFromIdIndex(Annotation a)
Remove from the ID index. |
protected void |
removeFromOffsetIndex(Annotation a)
Remove from the offset indices. |
protected void |
removeFromTypeIndex(Annotation a)
Remove from the type index. |
void |
removeGateListener(GateListener l)
|
static void |
setAnnotationFactory(AnnotationFactory newFactory)
Set the annotation factory used to create annotation objects. |
int |
size()
The size of this set |
Methods inherited from class java.util.AbstractSet |
---|
equals, hashCode, removeAll |
Methods inherited from class java.util.AbstractCollection |
---|
clear, contains, containsAll, isEmpty, retainAll, toArray, toArray, toString |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Set |
---|
clear, contains, containsAll, equals, hashCode, isEmpty, removeAll, retainAll, toArray, toArray |
Field Detail |
---|
protected static AnnotationFactory annFactory
protected HashMap annotsById
protected transient Vector annotationSetListeners
Constructor Detail |
---|
public AnnotationSetImpl(Document doc)
public AnnotationSetImpl(Document doc, String name)
public AnnotationSetImpl(Collection c) throws ClassCastException
ClassCastException
Method Detail |
---|
public Iterator iterator()
iterator
in interface SimpleAnnotationSet
iterator
in interface Iterable
iterator
in interface Collection
iterator
in interface Set
iterator
in class AbstractCollection
public boolean remove(Object o) throws ClassCastException
remove
in interface SimpleAnnotationSet
remove
in interface Collection
remove
in interface Set
remove
in class AbstractCollection
ClassCastException
protected boolean removeFromIdIndex(Annotation a)
protected void removeFromTypeIndex(Annotation a)
protected void removeFromOffsetIndex(Annotation a)
public int size()
size
in interface SimpleAnnotationSet
size
in interface Collection
size
in interface Set
size
in class AbstractCollection
public Annotation get(Integer id)
get
in interface SimpleAnnotationSet
public AnnotationSet get()
get
in interface SimpleAnnotationSet
public AnnotationSet get(String type)
get
in interface SimpleAnnotationSet
public AnnotationSet get(Set types) throws ClassCastException
get
in interface SimpleAnnotationSet
ClassCastException
public AnnotationSet get(String type, FeatureMap constraints)
get
in interface AnnotationSet
type
- The name of the annotations to return.constraints
- A feature map containing all of the feature value pairs
that the annotation must have in order for them to be returned.
public AnnotationSet get(String type, Set featureNames)
get
in interface AnnotationSet
public AnnotationSet get(Long offset)
get
in interface AnnotationSet
public AnnotationSet get(Long startOffset, Long endOffset)
get
in interface AnnotationSet
public AnnotationSet getStrict(Long startOffset, Long endOffset)
public AnnotationSet get(String neededType, Long startOffset, Long endOffset)
get
in interface AnnotationSet
public AnnotationSet get(String type, FeatureMap constraints, Long offset)
get
in interface AnnotationSet
public AnnotationSet getContained(Long startOffset, Long endOffset)
getContained
in interface AnnotationSet
public Node firstNode()
firstNode
in interface AnnotationSet
public Node lastNode()
lastNode
in interface AnnotationSet
public Node nextNode(Node node)
nextNode
in interface AnnotationSet
public static void setAnnotationFactory(AnnotationFactory newFactory)
DefaultAnnotationFactory
.
public Integer add(Node start, Node end, String type, FeatureMap features)
add
in interface SimpleAnnotationSet
public boolean add(Object o) throws ClassCastException
add
in interface SimpleAnnotationSet
add
in interface Collection
add
in interface Set
add
in class AbstractCollection
ClassCastException
public boolean addAll(Collection c)
Annotation
type, otherwise a ClassCastException will be
thrown.
The provided annotations will be used to create new annotations using the
appropriate add() methods from this set. The new annotations will have
different IDs from the old ones (which is required in order to preserve the
uniqueness of IDs inside an annotation set).
addAll
in interface Collection
addAll
in interface Set
addAll
in class AbstractCollection
c
- a collection of annotations
protected boolean addAllKeepIDs(Collection c)
Annotation
type, otherwise a ClassCastException will be
thrown.
This method does not create copies of the annotations like addAll() does
but simply adds the new annotations to the set.
It is intended to be used solely by annotation sets in order to construct
the results for various get(...) methods.
c
- a collection of annotations
public Integer add(Long start, Long end, String type, FeatureMap features) throws InvalidOffsetException
add
in interface SimpleAnnotationSet
InvalidOffsetException
public void add(Integer id, Long start, Long end, String type, FeatureMap features) throws InvalidOffsetException
add
in interface AnnotationSet
InvalidOffsetException
protected void indexByType()
protected void indexByStartOffset()
protected void indexByEndOffset()
public void edit(Long start, Long end, DocumentContent replacement)
public String getName()
getName
in interface SimpleAnnotationSet
public Document getDocument()
getDocument
in interface SimpleAnnotationSet
public Set getAllTypes()
getAllTypes
in interface SimpleAnnotationSet
public Object clone() throws CloneNotSupportedException
clone
in class Object
CloneNotSupportedException
public void removeAnnotationSetListener(AnnotationSetListener l)
removeAnnotationSetListener
in interface AnnotationSet
l
- public void addAnnotationSetListener(AnnotationSetListener l)
addAnnotationSetListener
in interface AnnotationSet
l
- protected void fireAnnotationAdded(AnnotationSetEvent e)
e
- protected void fireAnnotationRemoved(AnnotationSetEvent e)
e
- public void removeGateListener(GateListener l)
removeGateListener
in interface AnnotationSet
l
- public void addGateListener(GateListener l)
addGateListener
in interface AnnotationSet
l
- protected void fireGateEvent(GateEvent e)
e
-
|
GATE Version 3.1-2270 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |