public interface AuditReader
Modifier and Type | Method and Description |
---|---|
AuditQueryCreator |
createQuery()
Creates an audit query
|
<T> T |
find(Class<T> cls,
Object primaryKey,
Date date)
Find an entity by primary key on the given date.
|
<T> T |
find(Class<T> cls,
Object primaryKey,
Number revision)
Find an entity by primary key at the given revision.
|
<T> T |
find(Class<T> cls,
String entityName,
Object primaryKey,
Number revision)
Find an entity by primary key at the given revision with the specified entityName.
|
<T> T |
find(Class<T> cls,
String entityName,
Object primaryKey,
Number revision,
boolean includeDeletions)
Find an entity by primary key at the given revision with the specified entityName,
possibly including deleted entities in the search.
|
<T> T |
findRevision(Class<T> revisionEntityClass,
Number revision)
A helper method; should be used only if a custom revision entity is used.
|
<T> Map<Number,T> |
findRevisions(Class<T> revisionEntityClass,
Set<Number> revisions)
Find a map of revisions using the revision numbers specified.
|
CrossTypeRevisionChangesReader |
getCrossTypeRevisionChangesReader() |
<T> T |
getCurrentRevision(Class<T> revisionEntityClass,
boolean persist)
Deprecated.
(since 5.2), use
RevisionListener instead. While this method is
being deprecated, expect a new API for this in 6.0. |
String |
getEntityName(Object primaryKey,
Number revision,
Object entity) |
Date |
getRevisionDate(Number revision)
Get the date, at which a revision was created.
|
Number |
getRevisionNumberForDate(Date date)
Gets the revision number, that corresponds to the given date.
|
List<Number> |
getRevisions(Class<?> cls,
Object primaryKey)
Get a list of revision numbers, at which an entity was modified.
|
List<Number> |
getRevisions(Class<?> cls,
String entityName,
Object primaryKey)
Get a list of revision numbers, at which an entity was modified, looking by entityName.
|
boolean |
isEntityClassAudited(Class<?> entityClass)
Checks if the entityClass was configured to be audited.
|
boolean |
isEntityNameAudited(String entityName)
Checks if the entityName was configured to be audited.
|
<T> T find(Class<T> cls, Object primaryKey, Number revision) throws IllegalArgumentException, NotAuditedException, IllegalStateException
Find an entity by primary key at the given revision.
T
- The type of the entity to findcls
- Class of the entity.primaryKey
- Primary key of the entity.revision
- Revision in which to get the entity.IllegalArgumentException
- If cls or primaryKey is null or revision is less or equal to 0.NotAuditedException
- When entities of the given class are not audited.IllegalStateException
- If the associated entity manager is closed.<T> T find(Class<T> cls, Object primaryKey, Date date) throws IllegalArgumentException, NotAuditedException, RevisionDoesNotExistException, IllegalStateException
Find an entity by primary key on the given date. The date specifies restricting the result to any entity created on or before the date with the highest revision number.
cls
- Class of the entity.primaryKey
- Primary key of the entity.date
- Date for which to get entity revision.IllegalArgumentException
- if cls, primaryKey, or date is null.NotAuditedException
- When entities of the given class are not audited.RevisionDoesNotExistException
- If the given date is before the first revision.IllegalStateException
- If the associated entity manager is closed.<T> T find(Class<T> cls, String entityName, Object primaryKey, Number revision) throws IllegalArgumentException, NotAuditedException, IllegalStateException
Find an entity by primary key at the given revision with the specified entityName.
T
- The type of the entity to findcls
- Class of the entity.entityName
- Name of the entity (if can’t be guessed basing on the cls
).primaryKey
- Primary key of the entity.revision
- Revision in which to get the entity.IllegalArgumentException
- If cls or primaryKey is null or revision is less or equal to 0.NotAuditedException
- When entities of the given class are not audited.IllegalStateException
- If the associated entity manager is closed.<T> T find(Class<T> cls, String entityName, Object primaryKey, Number revision, boolean includeDeletions) throws IllegalArgumentException, NotAuditedException, IllegalStateException
Find an entity by primary key at the given revision with the specified entityName, possibly including deleted entities in the search.
T
- The type of the entity to findcls
- Class of the entity.entityName
- Name of the entity (if can’t be guessed basing on the cls
).primaryKey
- Primary key of the entity.revision
- Revision in which to get the entity.includeDeletions
- Whether to include deleted entities in the search.IllegalArgumentException
- If cls or primaryKey is null or revision is less or equal to 0.NotAuditedException
- When entities of the given class are not audited.IllegalStateException
- If the associated entity manager is closed.List<Number> getRevisions(Class<?> cls, Object primaryKey) throws IllegalArgumentException, NotAuditedException, IllegalStateException
Get a list of revision numbers, at which an entity was modified.
cls
- Class of the entity.primaryKey
- Primary key of the entity.NotAuditedException
- When entities of the given class are not audited.IllegalArgumentException
- If cls or primaryKey is null.IllegalStateException
- If the associated entity manager is closed.List<Number> getRevisions(Class<?> cls, String entityName, Object primaryKey) throws IllegalArgumentException, NotAuditedException, IllegalStateException
Get a list of revision numbers, at which an entity was modified, looking by entityName.
cls
- Class of the entity.entityName
- Name of the entity (if can’t be guessed basing on the cls
).primaryKey
- Primary key of the entity.NotAuditedException
- When entities of the given class are not audited.IllegalArgumentException
- If cls or primaryKey is null.IllegalStateException
- If the associated entity manager is closed.Date getRevisionDate(Number revision) throws IllegalArgumentException, RevisionDoesNotExistException, IllegalStateException
Get the date, at which a revision was created.
revision
- Number of the revision for which to get the date.IllegalArgumentException
- If revision is less or equal to 0.RevisionDoesNotExistException
- If the revision does not exist.IllegalStateException
- If the associated entity manager is closed.Number getRevisionNumberForDate(Date date) throws IllegalStateException, RevisionDoesNotExistException, IllegalArgumentException
Gets the revision number, that corresponds to the given date. More precisely, returns the number of the highest revision, which was created on or before the given date. So: <code>getRevisionDate(getRevisionNumberForDate(date)) ⇐ date</code> and <code>getRevisionDate(getRevisionNumberForDate(date)+1) > date</code>.
date
- Date for which to get the revision.IllegalStateException
- If the associated entity manager is closed.RevisionDoesNotExistException
- If the given date is before the first revision.IllegalArgumentException
- If <code>date</code> is <code>null</code>.<T> T findRevision(Class<T> revisionEntityClass, Number revision) throws IllegalArgumentException, RevisionDoesNotExistException, IllegalStateException
A helper method; should be used only if a custom revision entity is used. See also RevisionEntity
.
T
- The type of the revision entity to findrevisionEntityClass
- Class of the revision entity. Should be annotated with RevisionEntity
.revision
- Number of the revision for which to get the data.IllegalArgumentException
- If revision is less or equal to 0 or if the class of the revision entity
is invalid.RevisionDoesNotExistException
- If the revision does not exist.IllegalStateException
- If the associated entity manager is closed.<T> Map<Number,T> findRevisions(Class<T> revisionEntityClass, Set<Number> revisions) throws IllegalArgumentException, IllegalStateException
Find a map of revisions using the revision numbers specified.
T
- The type of the revision entity to findrevisionEntityClass
- Class of the revision entity. Should be annotated with
RevisionEntity
.revisions
- Revision numbers of the revision for which to get the data.IllegalArgumentException
- If a revision number is less or equal to 0 or if the class of
the revision entity is invalid.IllegalStateException
- If the associated entity manager is closed.@Deprecated <T> T getCurrentRevision(Class<T> revisionEntityClass, boolean persist)
RevisionListener
instead. While this method is
being deprecated, expect a new API for this in 6.0.Gets an instance of the current revision entity, to which any entries in the audit tables will be bound.
Please note the if persist
is false
, and no audited entities are modified in this session,
then the obtained revision entity instance won’t be persisted. If persist
is true
, the revision
entity instance will always be persisted, regardless of whether audited entities are changed or not.
T
- The type of the revision entity to findrevisionEntityClass
- Class of the revision entity. Should be annotated with RevisionEntity
.persist
- If the revision entity is not yet persisted, should it become persisted. This way, the primary
identifier (id) will be filled (if it’s assigned by the DB) and available, but the revision entity will be
persisted even if there are no changes to audited entities. Otherwise, the revision number (id) can be
null
.AuditQueryCreator createQuery()
Creates an audit query
boolean isEntityClassAudited(Class<?> entityClass)
Checks if the entityClass was configured to be audited. Calling isEntityNameAudited() with the string of the class name will return the same value.
entityClass
- Class of the entity asking for audit supportboolean isEntityNameAudited(String entityName)
Checks if the entityName was configured to be audited.
entityName
- EntityName of the entity asking for audit support.String getEntityName(Object primaryKey, Number revision, Object entity) throws org.hibernate.HibernateException
entity
- that was obtained previously from the same AuditReader.org.hibernate.HibernateException
CrossTypeRevisionChangesReader getCrossTypeRevisionChangesReader() throws AuditException
CrossTypeRevisionChangesReader
interface. Raises an exception if the default
mechanism of tracking entity names modified during revisions has not been enabled.AuditException
- If none of the following conditions is satisfied:
<ul>
<li><code>org.hibernate.envers.track_entities_changed_in_revision</code>
parameter is set to <code>true</code>.</li>
<li>Custom revision entity (annotated with RevisionEntity
)
extends DefaultTrackingModifiedEntitiesRevisionEntity
base class.</li>
<li>Custom revision entity (annotated with RevisionEntity
) encapsulates a field
marked with ModifiedEntityNames
interface.</li>
</ul>Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.