public interface AuditReader
Modifier and Type | Method and Description |
---|---|
AuditQueryCreator |
createQuery() |
<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 |
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)
Gets an instance of the current revision entity, to which any entries in the audit tables will be bound.
|
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
cls
- 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, String entityName, Object primaryKey, Number revision) throws IllegalArgumentException, NotAuditedException, IllegalStateException
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.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.List<Number> getRevisions(Class<?> cls, Object primaryKey) throws IllegalArgumentException, NotAuditedException, IllegalStateException
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
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
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
getRevisionDate(getRevisionNumberForDate(date)) <= date
and
getRevisionDate(getRevisionNumberForDate(date)+1) > date
.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 date
is null
.<T> T findRevision(Class<T> revisionEntityClass, Number revision) throws IllegalArgumentException, RevisionDoesNotExistException, IllegalStateException
RevisionEntity
.revisionEntityClass
- 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
revisionEntityClass
- 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.<T> T getCurrentRevision(Class<T> revisionEntityClass, boolean persist)
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.revisionEntityClass
- 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()
boolean isEntityClassAudited(Class<?> entityClass)
entityClass
- Class of the entity asking for audit supportboolean isEntityNameAudited(String entityName)
entityName
- EntityName of the entity asking for audit support.String getEntityName(Object primaryKey, Number revision, Object entity) throws HibernateException
entity
- that was obtained previously from the same AuditReader.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:
org.hibernate.envers.track_entities_changed_in_revision
parameter is set to true
.RevisionEntity
)
extends DefaultTrackingModifiedEntitiesRevisionEntity
base class.RevisionEntity
) encapsulates a field
marked with ModifiedEntityNames
interface.Copyright © 2012 JBoss by Red Hat. All Rights Reserved.