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(org.hibernate.collection.spi.PersistentCollection newCollection) protected CollectiongetOldCollectionContent(Serializable oldCollection) protected booleanisSame(org.hibernate.persister.collection.CollectionPersister collectionPersister, Object oldObject, Object newObject) Checks whether the old collection element and new collection element are the same.mapCollectionChanges(org.hibernate.engine.spi.SessionImplementor session, org.hibernate.collection.spi.PersistentCollection newColl, Serializable oldColl, Object id) Map collection changes using hash identity.protected voidmapToMapFromObject(org.hibernate.engine.spi.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
protected Collection getNewCollectionContent(org.hibernate.collection.spi.PersistentCollection newCollection) - Specified by:
getNewCollectionContentin classAbstractCollectionMapper<T extends Map>
-
getOldCollectionContent
- Specified by:
getOldCollectionContentin classAbstractCollectionMapper<T extends Map>
-
mapToMapFromObject
protected void mapToMapFromObject(org.hibernate.engine.spi.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(org.hibernate.persister.collection.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(org.hibernate.engine.spi.SessionImplementor session, org.hibernate.collection.spi.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.
-