## 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)`.

Field Summary

Fields inherited from class org.hibernate.envers.synchronization.work.AbstractAuditWorkUnit
`auditStrategy, entityName, id, revisionType, sessionImplementor, verCfg`

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)`

Method Summary
`boolean` `containsWork()`
`AuditWorkUnit` `dispatch(WorkUnitMergeVisitor first)` Shuold be invoked on the second work unit.
`Map<String,Object>` `generateData(Object revisionData)`
`Map<String,org.hibernate.envers.synchronization.work.FakeBidirectionalRelationWorkUnit.FakeRelationChange>` `getFakeRelationChanges()`
`AuditWorkUnit` `getNestedWorkUnit()`
`AuditWorkUnit` `merge(AddWorkUnit second)`
`AuditWorkUnit` `merge(CollectionChangeWorkUnit second)`
`AuditWorkUnit` `merge(DelWorkUnit second)`
`AuditWorkUnit` `merge(FakeBidirectionalRelationWorkUnit second)`
`static AuditWorkUnit` `merge(FakeBidirectionalRelationWorkUnit frwu, AuditWorkUnit nestedFirst, AuditWorkUnit nestedSecond)`
`AuditWorkUnit` `merge(ModWorkUnit second)`

Methods inherited from class org.hibernate.envers.synchronization.work.AbstractAuditWorkUnit
`fillDataWithId, getEntityId, getEntityName, getRevisionType, isPerformed, perform, 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.synchronization.work.AuditWorkUnit
`getEntityId, getEntityName, getRevisionType, isPerformed, perform, undo`

Constructor Detail

### 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)

Method Detail

### 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-2012 Red Hat, Inc. All Rights Reserved.