net.sf.jagg.msd
Class EnumDiscriminator<T extends java.lang.Enum<T>>

java.lang.Object
  extended by net.sf.jagg.msd.AbstractDiscriminator<T>
      extended by net.sf.jagg.msd.ChainedDiscriminator<T>
          extended by net.sf.jagg.msd.EnumDiscriminator<T>
All Implemented Interfaces:
Discriminator<T>

public class EnumDiscriminator<T extends java.lang.Enum<T>>
extends ChainedDiscriminator<T>

An EnumDiscriminator discriminates Lists of Enums by their ordinals.

Since:
0.5.0
Author:
Randy Gettman

Nested Class Summary
protected  class EnumDiscriminator.EnumChainedExtractor<E>
          An EnumChainedExtractor extracts the enum ordinal.
 
Constructor Summary
EnumDiscriminator()
           
 
Method Summary
protected
<E> ChainedExtractor<E,java.lang.Integer,T>
getChainedExtractor(java.util.List<E> elements, Extractor<E,T> extractor)
          Returns an appropriate ChainedExtractor.
protected
<E> Discriminator<java.lang.Integer>
getDiscriminator(java.util.List<E> elements, ChainedExtractor<E,?,T> extractor, int index)
          Returns the Discriminator that discriminates on the enum ordinals.
 
Methods inherited from class net.sf.jagg.msd.ChainedDiscriminator
discriminate
 
Methods inherited from class net.sf.jagg.msd.AbstractDiscriminator
discriminate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EnumDiscriminator

public EnumDiscriminator()
Method Detail

getChainedExtractor

protected <E> ChainedExtractor<E,java.lang.Integer,T> getChainedExtractor(java.util.List<E> elements,
                                                                          Extractor<E,T> extractor)
Returns an appropriate ChainedExtractor.

Specified by:
getChainedExtractor in class ChainedDiscriminator<T extends java.lang.Enum<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<java.lang.Integer> getDiscriminator(java.util.List<E> elements,
                                                                ChainedExtractor<E,?,T> extractor,
                                                                int index)
Returns the Discriminator that discriminates on the enum ordinals.

Specified by:
getDiscriminator in class ChainedDiscriminator<T extends java.lang.Enum<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 enum ordinals.
See Also:
ChainedDiscriminator.getChainedExtractor(java.util.List, net.sf.jagg.msd.Extractor)


Copyright © 2010-2013 jAgg Team. All Rights Reserved.