org.hibernate.envers.entities.mapper
Class MultiPropertyMapper

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

public class MultiPropertyMapper
extends Object
implements ExtendedPropertyMapper

Author:
Adam Warski (adam at warski dot org)

Field Summary
protected  Map<PropertyData,PropertyMapper> properties
           
 
Constructor Summary
MultiPropertyMapper()
           
 
Method Summary
 void add(PropertyData propertyData)
           
 CompositeMapperBuilder addComponent(PropertyData propertyData, String componentClassName)
           
 void addComposite(PropertyData propertyData, PropertyMapper propertyMapper)
           
 Map<PropertyData,PropertyMapper> getProperties()
           
 boolean map(SessionImplementor session, Map<String,Object> data, String[] propertyNames, Object[] newState, Object[] oldState)
           
 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
 

Field Detail

properties

protected final Map<PropertyData,PropertyMapper> properties
Constructor Detail

MultiPropertyMapper

public MultiPropertyMapper()
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

map

public boolean map(SessionImplementor session,
                   Map<String,Object> data,
                   String[] propertyNames,
                   Object[] newState,
                   Object[] oldState)
Specified by:
map in interface ExtendedPropertyMapper

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.

getProperties

public Map<PropertyData,PropertyMapper> getProperties()


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