gate.util
Class SimpleFeatureMapImpl

java.lang.Object
  extended by gate.util.SimpleMapImpl
      extended by gate.util.SimpleFeatureMapImpl
All Implemented Interfaces:
ANNIEConstants, FeatureMap, SimpleFeatureMap, Serializable, Cloneable, Map<Object,Object>

public class SimpleFeatureMapImpl
extends SimpleMapImpl
implements FeatureMap, Serializable, Cloneable, ANNIEConstants

Simple case of features.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Field Summary
private static boolean DEBUG
          Debug flag
private  Vector mapListeners
           
(package private) static long serialVersionUID
          Freeze the serialization UID.
 
Fields inherited from class gate.util.SimpleMapImpl
capacity, count, nullKey, theKeys, theKeysHere, theValues
 
Fields inherited from interface gate.creole.ANNIEConstants
ANNOTATION_COREF_FEATURE_NAME, DATE_ANNOTATION_TYPE, DATE_POSTED_ANNOTATION_TYPE, DEFAULT_FILE, DOCUMENT_COREF_FEATURE_NAME, JOB_ID_ANNOTATION_TYPE, LOCATION_ANNOTATION_TYPE, LOOKUP_ANNOTATION_TYPE, LOOKUP_CLASS_FEATURE_NAME, LOOKUP_INSTANCE_FEATURE_NAME, LOOKUP_LANGUAGE_FEATURE_NAME, LOOKUP_MAJOR_TYPE_FEATURE_NAME, LOOKUP_MINOR_TYPE_FEATURE_NAME, LOOKUP_ONTOLOGY_FEATURE_NAME, MONEY_ANNOTATION_TYPE, ORGANIZATION_ANNOTATION_TYPE, PERSON_ANNOTATION_TYPE, PERSON_GENDER_FEATURE_NAME, PLUGIN_DIR, PR_NAMES, SENTENCE_ANNOTATION_TYPE, SPACE_TOKEN_ANNOTATION_TYPE, TOKEN_ANNOTATION_TYPE, TOKEN_CATEGORY_FEATURE_NAME, TOKEN_KIND_FEATURE_NAME, TOKEN_LENGTH_FEATURE_NAME, TOKEN_ORTH_FEATURE_NAME, TOKEN_STRING_FEATURE_NAME
 
Constructor Summary
SimpleFeatureMapImpl()
           
 
Method Summary
 void addFeatureMapListener(FeatureMapListener l)
          Adds a gate listener
 void clear()
          clear the map
 Object clone()
          Create a copy of the map including the data.
 boolean equals(Object o)
           
protected  void fireMapUpdatedEvent()
           
protected  OClass getClassForURIOrName(Ontology ontologyLR, String name)
          Look up the given name in the given ontology.
 Object put(Object key, Object value)
          Overriden to fire events, so that the persistent objects can keep track of what's updated
 Object remove(Object key)
          Overriden to fire events, so that the persistent objects can keep track of what's updated
 void removeFeatureMapListener(FeatureMapListener l)
          Removes a gate listener
 boolean subsumes(FeatureMap aFeatureMap)
          Test if this featureMap includes all features from aFeatureMap However, if aFeatureMap contains a feature whose value is equal to gate.creole.ANNIEConstants.LOOKUP_CLASS_FEATURE_NAME (which is normally "class"), then GATE will attempt to match that feature using an ontology which it will try to retreive from a feature in both the feature map through which this method is called and in aFeatureMap.
 boolean subsumes(FeatureMap aFeatureMap, Set aFeatureNamesSet)
          Tests if this featureMap object includes aFeatureMap but only for the those features present in the aFeatureNamesSet.
 boolean subsumes(Ontology ontologyLR, FeatureMap aFeatureMap)
          Tests if this featureMap object includes aFeatureMap features.
 
Methods inherited from class gate.util.SimpleMapImpl
containsKey, containsValue, entrySet, get, getSubsumeKey, hashCode, isEmpty, keySet, putAll, size, toString, values
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
containsKey, containsValue, entrySet, get, hashCode, isEmpty, keySet, putAll, size, values
 

Field Detail

DEBUG

private static final boolean DEBUG
Debug flag

See Also:
Constant Field Values

serialVersionUID

static final long serialVersionUID
Freeze the serialization UID.

See Also:
Constant Field Values

mapListeners

private transient Vector mapListeners
Constructor Detail

SimpleFeatureMapImpl

