cd15d27a2b15d879517eac59ec563be247bd7335
[taxeditor.git] / eu.etaxonomy.taxeditor.cdmlib / src / main / java / eu / etaxonomy / taxeditor / session / ICdmEntitySessionManager.java
1 package eu.etaxonomy.taxeditor.session;
2
3 import java.util.Collection;
4
5 import eu.etaxonomy.cdm.api.service.UpdateResult;
6 import eu.etaxonomy.cdm.model.common.CdmBase;
7
8 public interface ICdmEntitySessionManager {
9
10 public abstract ICdmEntitySession newSession(ICdmEntitySessionEnabled sessionOwner, boolean setAsActive);
11
12 public abstract void bind(ICdmEntitySessionEnabled sessionOwner);
13
14
15 public abstract <T extends Object> T load(T obj, boolean update);
16
17
18 public abstract <T extends CdmBase> T load(T cdmBase, boolean update);
19
20
21 public abstract UpdateResult load(UpdateResult updateResult, boolean update);
22
23
24 public abstract <T extends CdmBase> Collection<T> load(Collection<T> cdmBaseList, boolean update);
25
26
27 /**
28 * @return
29 */
30 public ICdmEntitySession getActiveSession();
31
32 public Collection<ICdmEntitySession> getSessions();
33
34 public void addSessionObserver(ICdmEntitySessionManagerObserver sessionObserver);
35
36
37
38
39 public boolean isRemoting();
40
41 /**
42 * @param owner
43 */
44 public void dispose(ICdmEntitySessionEnabled owner);
45
46 /**
47 *
48 */
49 public void disposeAll();
50
51
52 /**
53 *
54 */
55 public <T extends CdmBase> void update();
56
57
58 }