Class PersistentCollectionChangeWorkUnit
- java.lang.Object
-
- org.hibernate.envers.internal.synchronization.work.AbstractAuditWorkUnit
-
- org.hibernate.envers.internal.synchronization.work.PersistentCollectionChangeWorkUnit
-
- All Implemented Interfaces:
AuditWorkUnit
,WorkUnitMergeDispatcher
,WorkUnitMergeVisitor
public class PersistentCollectionChangeWorkUnit extends AbstractAuditWorkUnit implements AuditWorkUnit
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PersistentCollectionChangeWorkUnit.PersistentCollectionChangeWorkUnitId
A unique identifier for a collection work unit.
-
Field Summary
-
Fields inherited from class org.hibernate.envers.internal.synchronization.work.AbstractAuditWorkUnit
auditStrategy, entityName, enversService, id, revisionType, sessionImplementor
-
-
Constructor Summary
Constructors Constructor Description PersistentCollectionChangeWorkUnit(SessionImplementor sessionImplementor, String entityName, EnversService enversService, Object id, List<PersistentCollectionChangeData> collectionChanges, String referencingPropertyName)
PersistentCollectionChangeWorkUnit(SessionImplementor sessionImplementor, String entityName, EnversService enversService, PersistentCollection collection, CollectionEntry collectionEntry, Serializable snapshot, Object id, String referencingPropertyName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
containsWork()
AuditWorkUnit
dispatch(WorkUnitMergeVisitor first)
Should be invoked on the second work unit.Map<String,Object>
generateData(Object revisionData)
List<PersistentCollectionChangeData>
getCollectionChanges()
String
getReferencingPropertyName()
AuditWorkUnit
merge(AddWorkUnit second)
AuditWorkUnit
merge(CollectionChangeWorkUnit second)
AuditWorkUnit
merge(DelWorkUnit second)
AuditWorkUnit
merge(FakeBidirectionalRelationWorkUnit second)
AuditWorkUnit
merge(ModWorkUnit second)
void
perform(Session session, Object revisionData)
Perform this work unit in the given session.-
Methods inherited from class org.hibernate.envers.internal.synchronization.work.AbstractAuditWorkUnit
fillDataWithId, getEntityId, getEntityName, getRevisionType, isPerformed, setPerformed, undo
-
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.synchronization.work.AuditWorkUnit
getEntityId, getEntityName, getRevisionType, isPerformed, undo
-
-
-
-
Constructor Detail
-
PersistentCollectionChangeWorkUnit
public PersistentCollectionChangeWorkUnit(SessionImplementor sessionImplementor, String entityName, EnversService enversService, PersistentCollection collection, CollectionEntry collectionEntry, Serializable snapshot, Object id, String referencingPropertyName)
-
PersistentCollectionChangeWorkUnit
public PersistentCollectionChangeWorkUnit(SessionImplementor sessionImplementor, String entityName, EnversService enversService, Object id, List<PersistentCollectionChangeData> collectionChanges, String referencingPropertyName)
-
-
Method Detail
-
containsWork
public boolean containsWork()
- Specified by:
containsWork
in interfaceAuditWorkUnit
-
generateData
public Map<String,Object> generateData(Object revisionData)
- Specified by:
generateData
in interfaceAuditWorkUnit
- Parameters:
revisionData
- The current revision data, which will be used to populate the work unit with the correct revision relation.- Returns:
- Generates data that should be saved when performing this work unit.
-
perform
public void perform(Session session, Object revisionData)
Description copied from interface:AuditWorkUnit
Perform this work unit in the given session.- Specified by:
perform
in interfaceAuditWorkUnit
- Overrides:
perform
in classAbstractAuditWorkUnit
- Parameters:
session
- Session, in which the work unit should be performed.revisionData
- The current revision data, which will be used to populate the work unit with the correct revision relation.
-
getReferencingPropertyName
public String getReferencingPropertyName()
-
getCollectionChanges
public List<PersistentCollectionChangeData> getCollectionChanges()
-
merge
public AuditWorkUnit merge(AddWorkUnit second)
- Specified by:
merge
in interfaceWorkUnitMergeVisitor
-
merge
public AuditWorkUnit merge(ModWorkUnit second)
- Specified by:
merge
in interfaceWorkUnitMergeVisitor
-
merge
public AuditWorkUnit merge(DelWorkUnit second)
- Specified by:
merge
in interfaceWorkUnitMergeVisitor
-
merge
public AuditWorkUnit merge(CollectionChangeWorkUnit second)
- Specified by:
merge
in interfaceWorkUnitMergeVisitor
-
merge
public AuditWorkUnit merge(FakeBidirectionalRelationWorkUnit second)
- Specified by:
merge
in interfaceWorkUnitMergeVisitor
-
dispatch
public AuditWorkUnit dispatch(WorkUnitMergeVisitor first)
Description copied from interface:WorkUnitMergeDispatcher
Should be invoked on the second work unit.- Specified by:
dispatch
in interfaceWorkUnitMergeDispatcher
- Parameters:
first
- First work unit (that is, the one added earlier).- Returns:
- The work unit that is the result of the merge.
-
-