org.hibernate.envers.entities.mapper.relation
Class AbstractToOneMapper

java.lang.Object
  extended by org.hibernate.envers.entities.mapper.relation.AbstractToOneMapper
All Implemented Interfaces:
PropertyMapper
Direct Known Subclasses:
AbstractOneToOneMapper, ToOneIdMapper

public abstract class AbstractToOneMapper
extends Object
implements PropertyMapper

Base class for property mappers that manage to-one relation.


Nested Class Summary
protected  class AbstractToOneMapper.EntityInfo
          Simple descriptor of an entity.
 
Constructor Summary
protected AbstractToOneMapper(PropertyData propertyData)
           
 
Method Summary
protected  AbstractToOneMapper.EntityInfo getEntityInfo(AuditConfiguration verCfg, String entityName)
           
protected  PropertyData getPropertyData()
           
 List<PersistentCollectionChangeData> mapCollectionChanges(String referencingPropertyName, PersistentCollection newColl, Serializable oldColl, Serializable id)
          Maps collection changes
 void mapToEntityFromMap(AuditConfiguration verCfg, Object obj, Map data, Object primaryKey, AuditReaderImplementor versionsReader, Number revision)
          Maps properties from the given map to the given object.
 boolean mapToMapFromEntity(SessionImplementor session, Map<String,Object> data, Object newObj, Object oldObj)
          Maps properties to the given map, basing on differences between properties of new and old objects.
abstract  void nullSafeMapToEntityFromMap(AuditConfiguration verCfg, Object obj, Map data, Object primaryKey, AuditReaderImplementor versionsReader, Number revision)
          Parameter obj is never null.
protected  void setPropertyValue(Object targetObject, Object value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.hibernate.envers.entities.mapper.PropertyMapper
mapModifiedFlagsToMapForCollectionChange, mapModifiedFlagsToMapFromEntity
 

Constructor Detail

AbstractToOneMapper

protected AbstractToOneMapper(PropertyData propertyData)
Method Detail

mapToMapFromEntity

public boolean mapToMapFromEntity(SessionImplementor session,
                                  Map<String,Object> data,
                                  Object newObj,
                                  Object oldObj)
Description copied from interface: PropertyMapper
Maps properties to the given map, basing on differences between properties of new and old objects.

Specified by:
mapToMapFromEntity in interface PropertyMapper
Parameters:
session - The current session.
data - Data to map to.
newObj - New state of the entity.
oldObj - Old state of the entity.
Returns:
True if there are any differences between the states represented by newObj and oldObj.

mapToEntityFromMap

public void mapToEntityFromMap(AuditConfiguration verCfg,
                               Object obj,
                               Map data,
                               Object primaryKey,
                               AuditReaderImplementor versionsReader,
                               Number revision)
Description copied from interface: PropertyMapper
Maps properties from the given map to the given object.

Specified by:
mapToEntityFromMap in interface PropertyMapper
Parameters:
verCfg - Versions configuration.
obj - Object to map to.
data - Data to map from.
primaryKey - Primary key of the object to which we map (for relations)
versionsReader - VersionsReader for reading relations
revision - Revision at which the object is read, for reading relations

mapCollectionChanges

public List<PersistentCollectionChangeData> mapCollectionChanges(String referencingPropertyName,
                                                                 PersistentCollection newColl,
                                                                 Serializable oldColl,
                                                                 Serializable id)
Description copied from interface: PropertyMapper
Maps collection changes

Specified by:
mapCollectionChanges in interface PropertyMapper
Parameters:
referencingPropertyName - Name of the field, which holds the collection in the entity.
newColl - New collection, after updates.
oldColl - Old collection, before updates.
id - Id of the object owning the collection.
Returns:
List of changes that need to be performed on the persistent store.

getEntityInfo

protected AbstractToOneMapper.EntityInfo getEntityInfo(AuditConfiguration verCfg,
                                                       String entityName)
Parameters:
verCfg - Audit configuration.
entityName - Entity name.
Returns:
Entity class, name and information whether it is audited or not.

setPropertyValue

protected void setPropertyValue(Object targetObject,
                                Object value)

getPropertyData

protected PropertyData getPropertyData()
Returns:
Bean property that represents the relation.

nullSafeMapToEntityFromMap

public abstract void nullSafeMapToEntityFromMap(AuditConfiguration verCfg,
                                                Object obj,
                                                Map data,
                                                Object primaryKey,
                                                AuditReaderImplementor versionsReader,
                                                Number revision)
Parameter obj is never null.

See Also:
PropertyMapper.mapToEntityFromMap(AuditConfiguration, Object, Map, Object, AuditReaderImplementor, Number)


Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.