org.spicefactory.pimento.type
Class AssociationType

java.lang.Object
  extended by org.spicefactory.pimento.type.AbstractAssociationType
      extended by org.spicefactory.pimento.type.AssociationType
All Implemented Interfaces:
PropertyType

public class AssociationType
extends AbstractAssociationType

Represents a ManyToOne or OneToOne association.

Author:
Jens Halm

Constructor Summary
AssociationType()
           
 
Method Summary
 Object getValueForSnapshot(Object entity, Property property, IoContext context, FetchMode fetchMode)
          Reads the specified property from the given entity and returns it in a form suitable for inclusion in an entity snapshot.
 Object prepareValueFromSnapshot(Object entity, Object value, Property property, IoContext context, boolean createChangeSet)
          Prepares the specified property value, performing all necessary conversions, but without actually applying it to the specified entity.
 
Methods inherited from class org.spicefactory.pimento.type.AbstractAssociationType
equals, getAssociationMetadata, getFetchPlan, getMetadataForEntity, getMetadataForSnapshot, setAssociationMetadata, setValue, useLazyMode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AssociationType

public AssociationType()
Method Detail

getValueForSnapshot

public Object getValueForSnapshot(Object entity,
                                  Property property,
                                  IoContext context,
                                  FetchMode fetchMode)
Description copied from interface: PropertyType
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 IoContext instance. Simple values could be returned as-is in most cases.

Parameters:
entity - the entity to extract the property value from
property - the property to extract
context - the active IoContext
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

prepareValueFromSnapshot

public Object prepareValueFromSnapshot(Object entity,
                                       Object value,
                                       Property property,
                                       IoContext context,
                                       boolean createChangeSet)
Description copied from interface: PropertyType
Prepares the specified property value, performing all necessary conversions, but without actually applying it to the specified entity. The prepared values will be collected in a EntityUpdate instance which gets passed to any configured interceptors before the property is applied with the setValue method of this class.

Parameters:
entity - the entity to prepare the property for
value - the new value for the property
property - the property to prepare
context - the active IoContext
createChangeSet - whether a change set is being created
Returns:
the (possibly converted) value of the property as it will later be applied to the entity.