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
.taxeditor
.remoting
.cache
.EntityCacherDebugResult
;
13 public interface ICdmEntitySession
{
15 public ICdmEntitySessionEnabled
getOwner();
17 public LiveCacheStatistics
getCacheStatistics();
19 public <O
extends Object
> O
load(O obj
, boolean update
);
21 public <T
extends CdmBase
> T
load(T cdmBase
, boolean update
);
23 public UpdateResult
load(UpdateResult updateResult
, boolean update
);
25 public <T
extends CdmBase
> EntityCacherDebugResult
debug(T cdmBase
);
27 public <T
extends CdmBase
> EntityCacherDebugResult
debug(Collection
<T
> cdmBase
);
29 public <T
extends CdmBase
> EntityCacherDebugResult
debug();
31 public <T
extends CdmBase
> Collection
<T
> load(Collection
<T
> cdmBaseList
, boolean update
);
33 public void setEntitiesAsLatest();
35 public <T
extends CdmBase
> Collection
<T
> getRootEntities();
37 public void dispose();
41 // public void addEvent(ICdmBase cdmBase, Set<CdmBase> affectedObjects, EventType eventType);
43 public <T
extends CdmBase
> T
remoteLoad(IService
<T
> service
, UUID uuid
);
45 public <T
extends CdmBase
> T
remoteLoad(IService
<T
> service
, UUID uuid
, List
<String
> propertyPaths
);
47 public <T
extends CdmBase
> UUID
remoteSave(IService
<T
> service
, T cdmBase
);
49 public <T
extends CdmBase
> T
remoteUpdate(IService
<T
> service
, T cdmBase
);
54 // * @param affectedObjects
56 // public <T extends ICdmBase> void update(T cdmBase, Set<CdmBase> affectedObjects);
60 // * @param affectedObjects
62 // public <T extends ICdmBase> void delete(T cdmBase, Set<CdmBase> affectedObjects);
66 // * @param affectedObjects
68 // public <T extends ICdmBase> void delete(Set<T> cdmBases, Set<CdmBase> affectedObjects);
71 public boolean isActive();
75 // * @param affectedObject
77 // public <T extends ICdmBase> void update(T cdmBase, CdmBase affectedObject);
82 public <T
extends CdmBase
> void update();
89 public List
<String
> getPropertyPaths(Object obj
);