public class DirtyCheckContextImpl extends java.lang.Object implements DirtyCheckContext
| Modifier and Type | Class and Description |
|---|---|
static class |
DirtyCheckContextImpl.Change |
| Constructor and Description |
|---|
DirtyCheckContextImpl(DataManager dataManager) |
| Modifier and Type | Method and Description |
|---|---|
void |
addUnsaved(java.lang.Object entity) |
boolean |
checkAndMarkNotDirty(MergeContext mergeContext,
java.lang.Object entity,
java.lang.Object source,
java.lang.Object parent)
Check if dirty properties of an object are the same than those of another entity
When they are the same, unmark the dirty flag
|
void |
clear(boolean notify) |
void |
entityCollectionChangeHandler(java.lang.Object owner,
java.lang.String propName,
java.util.Collection<?> coll,
DataManager.ChangeKind kind,
java.lang.Integer location,
java.lang.Object[] items)
Collection event handler to save changes on managed collections
|
void |
entityMapChangeHandler(java.lang.Object owner,
java.lang.String propName,
java.util.Map<?,?> map,
DataManager.ChangeKind kind,
java.lang.Object[] items)
Map event handler to save changes on managed maps
|
void |
entityPropertyChangeHandler(java.lang.Object entity,
java.lang.Object object,
java.lang.String propName,
java.lang.Object oldValue,
java.lang.Object newValue)
Interceptor for managed entity setters
|
void |
fixRemovalsAndPersists(MergeContext mergeContext,
java.util.List<java.lang.Object> removals,
java.util.List<java.lang.Object> persists) |
java.util.Map<java.lang.Object,java.util.Map<java.lang.String,java.lang.Object>> |
getSavedProperties() |
java.util.Map<java.lang.String,java.lang.Object> |
getSavedProperties(java.lang.Object entity) |
boolean |
isDirty() |
boolean |
isEntityChanged(java.lang.Object entity) |
boolean |
isEntityChanged(java.lang.Object entity,
java.lang.Object embedded,
java.lang.String propName,
java.lang.Object value)
Check if entity has changed since last save point
|
boolean |
isEntityDeepChanged(java.lang.Object entity) |
boolean |
isEntityPropertyChanged(java.lang.Object entity,
java.lang.String propertyName,
java.lang.Object value)
Check if entity property has been changed since last remote call
|
boolean |
isSaved(java.lang.Object entity) |
boolean |
isUnsaved(java.lang.Object object)
Check if the object is marked as new in the context
|
void |
markNotDirty(java.lang.Object object,
java.lang.Object entity)
Mark an object merged from the server as not dirty
|
void |
notifyDirtyChange(boolean oldDirty) |
boolean |
notifyEntityDirtyChange(java.lang.Object entity,
boolean oldDirtyEntity) |
void |
resetAllEntities(MergeContext mergeContext,
java.util.Set<java.lang.Object> cache)
Internal implementation of entity reset all
|
void |
resetEntity(MergeContext mergeContext,
java.lang.Object entity,
java.lang.Object parent,
java.util.Set<java.lang.Object> cache)
Internal implementation of entity reset
|
public DirtyCheckContextImpl(DataManager dataManager)
public boolean isDirty()
public void notifyDirtyChange(boolean oldDirty)
public boolean notifyEntityDirtyChange(java.lang.Object entity,
boolean oldDirtyEntity)
public java.util.Map<java.lang.Object,java.util.Map<java.lang.String,java.lang.Object>> getSavedProperties()
getSavedProperties in interface DirtyCheckContextpublic java.util.Map<java.lang.String,java.lang.Object> getSavedProperties(java.lang.Object entity)
getSavedProperties in interface DirtyCheckContextpublic boolean isSaved(java.lang.Object entity)
public boolean isUnsaved(java.lang.Object object)
isUnsaved in interface DirtyCheckContextobject - object to checkpublic void addUnsaved(java.lang.Object entity)
addUnsaved in interface DirtyCheckContextpublic void clear(boolean notify)
clear in interface DirtyCheckContextpublic boolean isEntityPropertyChanged(java.lang.Object entity,
java.lang.String propertyName,
java.lang.Object value)
entity - entity to checkpropertyName - property to checkvalue - current value to compare with saved valuepublic boolean isEntityChanged(java.lang.Object entity)
isEntityChanged in interface DirtyCheckContextpublic boolean isEntityChanged(java.lang.Object entity,
java.lang.Object embedded,
java.lang.String propName,
java.lang.Object value)
entity - entity to checkpropName - property namevalue - public boolean isEntityDeepChanged(java.lang.Object entity)
isEntityDeepChanged in interface DirtyCheckContextpublic void entityPropertyChangeHandler(java.lang.Object entity,
java.lang.Object object,
java.lang.String propName,
java.lang.Object oldValue,
java.lang.Object newValue)
entityPropertyChangeHandler in interface DirtyCheckContextentity - entity to interceptpropName - property nameoldValue - old valuenewValue - new valuepublic void entityCollectionChangeHandler(java.lang.Object owner,
java.lang.String propName,
java.util.Collection<?> coll,
DataManager.ChangeKind kind,
java.lang.Integer location,
java.lang.Object[] items)
entityCollectionChangeHandler in interface DirtyCheckContextowner - owner entity of the collectionpropName - property name of the collectioncoll - collectionkind - change kindlocation - change locationitems - changed itemspublic void entityMapChangeHandler(java.lang.Object owner,
java.lang.String propName,
java.util.Map<?,?> map,
DataManager.ChangeKind kind,
java.lang.Object[] items)
entityMapChangeHandler in interface DirtyCheckContextowner - owner entity of the mappropName - property name of the mapmap - mapkind - change kinditems - changed itemspublic void markNotDirty(java.lang.Object object,
java.lang.Object entity)
markNotDirty in interface DirtyCheckContextobject - merged objectentity - owner entity (when handling embedded objects)public boolean checkAndMarkNotDirty(MergeContext mergeContext, java.lang.Object entity, java.lang.Object source, java.lang.Object parent)
checkAndMarkNotDirty in interface DirtyCheckContextmergeContext - current merge contextentity - merged entitysource - source entityparent - owner entity for embedded objectspublic void fixRemovalsAndPersists(MergeContext mergeContext, java.util.List<java.lang.Object> removals, java.util.List<java.lang.Object> persists)
fixRemovalsAndPersists in interface DirtyCheckContextpublic void resetEntity(MergeContext mergeContext, java.lang.Object entity, java.lang.Object parent, java.util.Set<java.lang.Object> cache)
resetEntity in interface DirtyCheckContextpublic void resetAllEntities(MergeContext mergeContext, java.util.Set<java.lang.Object> cache)
resetAllEntities in interface DirtyCheckContextmergeContext - current merge contextcache - graph traversal cache