net.sf.jagg.msd
Class CollectionDiscriminator<T>
java.lang.Object
net.sf.jagg.msd.AbstractDiscriminator<T>
net.sf.jagg.msd.ChainedDiscriminator<java.util.Collection<T>>
net.sf.jagg.msd.CollectionDiscriminator<T>
- All Implemented Interfaces:
- Discriminator<java.util.Collection<T>>
public class CollectionDiscriminator<T>
- extends ChainedDiscriminator<java.util.Collection<T>>
A CollectionDiscriminator discriminates
Lists of Collections. The Collections
are the items being discriminated.
- Since:
- 0.5.0
- Author:
- Randy Gettman
|
Method Summary |
<E> java.util.List<java.util.List<E>> |
|
discriminate(java.util.List<E> elements,
Extractor<E,java.util.Collection<T>> extractor,
MsdWorkspace workspace)
Partitions the given List of elements into another
List, in which all of the elements from the given list exist
in the new list, and all elements that compare equal are adjacent to each
other, according to the given Extractor. |
protected
|
getChainedExtractor(java.util.List<E> elements,
Extractor<E,java.util.Collection<T>> extractor)
Returns an appropriate ChainedExtractor. |
protected
|
getDiscriminator(java.util.List<E> elements,
ChainedExtractor<E,?,java.util.Collection<T>> extractor,
int index)
Returns the Discriminator that discriminates on the
collection's base type. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CollectionDiscriminator
public CollectionDiscriminator()
discriminate
public <E> java.util.List<java.util.List<E>> discriminate(java.util.List<E> elements,
Extractor<E,java.util.Collection<T>> extractor,
MsdWorkspace workspace)
- Partitions the given
List of elements into another
List, in which all of the elements from the given list exist
in the new list, and all elements that compare equal are adjacent to each
other, according to the given Extractor.
- Specified by:
discriminate in interface Discriminator<java.util.Collection<T>>- Overrides:
discriminate in class ChainedDiscriminator<java.util.Collection<T>>
- Type Parameters:
E - The type of element that is being discriminated by the type
<E>- Parameters:
elements - A List of elements.extractor - An Extractor that gives labels for
each element.workspace - The MsdWorkspace used in the discrimination
process.
- Returns:
- A
List of Lists containing all
equivalence classes. Each equivalence class list contains all elements
that compare equal to each other.
getChainedExtractor
protected <E> ChainedExtractor<E,java.util.List<T>,java.util.Collection<T>> getChainedExtractor(java.util.List<E> elements,
Extractor<E,java.util.Collection<T>> extractor)
- Returns an appropriate
ChainedExtractor.
- Specified by:
getChainedExtractor in class ChainedDiscriminator<java.util.Collection<T>>
- Type Parameters:
E - The type of element.- Parameters:
elements - The List of elements.extractor - A ChainedExtractor that returns appropriate
labels.
- Returns:
- An appropriate
ChainedExtractor. - See Also:
ChainedDiscriminator.getDiscriminator(java.util.List, net.sf.jagg.msd.ChainedExtractor, int)
getDiscriminator
protected <E> Discriminator<T> getDiscriminator(java.util.List<E> elements,
ChainedExtractor<E,?,java.util.Collection<T>> extractor,
int index)
- Returns the
Discriminator that discriminates on the
collection's base type.
- Specified by:
getDiscriminator in class ChainedDiscriminator<java.util.Collection<T>>
- Parameters:
elements - The list of elements.extractor - The ChainedExtractor that was obtained from
getChainedExtractor.index - The index of the loop.
- Returns:
- A
Discriminator that discriminates on the
collection's base type. - See Also:
ChainedDiscriminator.getChainedExtractor(java.util.List, net.sf.jagg.msd.Extractor)
Copyright © 2010-2012 jAgg Team. All Rights Reserved.