public SimpleFeatureMapImpl()
Method Detail

subsumes

public boolean subsumes(FeatureMap aFeatureMap)
Test if this featureMap includes all features from aFeatureMap However, if aFeatureMap contains a feature whose value is equal to gate.creole.ANNIEConstants.LOOKUP_CLASS_FEATURE_NAME (which is normally "class"), then GATE will attempt to match that feature using an ontology which it will try to retreive from a feature in both the feature map through which this method is called and in aFeatureMap. If these do not return identical ontologies, or if either feature map does not contain an ontology, then matching will fail, and this method will return false. In summary, this method will not work normally when aFeatureMap contains a feature with the name "class".

Specified by:
subsumes in interface FeatureMap
Parameters:
aFeatureMap - object which will be included or not in this FeatureMap obj.If this param is null then it will return true.
Returns:
true if aFeatureMap is incuded in this obj. and false if not.

subsumes

public boolean subsumes(Ontology ontologyLR,
                        FeatureMap aFeatureMap)
Tests if this featureMap object includes aFeatureMap features.
If the feature map contains class and (optionally) ontology features:
then the ontologyLR is used to provide ontology based subsume with respect to the subClassOf relations.

Specified by:
subsumes in interface FeatureMap
Parameters:
ontologyLR - an ontology to be used for the subsume
aFeatureMap - object which will be included or not in this FeatureMap obj.
Returns:
true if this includes aFeatureMap and false if not.

getClassForURIOrName

protected OClass getClassForURIOrName(Ontology ontologyLR,
                                      String name)
Look up the given name in the given ontology. First we try treating the name as a complete URI and attempt to find the matching OClass. If this fails (either the name is not a URI or there is no class by that URI) then we try again, treating the name as local to the default namespace of the ontology.

Parameters:
ontologyLR - the ontology
name - the URI or local resource name to look up
Returns:
the corresponding OClass, or null if no suitable class could be found.

subsumes

public boolean subsumes(FeatureMap aFeatureMap,
                        Set aFeatureNamesSet)
Tests if this featureMap object includes aFeatureMap but only for the those features present in the aFeatureNamesSet. However, if aFeatureMap contains a feature whose value is equal to gate.creole.ANNIEConstants.LOOKUP_CLASS_FEATURE_NAME (which is normally "class"), then GATE will attempt to match that feature using an ontology which it will try to retreive from a feature in both the feature map through which this method is called and in aFeatureMap. If these do not return identical ontologies, or if either feature map does not contain an ontology, then matching will fail, and this method will return false. In summary, this method will not work normally when aFeatureMap contains a feature with the name "class" if that feature is also in aFeatureNamesSet.

Specified by:
subsumes in interface FeatureMap
Parameters:
aFeatureMap - which will be included or not in this FeatureMap obj.If this param is null then it will return true.
aFeatureNamesSet - is a set of strings representing the names of the features that would be considered for subsumes. If aFeatureNamesSet is null then subsumes(FeatureMap) will be called.
Returns:
true if all features present in the aFeaturesNameSet from aFeatureMap are included in this obj, or false otherwise.

put

public Object put(Object key,
                  Object value)
Overriden to fire events, so that the persistent objects can keep track of what's updated

Specified by:
put in interface Map<Object,Object>
Overrides:
put in class SimpleMapImpl

remove

public Object remove(Object key)
Overriden to fire events, so that the persistent objects can keep track of what's updated

Specified by:
remove in interface Map<Object,Object>
Overrides:
remove in class SimpleMapImpl

clear

public void clear()
Description copied from class: SimpleMapImpl
clear the map

Specified by:
clear in interface Map<Object,Object>
Overrides:
clear in class SimpleMapImpl

clone

public Object clone()
Description copied from class: SimpleMapImpl
Create a copy of the map including the data.

Overrides:
clone in class SimpleMapImpl

equals

public boolean equals(Object o)
Specified by:
equals in interface Map<Object,Object>
Overrides:
equals in class SimpleMapImpl

removeFeatureMapListener

public void removeFeatureMapListener(FeatureMapListener l)
Removes a gate listener

Specified by:
removeFeatureMapListener in interface FeatureMap

addFeatureMapListener

public void addFeatureMapListener(FeatureMapListener l)
Adds a gate listener

Specified by:
addFeatureMapListener in interface FeatureMap

fireMapUpdatedEvent

protected void fireMapUpdatedEvent()