ref #6190 removing svn property place holder in first line of code - java files
[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 import eu.etaxonomy.cdm.persistence.dto.MergeResult;
8
9 public interface ICdmEntitySessionManager {
10
11 public abstract ICdmEntitySession newSession(ICdmEntitySessionEnabled sessionOwner, boolean setAsActive);
12
13 /**
14 * @param sessionOwner
15 * @return
16 */
17 public ICdmEntitySession bindNullSession();
18
19
20 public abstract void bind(ICdmEntitySessionEnabled sessionOwner);
21
22
23 public abstract <T extends Object> T load(T obj, boolean update);
24
25
26 public abstract <T extends CdmBase> T load(T cdmBase, boolean update);
27
28
29 public abstract UpdateResult load(UpdateResult updateResult, boolean update);
30
31 public abstract MergeResult load(MergeResult mergeResult, boolean update);
32
33
34 public abstract <T extends CdmBase> Collection<T> load(Collection<T> cdmBaseList, boolean update);
35
36
37 /**
38 * @return
39 */
40 public ICdmEntitySession getActiveSession();
41
42 public Collection<ICdmEntitySession> getSessions();
43
44 public void addSessionObserver(ICdmEntitySessionManagerObserver sessionObserver);
45
46
47
48
49 public boolean isRemoting();
50
51 /**
52 * @param owner
53 */
54 public void dispose(ICdmEntitySessionEnabled owner);
55
56 /**
57 *
58 */
59 public void disposeAll();
60
61
62 /**
63 *
64 */
65 public <T extends CdmBase> void update();
66
67 /**
68 * @param sessionOwner
69 * @return
70 */
71 public boolean contains(ICdmEntitySessionEnabled sessionOwner);
72
73 /**
74 * @return
75 */
76 public ICdmEntitySession getNullSession();
77
78
79 }