1 package eu
.etaxonomy
.taxeditor
.session
;
3 import java
.util
.Collection
;
7 import eu
.etaxonomy
.cdm
.api
.service
.IService
;
8 import eu
.etaxonomy
.cdm
.api
.service
.UpdateResult
;
9 import eu
.etaxonomy
.cdm
.cache
.EntityCacherDebugResult
;
10 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
11 import eu
.etaxonomy
.cdm
.persistence
.dto
.MergeResult
;
12 import net
.sf
.ehcache
.statistics
.FlatStatistics
;
14 public interface ICdmEntitySession
{
16 public ICdmEntitySessionEnabled
getOwner();
18 public FlatStatistics
getCacheStatistics();
20 public <O
extends Object
> O
load(O obj
, boolean update
);
23 * @see eu.etaxonomy.cdm.cache.CdmTransientEntityCacher#load(Collection, boolean)
25 public <T
extends CdmBase
> T
load(T cdmBase
, boolean update
);
27 public UpdateResult
load(UpdateResult updateResult
, boolean update
);
29 public <T
extends CdmBase
> MergeResult
<T
> load(MergeResult
<T
> mergeResult
, boolean update
);
31 public <T
extends CdmBase
> EntityCacherDebugResult
debug(T cdmBase
);
33 public <T
extends CdmBase
> EntityCacherDebugResult
debug(Collection
<T
> cdmBase
, boolean includeIgnored
);
35 public <T
extends CdmBase
> EntityCacherDebugResult
debug(boolean includeIgnored
);
37 public <T
extends CdmBase
> Collection
<T
> load(Collection
<T
> cdmBaseList
, boolean update
);
39 public void setEntitiesAsLatest();
41 public <T
extends CdmBase
> Collection
<T
> getRootEntities();
43 public void dispose();
47 // public void addEvent(ICdmBase cdmBase, Set<CdmBase> affectedObjects, EventType eventType);
49 public <T
extends CdmBase
> T
remoteLoad(IService
<T
> service
, UUID uuid
);
51 public <T
extends CdmBase
> T
remoteLoad(IService
<T
> service
, UUID uuid
, List
<String
> propertyPaths
);
53 public <T
extends CdmBase
> UUID
remoteSave(IService
<T
> service
, T cdmBase
);
55 public <T
extends CdmBase
> T
remoteUpdate(IService
<T
> service
, T cdmBase
);
60 // * @param affectedObjects
62 // public <T extends ICdmBase> void update(T cdmBase, Set<CdmBase> affectedObjects);
66 // * @param affectedObjects
68 // public <T extends ICdmBase> void delete(T cdmBase, Set<CdmBase> affectedObjects);
72 // * @param affectedObjects
74 // public <T extends ICdmBase> void delete(Set<T> cdmBases, Set<CdmBase> affectedObjects);
77 public boolean isActive();
81 // * @param affectedObject
83 // public <T extends ICdmBase> void update(T cdmBase, CdmBase affectedObject);
85 public <T
extends CdmBase
> void update();
87 public List
<String
> getPropertyPaths(Object obj
);
89 public void addNewCdmEntity(CdmBase newEntity
);