Package io.jmix.audit.snapshot.impl
Class EntitySnapshotManagerImpl
java.lang.Object
io.jmix.audit.snapshot.impl.EntitySnapshotManagerImpl
- All Implemented Interfaces:
- EntitySnapshotManager
@Component("audit_EntitySnapshotManager")
public class EntitySnapshotManagerImpl
extends Object
implements EntitySnapshotManager
- 
Constructor SummaryConstructorsConstructorDescriptionEntitySnapshotManagerImpl(ExtendedEntities extendedEntities, UnconstrainedDataManager unconstrainedDataManager, FetchPlans fetchPlans, MetadataTools metadataTools, Metadata metadata, ReferenceToEntitySupport referenceToEntitySupport, TimeSource timeSource, CurrentAuthentication currentAuthentication, EntitySerialization entitySerialization, FetchPlanSerialization fetchPlanSerialization, EntitySnapshotDataStore entitySnapshotDataStore) 
- 
Method SummaryModifier and TypeMethodDescriptioncreateSnapshot(Object entity, FetchPlan fetchPlan) Create snapshot for Entity and store it to databasecreateSnapshot(Object entity, FetchPlan fetchPlan, Date snapshotDate) Create snapshot for Entity with specific date and store it to databasecreateSnapshot(Object entity, FetchPlan fetchPlan, Date snapshotDate, String authorUsername) Create snapshot for Entity with specific date and author and store it to databasecreateTempSnapshot(Object entity, FetchPlan fetchPlan) Creates non-persistent snapshot for entity.createTempSnapshot(Object entity, FetchPlan fetchPlan, Date snapshotDate) Creates non-persistent snapshot for entity with a specific date.createTempSnapshot(Object entity, FetchPlan fetchPlan, Date snapshotDate, String authorUsername) Creates non-persistent snapshot for entity with a specific date and author.extractEntity(EntitySnapshotModel snapshot) Restore entity by snapshotextractFetchPlan(EntitySnapshotModel snapshot) Restore fetch plan from snapshotgetLastEntitySnapshot(MetaClass metaClass, Object referenceId) Get the last snapshot for the given entity by id.getLastEntitySnapshot(Object entity) Get the last snapshot for the given entity.getSnapshots(MetaClass metaClass, Object id) Load snapshots for entitygetSnapshots(Object entity) Get snapshots for entityvoidTranslate snapshots for archival classes
- 
Constructor Details- 
EntitySnapshotManagerImplpublic EntitySnapshotManagerImpl(ExtendedEntities extendedEntities, UnconstrainedDataManager unconstrainedDataManager, FetchPlans fetchPlans, MetadataTools metadataTools, Metadata metadata, ReferenceToEntitySupport referenceToEntitySupport, TimeSource timeSource, CurrentAuthentication currentAuthentication, EntitySerialization entitySerialization, FetchPlanSerialization fetchPlanSerialization, EntitySnapshotDataStore entitySnapshotDataStore) 
 
- 
- 
Method Details- 
getSnapshotsDescription copied from interface:EntitySnapshotManagerLoad snapshots for entity- Specified by:
- getSnapshotsin interface- EntitySnapshotManager
- Parameters:
- metaClass- Entity metaclass
- id- Entity Id
- Returns:
- Snapshot list sorted by snapshotDate desc
 
- 
getSnapshotsDescription copied from interface:EntitySnapshotManagerGet snapshots for entity- Specified by:
- getSnapshotsin interface- EntitySnapshotManager
- Parameters:
- entity- Entity object
- Returns:
- Snapshot list
 
- 
migrateSnapshotsDescription copied from interface:EntitySnapshotManagerTranslate snapshots for archival classes- Specified by:
- migrateSnapshotsin interface- EntitySnapshotManager
- Parameters:
- metaClass- Metaclass
- id- Entity Id
- classMapping- Map of [OldClass -> NewClass] for migration
 
