gate
Interface Annotation

All Superinterfaces:
Comparable, FeatureBearer, IdBearer, Serializable
All Known Implementing Classes:
AnnotationImpl

public interface Annotation
extends FeatureBearer, IdBearer, Comparable, Serializable

An Annotation is an arc in an AnnotationGraph. It is immutable, to avoid the situation where each annotation has to point to its parent graph in order to tell it to update its indices when it changes.

Changes from TIPSTER: no ID; single span only. The event code is needed so a persistent annotation set can listen to its annotations and update correctly the database


Method Summary
 void addAnnotationListener(AnnotationListener l)
          Adds an annotation listener
 boolean coextensive(Annotation anAnnot)
          Two Annotation are coestensive if their offsets are the same.
 int compareTo(Object o)
          Ordering
 Node getEndNode()
          The end node.
 Node getStartNode()
          The start node.
 String getType()
          The type of the annotation (corresponds to TIPSTER "name").
 boolean isCompatible(Annotation anAnnot)
          This verifies if this annotation is compatible with another one.
 boolean isCompatible(Annotation anAnnot, Set aFeatureNamesSet)
          This verifies if this annotation is compatible with another one, given a set with certain keys.
 boolean isPartiallyCompatible(Annotation anAnnot)
          This method verifies if two annotation and are partially compatible.
 boolean isPartiallyCompatible(Annotation anAnnot, Set aFeatureNamesSet)
          This method verifies if two annotation and are partially compatible, given a set with certain keys.
 boolean overlaps(Annotation aAnnot)
          This method tells if this overlaps aAnnot.
 void removeAnnotationListener(AnnotationListener l)
          Removes an annotation listener
 
Methods inherited from interface gate.util.FeatureBearer
getFeatures, setFeatures
 
Methods inherited from interface gate.util.IdBearer
getId
 

Method Detail

getType

public String getType()
The type of the annotation (corresponds to TIPSTER "name").

getStartNode

public Node getStartNode()
The start node.

getEndNode

public Node getEndNode()
The end node.

compareTo

public int compareTo(Object o)
              throws ClassCastException
Ordering
Specified by:
compareTo in interface Comparable

isCompatible

public boolean isCompatible(Annotation anAnnot)
This verifies if this annotation is compatible with another one. Compatible means that they hit the same possition and the FeatureMap of this is incuded into aAnnot FeatureMap.
Parameters:
anAnnot - a gate Annotation.
Returns:
true if aAnnot is compatible with this and false otherwise.

isCompatible

public boolean isCompatible(Annotation anAnnot,
                            Set aFeatureNamesSet)
This verifies if this annotation is compatible with another one, given a set with certain keys. In this case, compatible means that they hit the same possition and those keys from this's FeatureMap intersected with aFeatureNamesSet are incuded together with their values into the aAnnot's FeatureMap.
Parameters:
anAnnot - a gate Annotation.
aFeatureNamesSet - is a set containing certian key that will be intersected with this's FeatureMap's keys.
Returns:
true if aAnnot is compatible with this and false otherwise.

isPartiallyCompatible

public boolean isPartiallyCompatible(Annotation anAnnot)
This method verifies if two annotation and are partially compatible. Partially compatible means that they overlap and the FeatureMap of this is incuded into FeatureMap of aAnnot.
Parameters:
anAnnot - a gate Annotation.
Returns:
true if this is partially compatible with aAnnot and false otherwise.

isPartiallyCompatible

public boolean isPartiallyCompatible(Annotation anAnnot,
                                     Set aFeatureNamesSet)
This method verifies if two annotation and are partially compatible, given a set with certain keys. In this case, partially compatible means that they overlap and those keys from this's FeatureMap intersected with aFeatureNamesSet are incuded together with their values into the aAnnot's FeatureMap.
Parameters:
anAnnot - a gate Annotation.
aFeatureNamesSet - is a set containing certian key that will be intersected with this's FeatureMap's keys.
Returns:
true if this is partially compatible with aAnnot and false otherwise.

coextensive

public boolean coextensive(Annotation anAnnot)
Two Annotation are coestensive if their offsets are the same.
Parameters:
anAnnot - A Gate annotation.
Returns:
true if two annotation hit the same possition and false otherwise

overlaps

public boolean overlaps(Annotation aAnnot)
This method tells if this overlaps aAnnot.
Parameters:
aAnnot - a gate Annotation.
Returns:
true if they overlap and false false if they don't.

removeAnnotationListener

public void removeAnnotationListener(AnnotationListener l)
Removes an annotation listener

addAnnotationListener

public void addAnnotationListener(AnnotationListener l)
Adds an annotation listener