org.planx.msd
Interface Discriminator<T>

All Known Implementing Classes:
AbstractDiscriminator, ArrayDiscriminator, BagDiscriminator, ByteArrayDiscriminator, ByteDiscriminator, CacheDiscriminator, CharacterDiscriminator, CharSequenceBagDiscriminator, CharSequenceDiscriminator, ClassDiscriminator, DiscriminatorAdapter, DoubleDiscriminator, EquivalenceClassDiscriminator, FloatDiscriminator, IntegerArrayDiscriminator, IntegerDiscriminator, IterationListDiscriminator, LexicographicCharSequenceDiscriminator, ListDiscriminator, LongDiscriminator, MatchAllDiscriminator, NodeDiscriminator, NullDiscriminator, NumberDiscriminator, PairDiscriminator, PolymorphicDiscriminator, RandomAccessListDiscriminator, RecursionDiscriminator, SetDiscriminator, ShortArrayDiscriminator, ShortBagDiscriminator, ShortDiscriminator, ShortSetDiscriminator, SizeCharSequenceDiscriminator, SizeRandomAccessListDiscriminator

public interface Discriminator<T>

A multiset discriminator. For further information please see the Package Summary.

Author:
Thomas Ambus

Method Summary
<U,S> Collection<List<S>>
discriminate(List<? extends U> values, Extractor<U,? extends T,S> e)
          Discriminates a List of values using an Extractor, and returns a Collection of Lists, each representing an equivalence class containing elements from values that are equivalent.
<S extends T>
Collection<List<S>>
discriminate(List<S> values)
          Discriminates a List of values, and returns a Collection of Lists, each representing an equivalence class containing elements from values that are equivalent.
 

Method Detail

discriminate

<S extends T> Collection<List<S>> discriminate(List<S> values)
Discriminates a List of values, and returns a Collection of Lists, each representing an equivalence class containing elements from values that are equivalent.

The Collection of Lists returned should be considered unmodifiable (though, in some cases they might actually be modifiable, but this behaviour should not be relied upon).


discriminate

<U,S> Collection<List<S>> discriminate(List<? extends U> values,
                                       Extractor<U,? extends T,S> e)
Discriminates a List of values using an Extractor, and returns a Collection of Lists, each representing an equivalence class containing elements from values that are equivalent. The Extractor performs the task of extracting two kinds of objects from the input values: The label which is the object equivalence is defined upon, and the value which is the object that will be returned. That is, the label determines which equivalence class the value goes into.

The Collection of Lists returned should be considered unmodifiable (though, in some cases they might actually be modifiable, but this behaviour should not be relied upon).



Copyright © 2010. All Rights Reserved.