org.hibernate.envers.synchronization.work
Class FakeBidirectionalRelationWorkUnit
java.lang.Object
org.hibernate.envers.synchronization.work.AbstractAuditWorkUnit
org.hibernate.envers.synchronization.work.FakeBidirectionalRelationWorkUnit
- All Implemented Interfaces:
- AuditWorkUnit, WorkUnitMergeDispatcher, WorkUnitMergeVisitor
public class FakeBidirectionalRelationWorkUnit
- extends AbstractAuditWorkUnit
- implements AuditWorkUnit
A work unit that handles "fake" bidirectional one-to-many relations (mapped with @OneToMany+@JoinColumn
and
@ManyToOne+@Column(insertable=false, updatable=false)
.
- Author:
- Adam Warski (adam at warski dot org)
Constructor Summary |
FakeBidirectionalRelationWorkUnit(FakeBidirectionalRelationWorkUnit original,
AuditWorkUnit nestedWorkUnit)
|
FakeBidirectionalRelationWorkUnit(FakeBidirectionalRelationWorkUnit original,
Map<String,org.hibernate.envers.synchronization.work.FakeBidirectionalRelationWorkUnit.FakeRelationChange> fakeRelationChanges,
AuditWorkUnit nestedWorkUnit)
|
FakeBidirectionalRelationWorkUnit(SessionImplementor sessionImplementor,
String entityName,
AuditConfiguration verCfg,
Serializable id,
String referencingPropertyName,
Object owningEntity,
RelationDescription rd,
RevisionType revisionType,
Object index,
AuditWorkUnit nestedWorkUnit)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FakeBidirectionalRelationWorkUnit
public FakeBidirectionalRelationWorkUnit(SessionImplementor sessionImplementor,
String entityName,
AuditConfiguration verCfg,
Serializable id,
String referencingPropertyName,
Object owningEntity,
RelationDescription rd,
RevisionType revisionType,
Object index,
AuditWorkUnit nestedWorkUnit)
FakeBidirectionalRelationWorkUnit
public FakeBidirectionalRelationWorkUnit(FakeBidirectionalRelationWorkUnit original,
Map<String,org.hibernate.envers.synchronization.work.FakeBidirectionalRelationWorkUnit.FakeRelationChange> fakeRelationChanges,
AuditWorkUnit nestedWorkUnit)
FakeBidirectionalRelationWorkUnit
public FakeBidirectionalRelationWorkUnit(FakeBidirectionalRelationWorkUnit original,
AuditWorkUnit nestedWorkUnit)
getNestedWorkUnit
public AuditWorkUnit getNestedWorkUnit()
getFakeRelationChanges
public Map<String,org.hibernate.envers.synchronization.work.FakeBidirectionalRelationWorkUnit.FakeRelationChange> getFakeRelationChanges()
containsWork
public boolean containsWork()
- Specified by:
containsWork
in interface AuditWorkUnit
generateData
public Map<String,Object> generateData(Object revisionData)
- Specified by:
generateData
in interface AuditWorkUnit
- 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.
merge
public AuditWorkUnit merge(AddWorkUnit second)
- Specified by:
merge
in interface WorkUnitMergeVisitor
merge
public AuditWorkUnit merge(ModWorkUnit second)
- Specified by:
merge
in interface WorkUnitMergeVisitor
merge
public AuditWorkUnit merge(DelWorkUnit second)
- Specified by:
merge
in interface WorkUnitMergeVisitor
merge
public AuditWorkUnit merge(CollectionChangeWorkUnit second)
- Specified by:
merge
in interface WorkUnitMergeVisitor
merge
public AuditWorkUnit merge(FakeBidirectionalRelationWorkUnit second)
- Specified by:
merge
in interface WorkUnitMergeVisitor
dispatch
public AuditWorkUnit dispatch(WorkUnitMergeVisitor first)
- Description copied from interface:
WorkUnitMergeDispatcher
- Shuold be invoked on the second work unit.
- Specified by:
dispatch
in interface WorkUnitMergeDispatcher
- Parameters:
first
- First work unit (that is, the one added earlier).
- Returns:
- The work unit that is the result of the merge.
merge
public static AuditWorkUnit merge(FakeBidirectionalRelationWorkUnit frwu,
AuditWorkUnit nestedFirst,
AuditWorkUnit nestedSecond)
Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.