- 
createSnapshotDescription copied from interface:EntitySnapshotManagerCreate snapshot for Entity and store it to database- Specified by:
- createSnapshotin interface- EntitySnapshotManager
- Parameters:
- entity- Entity
- fetchPlan- FetchPlan
- Returns:
- Snapshot
 
- 
createSnapshotDescription copied from interface:EntitySnapshotManagerCreate snapshot for Entity with specific date and store it to database- Specified by:
- createSnapshotin interface- EntitySnapshotManager
- Parameters:
- entity- Entity
- fetchPlan- FetchPlan
- snapshotDate- Date
- Returns:
- Snapshot
 
- 
createSnapshotpublic EntitySnapshotModel createSnapshot(Object entity, FetchPlan fetchPlan, Date snapshotDate, String authorUsername) Description copied from interface:EntitySnapshotManagerCreate snapshot for Entity with specific date and author and store it to database- Specified by:
- createSnapshotin interface- EntitySnapshotManager
- Parameters:
- entity- Entity
- fetchPlan- FetchPlan
- snapshotDate- Date
- authorUsername- Author
- Returns:
- Snapshot
 
- 
extractEntityDescription copied from interface:EntitySnapshotManagerRestore entity by snapshot- Specified by:
- extractEntityin interface- EntitySnapshotManager
- Parameters:
- snapshot- Snapshot
- Returns:
- Entity instance
 
- 
extractFetchPlanDescription copied from interface:EntitySnapshotManagerRestore fetch plan from snapshot- Specified by:
- extractFetchPlanin interface- EntitySnapshotManager
- Parameters:
- snapshot- Snapshot
- Returns:
- FetchPlan instance
 
- 
getLastEntitySnapshotDescription copied from interface:EntitySnapshotManagerGet the last snapshot for the given entity. This method always starts a new transaction. It can be used for entities with composite key if they have UUID.- Specified by:
- getLastEntitySnapshotin interface- EntitySnapshotManager
- Parameters:
- entity- entity
- Returns:
- snapshot or null if there is no snapshots in database for the given entity
 
- 
getLastEntitySnapshotDescription copied from interface:EntitySnapshotManagerGet the last snapshot for the given entity by id. This method always starts a new transaction.- Specified by:
- getLastEntitySnapshotin interface- EntitySnapshotManager
- Parameters:
- metaClass- entity meta class
- referenceId- reference id for which snapshot refers
- Returns:
- snapshot or null if there is no snapshots in database for the given entity
 
- 
createTempSnapshotDescription copied from interface:EntitySnapshotManagerCreates non-persistent snapshot for entity. It can be used for entities with composite key if they have UUID.- Specified by:
- createTempSnapshotin interface- EntitySnapshotManager
- Parameters:
- entity- entity
- fetchPlan- fetchPlan
- Returns:
- not persistence snapshot
 
- 
createTempSnapshotpublic EntitySnapshotModel createTempSnapshot(Object entity, FetchPlan fetchPlan, Date snapshotDate) Description copied from interface:EntitySnapshotManagerCreates non-persistent snapshot for entity with a specific date. It can be used for entities with composite key if they have UUID.- Specified by:
- createTempSnapshotin interface- EntitySnapshotManager
- Parameters:
- entity- entity
- fetchPlan- entity fetch plan
- snapshotDate- date
- Returns:
- not persistence snapshot
 
- 
createTempSnapshotpublic EntitySnapshotModel createTempSnapshot(Object entity, FetchPlan fetchPlan, Date snapshotDate, String authorUsername) Description copied from interface:EntitySnapshotManagerCreates non-persistent snapshot for entity with a specific date and author. It can be used for entities with composite key if they have UUID.- Specified by:
- createTempSnapshotin interface- EntitySnapshotManager
- Parameters:
- entity- entity
- fetchPlan- entity fetch plan
- snapshotDate- date
- authorUsername- author
- Returns:
- not persistence snapshot
 
 
-