org.planx.msd.util
Class NullDiscriminator<T>
java.lang.Object
org.planx.msd.util.AbstractDiscriminator<T>
org.planx.msd.util.NullDiscriminator<T>
- All Implemented Interfaces:
- Discriminator<T>
public class NullDiscriminator<T>
- extends AbstractDiscriminator<T>
A Discriminator capable of discriminating a multiset of
values into an equivalence class containing null elements
and one or more equivalence classes containing the non-null
elements as discriminated by another discriminator. The intention is to
be able to extend discriminators that do not allow null input
values to allow such values.
- Author:
- Thomas Ambus
|
Constructor Summary |
NullDiscriminator(Discriminator<T> d)
Constructs a new NullDiscriminator wrapping the specified
discriminator, thereby extending the wrapped discriminator to allow
null values. |
|
Method Summary |
|
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. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NullDiscriminator
public NullDiscriminator(Discriminator<T> d)
- Constructs a new
NullDiscriminator wrapping the specified
discriminator, thereby extending the wrapped discriminator to allow
null values.
discriminate
public <U,S> Collection<List<S>> discriminate(List<? extends U> values,
Extractor<U,? extends T,S> e)
- Description copied from interface:
Discriminator
- 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).
- Specified by:
discriminate in interface Discriminator<T>- Specified by:
discriminate in class AbstractDiscriminator<T>
Copyright © 2010. All Rights Reserved.