1 package eu
.etaxonomy
.taxeditor
.session
;
3 import java
.util
.Collection
;
8 import eu
.etaxonomy
.cdm
.api
.service
.IService
;
9 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
10 import eu
.etaxonomy
.cdm
.model
.common
.ICdmBase
;
11 import eu
.etaxonomy
.cdm
.persistence
.hibernate
.CdmDataChangeEvent
.EventType
;
12 import eu
.etaxonomy
.taxeditor
.remoting
.cache
.EntityCacherDebugResult
;
14 public interface ICdmEntitySession
{
16 public <O
extends Object
> O
load(O obj
);
18 public <T
extends CdmBase
> T
load(T cdmBase
);
20 public <T
extends CdmBase
> EntityCacherDebugResult
debug(T cdmBase
);
22 public <T
extends CdmBase
> Collection
<T
> load(Collection
<T
> cdmBaseList
);
24 public void setEntitiesAsLatest();
26 public void dispose();
30 public void registerForDataStoreChanges(ICdmEntitySessionEnabled observer
);
32 public void unregisterForDataStoreChanges(ICdmEntitySessionEnabled observer
);
34 public void addEvent(ICdmBase cdmBase
, Set
<CdmBase
> affectedObjects
, EventType eventType
);
36 public <T
extends ICdmBase
> void addEvent(Collection
<T
> cdmBases
, Set
<CdmBase
> affectedObjects
, EventType eventType
);
38 public <T
extends CdmBase
> T
remoteLoad(IService
<T
> service
, UUID uuid
);
40 public <T
extends CdmBase
> T
remoteLoad(IService
<T
> service
, UUID uuid
, List
<String
> propertyPaths
);
42 public <T
extends CdmBase
> UUID
remoteSave(IService
<T
> service
, T cdmBase
);
44 public <T
extends CdmBase
> void remoteUpdate(IService
<T
> service
, T cdmBase
);
51 * @param affectedObjects
53 public void update(CdmBase cdmBase
, Set
<CdmBase
> affectedObjects
);
57 * @param affectedObjects
59 public void delete(ICdmBase cdmBase
, Set
<CdmBase
> affectedObjects
);
64 public void fireNotifications();