## org.hibernate.envers.synchronization.work
Class AbstractAuditWorkUnit

    java.lang.Object
      org.hibernate.envers.synchronization.work.AbstractAuditWorkUnit

All Implemented Interfaces:
  AuditWorkUnit, WorkUnitMergeDispatcher, WorkUnitMergeVisitor

Direct Known Subclasses:
  AddWorkUnit, CollectionChangeWorkUnit, DelWorkUnit, FakeBidirectionalRelationWorkUnit, ModWorkUnit, PersistentCollectionChangeWorkUnit

    public abstract class AbstractAuditWorkUnit

extends Object
implements AuditWorkUnit

Author:
  Adam Warski (adam at warski dot org), Stephanie Pau at Markit Group Plc, Lukasz Antoniak (lukasz dot antoniak at gmail dot com)

Field Summary
`protected AuditStrategy` `auditStrategy`
`protected String` `entityName`
`protected Serializable` `id`
`protected RevisionType` `revisionType`
`protected SessionImplementor` `sessionImplementor`
`protected AuditConfiguration` `verCfg`

Constructor Summary
`protected` `AbstractAuditWorkUnit(SessionImplementor sessionImplementor, String entityName, AuditConfiguration verCfg, Serializable id, RevisionType revisionType)`

Method Summary
`protected void` `fillDataWithId(Map<String,Object> data, Object revision)`
`Serializable` `getEntityId()`
`String` `getEntityName()`
`RevisionType` `getRevisionType()`
`boolean` `isPerformed()`
`void` `perform(Session session, Object revisionData)` Perform this work unit in the given session.
`protected void` `setPerformed(Object performedData)`
`void` `undo(Session session)`

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
`containsWork, generateData`

Methods inherited from interface org.hibernate.envers.synchronization.work.WorkUnitMergeVisitor
`merge, merge, merge, merge, merge`

Methods inherited from interface org.hibernate.envers.synchronization.work.WorkUnitMergeDispatcher
`dispatch`

Field Detail

### sessionImplementor

    protected final SessionImplementor sessionImplementor

### verCfg

    protected final AuditConfiguration verCfg

### id

    protected final Serializable id

### entityName

    protected final String entityName

### auditStrategy

    protected final AuditStrategy auditStrategy

### revisionType

    protected final RevisionType revisionType

Constructor Detail

### AbstractAuditWorkUnit

    protected AbstractAuditWorkUnit(SessionImplementor sessionImplementor,
                                    String entityName,
                                    AuditConfiguration verCfg,
                                    Serializable id,
                                    RevisionType revisionType)

Method Detail

### fillDataWithId

    protected void fillDataWithId(Map<String,Object> data,
                                  Object revision)

### 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 interface `AuditWorkUnit`
  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.

### getEntityId

    public Serializable getEntityId()

  Specified by:
    `getEntityId` in interface `AuditWorkUnit`

### isPerformed

    public boolean isPerformed()

  Specified by:
    `isPerformed` in interface `AuditWorkUnit`

### getEntityName

    public String getEntityName()

  Specified by:
    `getEntityName` in interface `AuditWorkUnit`

### setPerformed

    protected void setPerformed(Object performedData)

### undo

    public void undo(Session session)

  Specified by:
    `undo` in interface `AuditWorkUnit`

### getRevisionType

    public RevisionType getRevisionType()

  Specified by:
    `getRevisionType` in interface `AuditWorkUnit`
  Returns:
    Performed modification type.

Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.