Interface CrossTypeRevisionChangesReader


  • 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 Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.util.List<java.lang.Object> findEntities​(java.lang.Number revision)
      Find all entities changed (added, updated and removed) in a given revision.
      java.util.List<java.lang.Object> findEntities​(java.lang.Number revision, RevisionType revisionType)
      Find all entities changed (added, updated or removed) in a given revision.
      java.util.Map<RevisionType,​java.util.List<java.lang.Object>> findEntitiesGroupByRevisionType​(java.lang.Number revision)
      Find all entities changed (added, updated and removed) in a given revision grouped by modification type.
      java.util.Set<Pair<java.lang.String,​java.lang.Class>> findEntityTypes​(java.lang.Number revision)
      Returns set of entity names and corresponding Java classes modified in a given revision.
    • Method Detail

      • findEntities

        java.util.List<java.lang.Object> findEntities​(java.lang.Number revision)
                                               throws java.lang.IllegalStateException,
                                                      java.lang.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:
        java.lang.IllegalStateException - If the associated entity manager is closed.
        java.lang.IllegalArgumentException - If a revision number is null, less or equal to 0.
      • findEntities

        java.util.List<java.lang.Object> findEntities​(java.lang.Number revision,
                                                      RevisionType revisionType)
                                               throws java.lang.IllegalStateException,
                                                      java.lang.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:
        java.lang.IllegalStateException - If the associated entity manager is closed.
        java.lang.IllegalArgumentException - If a revision number is null, less or equal to 0.
      • findEntitiesGroupByRevisionType

        java.util.Map<RevisionType,​java.util.List<java.lang.Object>> findEntitiesGroupByRevisionType​(java.lang.Number revision)
                                                                                                    throws java.lang.IllegalStateException,
                                                                                                           java.lang.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:
        java.lang.IllegalStateException - If the associated entity manager is closed.
        java.lang.IllegalArgumentException - If a revision number is null, less or equal to 0.
      • findEntityTypes

        java.util.Set<Pair<java.lang.String,​java.lang.Class>> findEntityTypes​(java.lang.Number revision)
                                                                             throws java.lang.IllegalStateException,
                                                                                    java.lang.IllegalArgumentException
        Returns set of entity names and corresponding Java classes modified in a given revision.
        Parameters:
        revision - Revision number.
        Returns:
        Set of entity names and corresponding Java classes modified in a given revision.
        Throws:
        java.lang.IllegalStateException - If the associated entity manager is closed.
        java.lang.IllegalArgumentException - If a revision number is null, less or equal to 0.