org.spicefactory.pimento.property
Class EnumHandler

java.lang.Object
  extended by org.spicefactory.pimento.property.AbstractPropertyHandler
      extended by org.spicefactory.pimento.property.EnumHandler
All Implemented Interfaces:
PropertyHandler

public class EnumHandler
extends AbstractPropertyHandler

Manages an Enum property.

Author:
Jens Halm

Constructor Summary
EnumHandler(String[] names)
          Creates a new instance.
 
Method Summary
 String[] getNames()
          Returns the names of the enum constants for this property.
 Object getValueForSnapshot(Object entity, SnapshotEncoder encoder, FetchMode fetchMode)
          Reads the specified property from the given entity and returns it in a form suitable for inclusion in an entity snapshot.
 
Methods inherited from class org.spicefactory.pimento.property.AbstractPropertyHandler
getProperty, init, prepareValueFromSnapshot, setValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EnumHandler

public EnumHandler(String[] names)
Creates a new instance.

Parameters:
names - the names of the enum constants for this property
Method Detail

getNames

public String[] getNames()
Returns the names of the enum constants for this property.

Returns:
the names of the enum constants for this property

getValueForSnapshot

public Object getValueForSnapshot(Object entity,
                                  SnapshotEncoder encoder,
                                  FetchMode fetchMode)
Description copied from interface: PropertyHandler
Reads the specified property from the given entity and returns it in a form suitable for inclusion in an entity snapshot. For associations this means that non-null values should be converted to snapshots themselves, using the provided SnapshotEncoder instance. Simple values could be returned as-is in most cases.

Specified by:
getValueForSnapshot in interface PropertyHandler
Overrides:
getValueForSnapshot in class AbstractPropertyHandler
Parameters:
entity - the entity to extract the property value from
encoder - the encoder to use for encoding associations
fetchMode - the fetchMode to use if the property type is an association
Returns:
the current value of the property as a simple value, an entity snapshot or an instance of PropertyState