## org.hibernate.envers.reader
Class CrossTypeRevisionChangesReaderImpl

    java.lang.Object
      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:
  - n - number of different entity classes modified within specified revision.
  - m - number of different revision types. See `RevisionType` enum.

  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.