1 package eu
.etaxonomy
.taxeditor
.session
;
3 import java
.util
.Collection
;
7 import net
.sf
.ehcache
.statistics
.LiveCacheStatistics
;
8 import eu
.etaxonomy
.cdm
.api
.service
.IService
;
9 import eu
.etaxonomy
.cdm
.api
.service
.UpdateResult
;
10 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
11 import eu
.etaxonomy
.cdm
.persistence
.dto
.MergeResult
;
12 import eu
.etaxonomy
.taxeditor
.remoting
.cache
.EntityCacherDebugResult
;
14 public interface ICdmEntitySession
{
16 public ICdmEntitySessionEnabled
getOwner();
18 public LiveCacheStatistics
getCacheStatistics();
20 public <O
extends Object
> O
load(O obj
, boolean update
);
22 public <T
extends CdmBase
> T
load(T cdmBase
, boolean update
);
24 public UpdateResult
load(UpdateResult updateResult
, boolean update
);
26 public <T
extends CdmBase
> MergeResult
<T
> load(MergeResult
<T
> mergeResult
, boolean update
);
28 public <T
extends CdmBase
> EntityCacherDebugResult
debug(T cdmBase
);
30 public <T
extends CdmBase
> EntityCacherDebugResult
debug(Collection
<T
> cdmBase
);
32 public <T
extends CdmBase
> EntityCacherDebugResult
debug();
34 public <T
extends CdmBase
> Collection
<T
> load(Collection
<T
> cdmBaseList
, boolean update
);
36 public void setEntitiesAsLatest();
38 public <T
extends CdmBase
> Collection
<T
> getRootEntities();
40 public void dispose();
44 // public void addEvent(ICdmBase cdmBase, Set<CdmBase> affectedObjects, EventType eventType);
46 public <T
extends CdmBase
> T
remoteLoad(IService
<T
> service
, UUID uuid
);
48 public <T
extends CdmBase
> T
remoteLoad(IService
<T
> service
, UUID uuid
, List
<String
> propertyPaths
);
50 public <T
extends CdmBase
> UUID
remoteSave(IService
<T
> service
, T cdmBase
);
52 public <T
extends CdmBase
> T
remoteUpdate(IService
<T
> service
, T cdmBase
);
57 // * @param affectedObjects
59 // public <T extends ICdmBase> void update(T cdmBase, Set<CdmBase> affectedObjects);
63 // * @param affectedObjects
65 // public <T extends ICdmBase> void delete(T cdmBase, Set<CdmBase> affectedObjects);
69 // * @param affectedObjects
71 // public <T extends ICdmBase> void delete(Set<T> cdmBases, Set<CdmBase> affectedObjects);
74 public boolean isActive();
78 // * @param affectedObject
80 // public <T extends ICdmBase> void update(T cdmBase, CdmBase affectedObject);
85 public <T
extends CdmBase
> void update();
92 public List
<String
> getPropertyPaths(Object obj
);
94 public void addNewCdmEntity(CdmBase newEntity
);