Interface CrossTypeRevisionChangesReader

  • All Known Implementing Classes:
    CrossTypeRevisionChangesReaderImpl

    public interface CrossTypeRevisionChangesReader
    Queries that allow retrieving snapshots of all entities (regardless of their particular type) changed in the given revision. Note that this API can be legally used only when default mechanism of tracking modified entity names is enabled.
    • Method Detail

      • findEntities

        List<Object> findEntities​(Number revision)
                           throws IllegalStateException,
                                  IllegalArgumentException
        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.
        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

        List<Object> findEntities​(Number revision,
                                  RevisionType revisionType)
                           throws IllegalStateException,
                                  IllegalArgumentException
        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.
        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

        Map<RevisionType,​List<Object>> findEntitiesGroupByRevisionType​(Number revision)
                                                                      throws IllegalStateException,
                                                                             IllegalArgumentException
        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.
        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.