Adapt transient services
[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 /**
13 * @param sessionOwner
14 * @return
15 */
16 public ICdmEntitySession bindNullSession();
17
18
19 public abstract void bind(ICdmEntitySessionEnabled sessionOwner);
20
21
22 public abstract <T extends Object> T load(T obj, boolean update);
23
24
25 public abstract <T extends CdmBase> T load(T cdmBase, boolean update);
26
27
28 public abstract UpdateResult load(UpdateResult updateResult, boolean update);
29
30
31 public abstract <T extends CdmBase> Collection<T> load(Collection<T> cdmBaseList, boolean update);
32
33
34 /**
35 * @return
36 */
37 public ICdmEntitySession getActiveSession();
38
39 public Collection<ICdmEntitySession> getSessions();
40
41 public void addSessionObserver(ICdmEntitySessionManagerObserver sessionObserver);
42
43
44
45
46 public boolean isRemoting();
47
48 /**
49 * @param owner
50 */
51 public void dispose(ICdmEntitySessionEnabled owner);
52
53 /**
54 *
55 */
56 public void disposeAll();
57
58
59 /**
60 *
61 */
62 public <T extends CdmBase> void update();
63
64 /**
65 * @param sessionOwner
66 * @return
67 */
68 public boolean contains(ICdmEntitySessionEnabled sessionOwner);
69
70 /**
71 * @return
72 */
73 public ICdmEntitySession getNullSession();
74
75 /**
76 *
77 */
78 public void disposeNullSession();
79
80 }