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 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.SharedSessionContractImplementor session, org.hibernate.collection.spi.PersistentCollection newColl, Serializable oldColl, Object id) Map collection changes using hash identity.protected voidmapToMapFromObject(org.hibernate.engine.spi.SharedSessionContractImplementor session, Map<String, Object> idData, Map<String, Object> data, Object changed) Maps the changed collection element to the given map.Methods inherited from class AbstractCollectionMapper
addCollectionChanges, createIdMap, hasPropertiesWithModifiedFlag, mapCollectionChanges, mapModifiedFlagsToMapForCollectionChange, mapModifiedFlagsToMapFromEntity, mapToEntityFromMap, mapToEntityFromMap, mapToMapFromEntity, resolveCollectionPersisterMethods inherited from class AbstractPropertyMapper
isDynamicComponentMap, markAsDynamicComponentMapMethods inherited from class AbstractMapper
getAndSetValue, getValueFromObject, getValueFromObject, newObjectInstance, setValueOnObjectMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface DynamicComponentMapperSupport
isDynamicComponentMap, markAsDynamicComponentMapMethods inherited from interface ModifiedFlagMapperSupport
hasPropertiesWithModifiedFlagMethods inherited from interface 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>
-
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.
-