org.granite.client.tide.data.impl
Class DirtyCheckContextImpl
java.lang.Object
org.granite.client.tide.data.impl.DirtyCheckContextImpl
- All Implemented Interfaces:
- DirtyCheckContext
public class DirtyCheckContextImpl
- extends Object
- implements DirtyCheckContext
- Author:
- William DRAI
|
Method Summary |
void |
addUnsaved(Identifiable entity)
|
boolean |
checkAndMarkNotDirty(MergeContext mergeContext,
Object entity,
Object source,
Object parent)
|
void |
clear(boolean notify)
|
void |
entityCollectionChangeHandler(Object owner,
String propName,
Collection<?> coll,
DataManager.ChangeKind kind,
Integer location,
Object[] items)
|
void |
entityMapChangeHandler(Object owner,
String propName,
Map<?,?> map,
DataManager.ChangeKind kind,
Object[] items)
|
void |
entityPropertyChangeHandler(Object entity,
Object object,
String propName,
Object oldValue,
Object newValue)
|
void |
fixRemovalsAndPersists(MergeContext mergeContext,
List<Object> removals,
List<Object> persists)
|
Map<String,Object> |
getSavedProperties(Object entity)
|
boolean |
isDirty()
|
boolean |
isEmpty(Object val)
|
boolean |
isEntityChanged(Object entity)
|
boolean |
isEntityChanged(Object entity,
Object embedded,
String propName,
Object value)
Check if entity has changed since last save point |
boolean |
isEntityDeepChanged(Object entity)
|
boolean |
isEntityPropertyChanged(Identifiable entity,
String propertyName,
Object value)
Check if entity property has been changed since last remote call |
boolean |
isSaved(Object entity)
|
boolean |
isUnsaved(Object object)
Check if the object is marked as new in the context |
void |
markNotDirty(Object object,
Identifiable entity)
|
void |
notifyDirtyChange(boolean oldDirty)
|
boolean |
notifyEntityDirtyChange(Object entity,
boolean oldDirtyEntity)
|
void |
resetAllEntities(MergeContext mergeContext,
Set<Object> cache)
|
void |
resetEntity(MergeContext mergeContext,
Object entity,
Identifiable parent,
Set<Object> cache)
|
void |
setTrackingContext(TrackingContext trackingContext)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DirtyCheckContextImpl
public DirtyCheckContextImpl(DataManager dataManager,
TrackingContext trackingContext)
setTrackingContext
public void setTrackingContext(TrackingContext trackingContext)
- Specified by:
setTrackingContext in interface DirtyCheckContext
isDirty
public boolean isDirty()
notifyDirtyChange
public void notifyDirtyChange(boolean oldDirty)
notifyEntityDirtyChange
public boolean notifyEntityDirtyChange(Object entity,
boolean oldDirtyEntity)
getSavedProperties
public Map<String,Object> getSavedProperties(Object entity)
- Specified by:
getSavedProperties in interface DirtyCheckContext
isSaved
public boolean isSaved(Object entity)
isUnsaved
public boolean isUnsaved(Object object)
- Check if the object is marked as new in the context
- Specified by:
isUnsaved in interface DirtyCheckContext
- Parameters:
object - object to check
- Returns:
- true if the object has been newly attached
addUnsaved
public void addUnsaved(Identifiable entity)
- Specified by:
addUnsaved in interface DirtyCheckContext
clear
public void clear(boolean notify)
- Specified by:
clear in interface DirtyCheckContext
isEntityPropertyChanged
public boolean isEntityPropertyChanged(Identifiable entity,
String propertyName,
Object value)
- Check if entity property has been changed since last remote call
- Parameters:
entity - entity to checkpropertyName - property to checkvalue - current value to compare with saved value
- Returns:
- true is value has been changed
isEntityChanged
public boolean isEntityChanged(Object entity)
- Specified by:
isEntityChanged in interface DirtyCheckContext
isEntityChanged
public boolean isEntityChanged(Object entity,
Object embedded,
String propName,
Object value)
- Check if entity has changed since last save point
- Parameters:
entity - entity to checkpropName - property namevalue -
- Returns:
- entity is dirty
isEntityDeepChanged
public boolean isEntityDeepChanged(Object entity)
- Specified by:
isEntityDeepChanged in interface DirtyCheckContext
entityPropertyChangeHandler
public void entityPropertyChangeHandler(Object entity,
Object object,
String propName,
Object oldValue,
Object newValue)
- Specified by:
entityPropertyChangeHandler in interface DirtyCheckContext
- Parameters:
entity - entity to interceptpropName - property nameoldValue - old valuenewValue - new value
entityCollectionChangeHandler
public void entityCollectionChangeHandler(Object owner,
String propName,
Collection<?> coll,
DataManager.ChangeKind kind,
Integer location,
Object[] items)
- Specified by:
entityCollectionChangeHandler in interface DirtyCheckContext
- Parameters:
owner - owner entity of the collectionpropName - property name of the collectionevent - collection event
entityMapChangeHandler
public void entityMapChangeHandler(Object owner,
String propName,
Map<?,?> map,
DataManager.ChangeKind kind,
Object[] items)
- Specified by:
entityMapChangeHandler in interface DirtyCheckContext
- Parameters:
owner - owner entity of the collectionpropName - property name of the collectionevent - map event
markNotDirty
public void markNotDirty(Object object,
Identifiable entity)
- Specified by:
markNotDirty in interface DirtyCheckContext
- Parameters:
object - merged object
checkAndMarkNotDirty
public boolean checkAndMarkNotDirty(MergeContext mergeContext,
Object entity,
Object source,
Object parent)
- Specified by:
checkAndMarkNotDirty in interface DirtyCheckContext
- Parameters:
entity - merged entitysource - source entityowner - owner entity for embedded objects
- Returns:
- true if the entity is still dirty after comparing with incoming object
fixRemovalsAndPersists
public void fixRemovalsAndPersists(MergeContext mergeContext,
List<Object> removals,
List<Object> persists)
- Specified by:
fixRemovalsAndPersists in interface DirtyCheckContext
resetEntity
public void resetEntity(MergeContext mergeContext,
Object entity,
Identifiable parent,
Set<Object> cache)
- Specified by:
resetEntity in interface DirtyCheckContext
resetAllEntities
public void resetAllEntities(MergeContext mergeContext,
Set<Object> cache)
- Specified by:
resetAllEntities in interface DirtyCheckContext
isEmpty
public boolean isEmpty(Object val)
- Returns:
- value is empty