org.hibernate.envers.entities.mapper
Class ComponentPropertyMapper

java.lang.Object
  extended by org.hibernate.envers.entities.mapper.ComponentPropertyMapper
All Implemented Interfaces:
CompositeMapperBuilder, PropertyMapper, SimpleMapperBuilder

public class ComponentPropertyMapper
extends Object
implements PropertyMapper, CompositeMapperBuilder

Author:
Adam Warski (adam at warski dot org)

Constructor Summary
ComponentPropertyMapper(PropertyData propertyData, String componentClassName)
           
 
Method Summary
 void add(PropertyData propertyData)
           
 CompositeMapperBuilder addComponent(PropertyData propertyData, String componentClassName)
           
 void addComposite(PropertyData propertyData, PropertyMapper propertyMapper)
           
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComponentPropertyMapper

public ComponentPropertyMapper(PropertyData propertyData,
                               String componentClassName)
Method Detail

add

public void add(PropertyData propertyData)
Specified by:
add in interface SimpleMapperBuilder

addComponent

public CompositeMapperBuilder addComponent(PropertyData propertyData,
                                           String componentClassName)
Specified by:
addComponent in interface CompositeMapperBuilder

addComposite

public void addComposite(PropertyData propertyData,
                         PropertyMapper propertyMapper)
Specified by:
addComposite in interface CompositeMapperBuilder

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.


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