Class MultiPropertyMapper
- java.lang.Object
-
- org.hibernate.envers.internal.entities.mapper.AbstractMapper
-
- org.hibernate.envers.internal.entities.mapper.AbstractPropertyMapper
-
- org.hibernate.envers.internal.entities.mapper.MultiPropertyMapper
-
- All Implemented Interfaces:
CompositeMapperBuilder
,DynamicComponentMapperSupport
,ExtendedPropertyMapper
,ModifiedFlagMapperSupport
,PropertyMapper
,SimpleMapperBuilder
- Direct Known Subclasses:
MultiDynamicComponentMapper
public class MultiPropertyMapper extends AbstractPropertyMapper implements ExtendedPropertyMapper
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<PropertyData,PropertyMapper>
properties
-
Constructor Summary
Constructors Constructor Description MultiPropertyMapper()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(PropertyData propertyData)
CompositeMapperBuilder
addComponent(PropertyData propertyData, Class componentClass, EmbeddableInstantiator instantiator)
void
addComposite(PropertyData propertyData, PropertyMapper propertyMapper)
protected Object
getAtIndexOrNull(Object[] array, int index)
Map<PropertyData,PropertyMapper>
getProperties()
Map<String,PropertyData>
getPropertyDatas()
boolean
hasPropertiesWithModifiedFlag()
Returns whether the associatedPropertyMapper
has any properties that use thewitModifiedFlag
feature.boolean
map(SessionImplementor session, Map<String,Object> data, String[] propertyNames, Object[] newState, Object[] oldState)
List<PersistentCollectionChangeData>
mapCollectionChanges(SessionImplementor session, String referencingPropertyName, PersistentCollection newColl, Serializable oldColl, Object id)
Maps collection changes.void
mapModifiedFlagsToMapForCollectionChange(String collectionPropertyName, Map<String,Object> data)
void
mapModifiedFlagsToMapFromEntity(SessionImplementor session, Map<String,Object> data, Object newObj, Object oldObj)
void
mapToEntityFromMap(EnversService enversService, Object obj, Map data, Object primaryKey, AuditReaderImplementor versionsReader, Number revision)
Maps properties from the given map to the given object.Object
mapToEntityFromMap(EnversService enversService, Map data, Object primaryKey, AuditReaderImplementor versionsReader, Number revision)
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 org.hibernate.envers.internal.entities.mapper.AbstractPropertyMapper
isDynamicComponentMap, markAsDynamicComponentMap
-
Methods inherited from class org.hibernate.envers.internal.entities.mapper.AbstractMapper
doPrivileged, getAndSetValue, getValueFromObject, getValueFromObject, newObjectInstance, setValueOnObject
-
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.internal.entities.mapper.DynamicComponentMapperSupport
isDynamicComponentMap, markAsDynamicComponentMap
-
-
-
-
Field Detail
-
properties
protected final Map<PropertyData,PropertyMapper> properties
-
-
Method Detail
-
add
public void add(PropertyData propertyData)
- Specified by:
add
in interfaceSimpleMapperBuilder
-
addComponent
public CompositeMapperBuilder addComponent(PropertyData propertyData, Class componentClass, EmbeddableInstantiator instantiator)
- Specified by:
addComponent
in interfaceCompositeMapperBuilder
-
addComposite
public void addComposite(PropertyData propertyData, PropertyMapper propertyMapper)
- Specified by:
addComposite
in interfaceCompositeMapperBuilder
-
map
public boolean map(SessionImplementor session, Map<String,Object> data, String[] propertyNames, Object[] newState, Object[] oldState)
- Specified by:
map
in interfaceExtendedPropertyMapper
-
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 interfacePropertyMapper
- 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.
-
mapModifiedFlagsToMapFromEntity
public void mapModifiedFlagsToMapFromEntity(SessionImplementor session, Map<String,Object> data, Object newObj, Object oldObj)
- Specified by:
mapModifiedFlagsToMapFromEntity
in interfacePropertyMapper
-
mapToEntityFromMap
public void mapToEntityFromMap(EnversService enversService, 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 interfacePropertyMapper
- Parameters:
enversService
- The EnversService.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 relationsrevision
- Revision at which the object is read, for reading relations
-
mapToEntityFromMap
public Object mapToEntityFromMap(EnversService enversService, Map data, Object primaryKey, AuditReaderImplementor versionsReader, Number revision)
- Specified by:
mapToEntityFromMap
in interfacePropertyMapper
-
mapModifiedFlagsToMapForCollectionChange
public void mapModifiedFlagsToMapForCollectionChange(String collectionPropertyName, Map<String,Object> data)
- Specified by:
mapModifiedFlagsToMapForCollectionChange
in interfacePropertyMapper
-
mapCollectionChanges
public List<PersistentCollectionChangeData> mapCollectionChanges(SessionImplementor session, String referencingPropertyName, PersistentCollection newColl, Serializable oldColl, Object id)
Description copied from interface:PropertyMapper
Maps collection changes.- Specified by:
mapCollectionChanges
in interfacePropertyMapper
- Parameters:
session
- The current session.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()
- Specified by:
getProperties
in interfaceCompositeMapperBuilder
-
getPropertyDatas
public Map<String,PropertyData> getPropertyDatas()
-
hasPropertiesWithModifiedFlag
public boolean hasPropertiesWithModifiedFlag()
Description copied from interface:ModifiedFlagMapperSupport
Returns whether the associatedPropertyMapper
has any properties that use thewitModifiedFlag
feature.- Specified by:
hasPropertiesWithModifiedFlag
in interfaceModifiedFlagMapperSupport
- Returns:
true
if a property useswithModifiedFlag
, otherwisefalse
.
-
-