org.tm4j.topicmap.utils.extractors
Class AssociationGroupsExtractor

java.lang.Object
  extended byorg.tm4j.topicmap.utils.extractors.ExtractorBase
      extended byorg.tm4j.topicmap.utils.extractors.AssociationGroupsExtractor
All Implemented Interfaces:
uk.co.jezuk.mango.UnaryFunction

public class AssociationGroupsExtractor
extends ExtractorBase

An extractor which returns a Map of AssociationGroup objects which represent all the associations of a specific type in which the topic plays a specific role. This extractor can be particularly useful in creating grouped displays of the associations in which a topic participates.


Nested Class Summary
 class AssociationGroupsExtractor.AssociationGroup
           
 class AssociationGroupsExtractor.DefaultAssociationGroupComparator
           
 
Constructor Summary
AssociationGroupsExtractor()
           
 
Method Summary
 java.lang.Object _extract(java.lang.Object o)
          Extracts the Map of AssociationGroup objects for the input.
 void setAssociationTest(uk.co.jezuk.mango.Predicate assocTest)
           
 void setComparator(java.util.Comparator c)
           
 void setRoleTest(uk.co.jezuk.mango.Predicate roleTest)
           
 void unsetAssociationTest()
           
 void unsetRoleTest()
           
 
Methods inherited from class org.tm4j.topicmap.utils.extractors.ExtractorBase
fn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AssociationGroupsExtractor

public AssociationGroupsExtractor()
Method Detail

_extract

public java.lang.Object _extract(java.lang.Object o)
Extracts the Map of AssociationGroup objects for the input.

Specified by:
_extract in class ExtractorBase
Parameters:
o - A Topic object which is to be extracted.
Returns:
A Map of AssociationGroup objects - the map key is a unique string generated from the ID of the Association type and the ID of the roleSpec of the role played by the input topic in the association.

setRoleTest

public void setRoleTest(uk.co.jezuk.mango.Predicate roleTest)

unsetRoleTest

public void unsetRoleTest()

setAssociationTest

public void setAssociationTest(uk.co.jezuk.mango.Predicate assocTest)

unsetAssociationTest

public void unsetAssociationTest()

setComparator

public void setComparator(java.util.Comparator c)