Package net.ontopia.topicmaps.utils
Class ScopedIFComparator<T extends ScopedIF>
java.lang.Object
net.ontopia.topicmaps.utils.ScopedIFComparator<T>
- All Implemented Interfaces:
Comparator<T>
- Direct Known Subclasses:
TopicNameComparator
INTERNAL: Comparator that compares ScopedIF objects based on their
applicability in the specified scope.
This comparator may only be used with objects that are
implementations of ScopedIF. The default subcomparator is
LexicalComparator.CASE_SENSITIVE.
Technique:
- Compare the number of matching themes for each of the objects. The more matching themes, the higher ranked.
- Compare by number of themes specified on objects. The fewer themes, the higher ranked.
- If subcomparator doesn't exist they're ranked equally.
- Use subcomparator to compare them.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionScopedIFComparator(Collection<TopicIF> scope) ScopedIFComparator(Collection<TopicIF> scope, Comparator<? super T> subcomparator) -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Field Details
-
scope
-
subcomparator
-
-
Constructor Details
-
ScopedIFComparator
public ScopedIFComparator() -
ScopedIFComparator
-
ScopedIFComparator
-
-
Method Details
-
compare
INTERNAL: Compares the two ScopedIF objects for their applicability in the scope specified in the constructor.- Specified by:
comparein interfaceComparator<T extends ScopedIF>- Parameters:
obj1- An object implementing ScopedIF.obj2- An object implementing ScopedIF.- Returns:
- See
Comparator.compare(Object,Object)
-