org.hibernate.envers.reader
Class CrossTypeRevisionChangesReaderImpl

java.lang.Object
  extended by org.hibernate.envers.reader.CrossTypeRevisionChangesReaderImpl
All Implemented Interfaces:
CrossTypeRevisionChangesReader

public class CrossTypeRevisionChangesReaderImpl
extends Object
implements CrossTypeRevisionChangesReader


Constructor Summary
CrossTypeRevisionChangesReaderImpl(AuditReaderImplementor auditReaderImplementor, AuditConfiguration verCfg)
           
 
Method Summary
 List<Object> findEntities(Number revision)
          Find all entities changed (added, updated and removed) in a given revision.
 List<Object> findEntities(Number revision, RevisionType revisionType)
          Find all entities changed (added, updated or removed) in a given revision.
 Map<RevisionType,List<Object>> findEntitiesGroupByRevisionType(Number revision)
          Find all entities changed (added, updated and removed) in a given revision grouped by modification type.
 Set<Pair<String,Class>> findEntityTypes(Number revision)
          Returns set of entity names and corresponding Java classes modified in a given revision.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CrossTypeRevisionChangesReaderImpl

public CrossTypeRevisionChangesReaderImpl(AuditReaderImplementor auditReaderImplementor,
                                          AuditConfiguration verCfg)
Method Detail

findEntities

public List<Object> findEntities(Number revision)
                          throws IllegalStateException,
                                 IllegalArgumentException
Description copied from interface: CrossTypeRevisionChangesReader
Find all entities changed (added, updated and removed) in a given revision. Executes n+1 SQL queries, where n is a number of different entity classes modified within specified revision.

Specified by:
findEntities in interface CrossTypeRevisionChangesReader
Parameters:
revision - Revision number.
Returns:
Snapshots of all audited entities changed in a given revision.
Throws:
IllegalStateException - If the associated entity manager is closed.
IllegalArgumentException - If a revision number is null, less or equal to 0.

findEntities

public List<Object> findEntities(Number revision,
                                 RevisionType revisionType)
                          throws IllegalStateException,
                                 IllegalArgumentException
Description copied from interface: CrossTypeRevisionChangesReader
Find all entities changed (added, updated or removed) in a given revision. Executes n+1 SQL queries, where n is a number of different entity classes modified within specified revision.

Specified by:
findEntities in interface CrossTypeRevisionChangesReader
Parameters:
revision - Revision number.
revisionType - Type of modification.
Returns:
Snapshots of all audited entities changed in a given revision and filtered by modification type.
Throws:
IllegalStateException - If the associated entity manager is closed.
IllegalArgumentException - If a revision number is null, less or equal to 0.

findEntitiesGroupByRevisionType

public Map<RevisionType,List<Object>> findEntitiesGroupByRevisionType(Number revision)
                                                               throws IllegalStateException,
                                                                      IllegalArgumentException
Description copied from interface: CrossTypeRevisionChangesReader
Find all entities changed (added, updated and removed) in a given revision grouped by modification type. Executes mn+1 SQL queries, where:

Specified by:
findEntitiesGroupByRevisionType in interface CrossTypeRevisionChangesReader
Parameters:
revision - Revision number.
Returns:
Map containing lists of entity snapshots grouped by modification operation (e.g. addition, update, removal).
Throws:
IllegalStateException - If the associated entity manager is closed.
IllegalArgumentException - If a revision number is null, less or equal to 0.

findEntityTypes

public Set<Pair<String,Class>> findEntityTypes(Number revision)
                                        throws IllegalStateException,
                                               IllegalArgumentException
Description copied from interface: CrossTypeRevisionChangesReader
Returns set of entity names and corresponding Java classes modified in a given revision.

Specified by:
findEntityTypes in interface CrossTypeRevisionChangesReader
Parameters:
revision - Revision number.
Returns:
Set of entity names and corresponding Java classes modified in a given revision.
Throws:
IllegalStateException - If the associated entity manager is closed.
IllegalArgumentException - If a revision number is null, less or equal to 0.


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