|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface EntityManager
EntityManager is the interface for entity management (!) It is implemented by the Tide context
| Nested Class Summary | |
|---|---|
static interface |
EntityManager.Function
|
static interface |
EntityManager.Propagation
|
static interface |
EntityManager.PropagationPolicy
|
static class |
EntityManager.Update
|
static class |
EntityManager.UpdateKind
|
| Method Summary | |
|---|---|
void |
acceptConflict(Conflict conflict,
boolean acceptClient)
Accept values for conflict |
void |
addListener(DataConflictListener listener)
|
void |
addReference(Object entity,
Object parent,
String propName,
org.granite.tide.Expression expr)
Register a reference to the provided object with either a parent or res |
void |
clear()
Clear the current context Destroys all components/context variables |
void |
clearCache()
Clear entity cache |
Object |
getCachedObject(Object object,
boolean nullIfAbsent)
|
DataManager |
getDataManager()
|
Object |
getEntityProperty(Identifiable entity,
String propName,
Object value)
Intercept a property getter |
String |
getId()
Return the entity manager id |
Object[] |
getOwnerEntity(Object object)
|
org.granite.tide.Expression |
getReference(Object entity,
boolean recurse,
Set<Object> cache)
Retrieves context expression path for the specified entity (internal implementation) |
Map<String,Object> |
getSavedProperties(Object entity)
Current map of saved properties for the specified entity |
void |
handleUpdates(MergeContext mergeContext,
String sourceSessionId,
List<EntityManager.Update> updates)
|
boolean |
initializeObject(ServerSession serverSession,
Object object)
Trigger remote initialization of lazy-loaded objects |
MergeContext |
initMerge()
|
boolean |
isActive()
Return the entity manager state |
boolean |
isDeepDirtyEntity(Object entity)
Entity is deep dirty when any element in its object graph has been modified |
boolean |
isDirty()
Entity manager is dirty when any entity/collection/map has been modified |
boolean |
isSaved(Object entity)
Indicates if the entity is persisted on the server (id/version not null/NaN) |
boolean |
isUninitializeAllowed()
|
Object |
mergeExternal(MergeContext mergeContext,
Object obj,
Object previous,
org.granite.tide.Expression expr,
Object parent,
String propertyName,
String setter,
boolean forceUpdate)
|
Object |
mergeExternalData(Object obj)
Merge an object coming from a remote location (in general from a service) in the local context |
Object |
mergeExternalData(Object obj,
Object prev,
String externalDataSessionId,
List<Object> removals,
List<Object> persists)
Merge an object coming from a remote location (in general from a service) in the local context |
Object |
mergeExternalData(ServerSession serverSession,
Object obj)
Merge an object coming from a remote location (in general from a service) in the local context |
Object |
mergeExternalData(ServerSession serverSession,
Object obj,
Object prev,
String externalDataSessionId,
List<Object> removals,
List<Object> persists)
Merge an object coming from a remote location (in general from a service) in the local context |
Object |
mergeFromEntityManager(EntityManager sourceEntityManager,
Object obj,
String externalDataSessionId,
boolean uninitializing)
|
void |
mergeInEntityManager(EntityManager entityManager)
Merge conversation entity manager context variables in global entity manager Only applicable to conversation contexts |
EntityManager |
newTemporaryEntityManager()
Create a new temporary entity manager |
void |
raiseUpdateEvents(Context context,
List<EntityManager.Update> updates)
|
void |
removeListener(DataConflictListener listener)
|
boolean |
removeReference(Object entity,
Object parent,
String propName,
org.granite.tide.Expression exp)
Remove a reference on the provided object |
void |
resetAllEntities()
Discard changes of all cached entities from last version received from the server |
void |
resetEntity(Identifiable entity)
Discard changes of entity from last version received from the server |
void |
setEntityManagerPropagation(EntityManager.Propagation propagation)
Setter for the propagation manager |
void |
setEntityProperty(Identifiable entity,
String propName,
Object oldValue,
Object newValue)
Intercept a property setter |
void |
setRemoteInitializer(RemoteInitializer remoteInitializer)
Setter for the remote initializer implementation |
void |
setRemoteValidator(RemoteValidator remoteValidator)
Setter for the remote validator implementation |
void |
setUninitializeAllowed(boolean allowed)
Allow uninitialize of persistent collections |
boolean |
validateObject(Object object,
String property,
Object value)
Trigger remote validation of objects |
| Method Detail |
|---|
String getId()
boolean isActive()
void clearCache()
void clear()
DataManager getDataManager()
void setUninitializeAllowed(boolean allowed)
allowed - allow uninitialize of collectionsboolean isUninitializeAllowed()
void setEntityManagerPropagation(EntityManager.Propagation propagation)
propagation - propagation function that will visit child entity managersvoid setRemoteInitializer(RemoteInitializer remoteInitializer)
remoteInitializer - instance of IRemoteInitializervoid setRemoteValidator(RemoteValidator remoteValidator)
remoteValidator - instance of IRemoteValidatorEntityManager newTemporaryEntityManager()
Object getEntityProperty(Identifiable entity,
String propName,
Object value)
entity - intercepted entitypropName - intercepted property namevalue - current value
void setEntityProperty(Identifiable entity,
String propName,
Object oldValue,
Object newValue)
entity - intercepted entitypropName - intercepted property nameoldValue - old valuenewValue - new value
void addReference(Object entity,
Object parent,
String propName,
org.granite.tide.Expression expr)
entity - an entityparent - the parent entitypropName - name of the parent entity property that references the entityres - the context expression
boolean removeReference(Object entity,
Object parent,
String propName,
org.granite.tide.Expression exp)
obj - an entityparent - the parent entity to dereferencepropName - name of the parent entity property that references the entityres - expression to remove
org.granite.tide.Expression getReference(Object entity,
boolean recurse,
Set<Object> cache)
obj - an entityrecurse - should recurse until 'real' context path, otherwise object reference can be returnedcache - graph visitor cache
boolean isDirty()
boolean isDeepDirtyEntity(Object entity)
entity - root of the entity graph
boolean isSaved(Object entity)
entity - an entity
Object getCachedObject(Object object,
boolean nullIfAbsent)
object - an entitynullIfAbsent - return null if entity not cached in contextObject[] getOwnerEntity(Object object)
MergeContext initMerge()
Object mergeExternal(MergeContext mergeContext,
Object obj,
Object previous,
org.granite.tide.Expression expr,
Object parent,
String propertyName,
String setter,
boolean forceUpdate)
Object mergeExternalData(Object obj,
Object prev,
String externalDataSessionId,
List<Object> removals,
List<Object> persists)
obj - external objectprev - existing local object to merge withexternalDataSessionId - sessionId from which the data is coming (other user/server), null if local or current user sessionremovals - array of entities to remove from the entity manager cache
Object mergeExternalData(ServerSession serverSession,
Object obj)
obj - external object
Object mergeExternalData(ServerSession serverSession,
Object obj,
Object prev,
String externalDataSessionId,
List<Object> removals,
List<Object> persists)
obj - external objectprev - existing local object to merge withexternalDataSessionId - sessionId from which the data is coming (other user/server), null if local or current user sessionremovals - array of entities to remove from the entity manager cache
Object mergeExternalData(Object obj)
obj - external object
Object mergeFromEntityManager(EntityManager sourceEntityManager,
Object obj,
String externalDataSessionId,
boolean uninitializing)
sourceEntityManager - source context of incoming dataobj - external objectexternalDataSessionId - is merge from external data
void mergeInEntityManager(EntityManager entityManager)
entityManager - conversation entity managervoid resetEntity(Identifiable entity)
entity - entity to restorecache - reset cachevoid resetAllEntities()
cache - reset cacheMap<String,Object> getSavedProperties(Object entity)
entity - an entity
void handleUpdates(MergeContext mergeContext,
String sourceSessionId,
List<EntityManager.Update> updates)
sourceSessionId - sessionId from which data updates come (null when from current session)updates - list of data updates
void raiseUpdateEvents(Context context,
List<EntityManager.Update> updates)
void addListener(DataConflictListener listener)
void removeListener(DataConflictListener listener)
void acceptConflict(Conflict conflict,
boolean acceptClient)
conflict - conflictacceptClient - true: keep client changes, false: override with server changes
boolean initializeObject(ServerSession serverSession,
Object object)
object - a lazy-loaded object
boolean validateObject(Object object,
String property,
Object value)
object - a lazy-loaded object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||