Class MapCollectionMapper<T extends Map>
- java.lang.Object
-
- org.hibernate.envers.internal.entities.mapper.AbstractMapper
-
- org.hibernate.envers.internal.entities.mapper.AbstractPropertyMapper
-
- org.hibernate.envers.internal.entities.mapper.relation.AbstractCollectionMapper<T>
-
- org.hibernate.envers.internal.entities.mapper.relation.MapCollectionMapper<T>
-
- All Implemented Interfaces:
DynamicComponentMapperSupport,ModifiedFlagMapperSupport,PropertyMapper
- Direct Known Subclasses:
SortedMapCollectionMapper
public class MapCollectionMapper<T extends Map> extends AbstractCollectionMapper<T> implements PropertyMapper
-
-
Field Summary
Fields Modifier and Type Field Description protected MiddleComponentDataelementComponentDataprotected MiddleComponentDataindexComponentData-
Fields inherited from class org.hibernate.envers.internal.entities.mapper.relation.AbstractCollectionMapper
collectionClass, commonCollectionMapperData, configuration, ordinalInId, revisionTypeInId
-
-
Constructor Summary
Constructors Constructor Description MapCollectionMapper(Configuration configuration, CommonCollectionMapperData commonCollectionMapperData, Class<? extends T> collectionClass, Class<? extends T> proxyClass, MiddleComponentData elementComponentData, MiddleComponentData indexComponentData, boolean revisionTypeInId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Set<Object>buildCollectionChangeSet(Object eventCollection, Collection collection)protected Initializor<T>getInitializor(EnversService enversService, AuditReaderImplementor versionsReader, Object primaryKey, Number revision, boolean removed)protected CollectiongetNewCollectionContent(PersistentCollection newCollection)protected CollectiongetOldCollectionContent(Serializable oldCollection)protected booleanisSame(CollectionPersister collectionPersister, Object oldObject, Object newObject)Checks whether the old collection element and new collection element are the same.List<PersistentCollectionChangeData>mapCollectionChanges(SessionImplementor session, PersistentCollection newColl, Serializable oldColl, Object id)Map collection changes using hash identity.protected voidmapToMapFromObject(SessionImplementor session, Map<String,Object> idData, Map<String,Object> data, Object changed)Maps the changed collection element to the given map.-
Methods inherited from class org.hibernate.envers.internal.entities.mapper.relation.AbstractCollectionMapper
addCollectionChanges, createIdMap, hasPropertiesWithModifiedFlag, mapCollectionChanges, mapModifiedFlagsToMapForCollectionChange, mapModifiedFlagsToMapFromEntity, mapToEntityFromMap, mapToEntityFromMap, mapToMapFromEntity, resolveCollectionPersister
-
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
-
Methods inherited from interface org.hibernate.envers.internal.entities.mapper.ModifiedFlagMapperSupport
hasPropertiesWithModifiedFlag
-
Methods inherited from interface org.hibernate.envers.internal.entities.mapper.PropertyMapper
mapCollectionChanges, mapModifiedFlagsToMapForCollectionChange, mapModifiedFlagsToMapFromEntity, mapToEntityFromMap, mapToEntityFromMap, mapToMapFromEntity
-
-
-
-
Field Detail
-
elementComponentData
protected final MiddleComponentData elementComponentData
-
indexComponentData
protected final MiddleComponentData indexComponentData
-
-
Constructor Detail
-
MapCollectionMapper
public MapCollectionMapper(Configuration configuration, CommonCollectionMapperData commonCollectionMapperData, Class<? extends T> collectionClass, Class<? extends T> proxyClass, MiddleComponentData elementComponentData, MiddleComponentData indexComponentData, boolean revisionTypeInId)
-
-
Method Detail
-
getInitializor
protected Initializor<T> getInitializor(EnversService enversService, AuditReaderImplementor versionsReader, Object primaryKey, Number revision, boolean removed)
- Specified by:
getInitializorin classAbstractCollectionMapper<T extends Map>
-
getNewCollectionContent
protected Collection getNewCollectionContent(PersistentCollection newCollection)
- Specified by:
getNewCollectionContentin classAbstractCollectionMapper<T extends Map>
-
getOldCollectionContent
protected Collection getOldCollectionContent(Serializable oldCollection)
- Specified by:
getOldCollectionContentin classAbstractCollectionMapper<T extends Map>
-
mapToMapFromObject
protected void mapToMapFromObject(SessionImplementor session, Map<String,Object> idData, Map<String,Object> data, Object changed)
Description copied from class:AbstractCollectionMapperMaps the changed collection element to the given map.- Specified by:
mapToMapFromObjectin classAbstractCollectionMapper<T extends Map>idData- Map to which composite-id data should be added.data- Where to map the data.changed- The changed collection element to map.
-
buildCollectionChangeSet
protected Set<Object> buildCollectionChangeSet(Object eventCollection, Collection collection)
- Specified by:
buildCollectionChangeSetin classAbstractCollectionMapper<T extends Map>
-
isSame
protected boolean isSame(CollectionPersister collectionPersister, Object oldObject, Object newObject)
Description copied from class:AbstractCollectionMapperChecks whether the old collection element and new collection element are the same. By default, this delegates to the collection persister'sCollectionPersister.getElementType().- Overrides:
isSamein classAbstractCollectionMapper<T extends Map>- Parameters:
collectionPersister- The collection persister.oldObject- The collection element from the old persistent collection.newObject- The collection element from the new persistent collection.- Returns:
- true if the two objects are the same, false otherwise.
-
mapCollectionChanges
public List<PersistentCollectionChangeData> mapCollectionChanges(SessionImplementor session, PersistentCollection newColl, Serializable oldColl, Object id)
Description copied from class:AbstractCollectionMapperMap collection changes using hash identity.- Specified by:
mapCollectionChangesin classAbstractCollectionMapper<T extends Map>- Parameters:
session- The session.newColl- The new persistent collection.oldColl- The old collection.id- The owning entity identifier.- Returns:
- the persistent collection changes.
-
-