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
FieldsModifier and TypeFieldDescriptionprotected final MiddleComponentDataprotected final MiddleComponentDataFields inherited from class org.hibernate.envers.internal.entities.mapper.relation.AbstractCollectionMapper
collectionClass, commonCollectionMapperData, configuration, ordinalInId, revisionTypeInId -
Constructor Summary
ConstructorsConstructorDescriptionMapCollectionMapper(Configuration configuration, CommonCollectionMapperData commonCollectionMapperData, Class<? extends T> collectionClass, Class<? extends T> proxyClass, MiddleComponentData elementComponentData, MiddleComponentData indexComponentData, boolean revisionTypeInId) -
Method Summary
Modifier and TypeMethodDescriptionbuildCollectionChangeSet(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.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, resolveCollectionPersisterMethods inherited from class org.hibernate.envers.internal.entities.mapper.AbstractPropertyMapper
isDynamicComponentMap, markAsDynamicComponentMapMethods inherited from class org.hibernate.envers.internal.entities.mapper.AbstractMapper
getAndSetValue, getValueFromObject, getValueFromObject, newObjectInstance, setValueOnObjectMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.envers.internal.entities.mapper.DynamicComponentMapperSupport
isDynamicComponentMap, markAsDynamicComponentMapMethods inherited from interface org.hibernate.envers.internal.entities.mapper.ModifiedFlagMapperSupport
hasPropertiesWithModifiedFlagMethods inherited from interface org.hibernate.envers.internal.entities.mapper.PropertyMapper
mapCollectionChanges, mapModifiedFlagsToMapForCollectionChange, mapModifiedFlagsToMapFromEntity, mapToEntityFromMap, mapToEntityFromMap, mapToMapFromEntity
-
Field Details
-
elementComponentData
-
indexComponentData
-
-
Constructor Details
-
MapCollectionMapper
public MapCollectionMapper(Configuration configuration, CommonCollectionMapperData commonCollectionMapperData, Class<? extends T> collectionClass, Class<? extends T> proxyClass, MiddleComponentData elementComponentData, MiddleComponentData indexComponentData, boolean revisionTypeInId)
-
-
Method Details
-
getInitializor
protected Initializor<T> getInitializor(EnversService enversService, AuditReaderImplementor versionsReader, Object primaryKey, Number revision, boolean removed) - Specified by:
getInitializorin classAbstractCollectionMapper<T extends Map>
-
getNewCollectionContent
- Specified by:
getNewCollectionContentin classAbstractCollectionMapper<T extends Map>
-
getOldCollectionContent
- 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
- 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.
-