public abstract class AbstractCollectionMapper<T> extends AbstractPropertyMapper
Modifier and Type | Field and Description |
---|---|
protected Class<? extends T> |
collectionClass |
protected CommonCollectionMapperData |
commonCollectionMapperData |
protected boolean |
ordinalInId |
protected boolean |
revisionTypeInId |
Modifier | Constructor and Description |
---|---|
protected |
AbstractCollectionMapper(CommonCollectionMapperData commonCollectionMapperData,
Class<? extends T> collectionClass,
Class<? extends T> proxyClass,
boolean ordinalInId,
boolean revisionTypeInId) |
Modifier and Type | Method and Description |
---|---|
protected void |
addCollectionChanges(SessionImplementor session,
List<PersistentCollectionChangeData> collectionChanges,
Set<Object> changed,
RevisionType revisionType,
Serializable id) |
protected abstract Set<Object> |
buildCollectionChangeSet(Object eventCollection,
Collection collection) |
protected Map<String,Object> |
createIdMap(int ordinal)
Creates map for storing identifier data.
|
protected abstract Initializor<T> |
getInitializor(EnversService enversService,
AuditReaderImplementor versionsReader,
Object primaryKey,
Number revision,
boolean removed) |
protected abstract Collection |
getNewCollectionContent(PersistentCollection newCollection) |
protected abstract Collection |
getOldCollectionContent(Serializable oldCollection) |
boolean |
hasPropertiesWithModifiedFlag()
Returns whether the associated
PropertyMapper has any properties that use
the witModifiedFlag feature. |
protected boolean |
isSame(CollectionPersister collectionPersister,
Object oldObject,
Object newObject)
Checks whether the old collection element and new collection element are the same.
|
protected abstract List<PersistentCollectionChangeData> |
mapCollectionChanges(SessionImplementor session,
PersistentCollection newColl,
Serializable oldColl,
Serializable id)
Map collection changes using hash identity.
|
List<PersistentCollectionChangeData> |
mapCollectionChanges(SessionImplementor session,
String referencingPropertyName,
PersistentCollection newColl,
Serializable oldColl,
Serializable 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.
|
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.
|
protected abstract void |
mapToMapFromObject(SessionImplementor session,
Map<String,Object> idData,
Map<String,Object> data,
Object changed)
Maps the changed collection element to the given map.
|
protected CollectionPersister |
resolveCollectionPersister(SessionImplementor session,
PersistentCollection collection) |
isDynamicComponentMap, markAsDynamicComponentMap
protected final CommonCollectionMapperData commonCollectionMapperData
protected final boolean ordinalInId
protected final boolean revisionTypeInId
protected AbstractCollectionMapper(CommonCollectionMapperData commonCollectionMapperData, Class<? extends T> collectionClass, Class<? extends T> proxyClass, boolean ordinalInId, boolean revisionTypeInId)
protected abstract Collection getNewCollectionContent(PersistentCollection newCollection)
protected abstract Collection getOldCollectionContent(Serializable oldCollection)
protected abstract Set<Object> buildCollectionChangeSet(Object eventCollection, Collection collection)
protected abstract void mapToMapFromObject(SessionImplementor session, Map<String,Object> idData, Map<String,Object> data, Object changed)
idData
- Map to which composite-id data should be added.data
- Where to map the data.changed
- The changed collection element to map.protected Map<String,Object> createIdMap(int ordinal)
ordinal
- Iteration ordinal.protected void addCollectionChanges(SessionImplementor session, List<PersistentCollectionChangeData> collectionChanges, Set<Object> changed, RevisionType revisionType, Serializable id)
public List<PersistentCollectionChangeData> mapCollectionChanges(SessionImplementor session, String referencingPropertyName, PersistentCollection newColl, Serializable oldColl, Serializable id)
PropertyMapper
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.public boolean mapToMapFromEntity(SessionImplementor session, Map<String,Object> data, Object newObj, Object oldObj)
PropertyMapper
session
- The current session.data
- Data to map to.newObj
- New state of the entity.oldObj
- Old state of the entity.public void mapModifiedFlagsToMapFromEntity(SessionImplementor session, Map<String,Object> data, Object newObj, Object oldObj)
public void mapModifiedFlagsToMapForCollectionChange(String collectionPropertyName, Map<String,Object> data)
protected abstract Initializor<T> getInitializor(EnversService enversService, AuditReaderImplementor versionsReader, Object primaryKey, Number revision, boolean removed)
protected CollectionPersister resolveCollectionPersister(SessionImplementor session, PersistentCollection collection)
protected boolean isSame(CollectionPersister collectionPersister, Object oldObject, Object newObject)
CollectionPersister.getElementType()
.collectionPersister
- The collection persister.oldObject
- The collection element from the old persistent collection.newObject
- The collection element from the new persistent collection.public void mapToEntityFromMap(EnversService enversService, Object obj, Map data, Object primaryKey, AuditReaderImplementor versionsReader, Number revision)
PropertyMapper
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 relationsprotected abstract List<PersistentCollectionChangeData> mapCollectionChanges(SessionImplementor session, PersistentCollection newColl, Serializable oldColl, Serializable id)
session
- The session.newColl
- The new persistent collection.oldColl
- The old collection.id
- The owning entity identifier.public boolean hasPropertiesWithModifiedFlag()
ModifiedFlagMapperSupport
PropertyMapper
has any properties that use
the witModifiedFlag
feature.true
if a property uses withModifiedFlag
, otherwise false
.Copyright © 2019 JBoss by Red Hat. All rights reserved.