Merge branch 'develop' of wp5.e-taxonomy.eu:/var/git/taxeditor into remoting-4.0
[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 import java.util.Set;
5
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 <T extends CdmBase> Collection<T> load(Collection<T> cdmBaseList, boolean update);
22
23
24 /**
25 * @return
26 */
27 public ICdmEntitySession getActiveSession();
28
29 public Collection<ICdmEntitySession> getSessions();
30
31 public void addSessionObserver(ICdmEntitySessionManagerObserver sessionObserver);
32
33
34
35
36 public boolean isRemoting();
37
38 /**
39 * @param owner
40 */
41 public void dispose(ICdmEntitySessionEnabled owner);
42
43 /**
44 *
45 */
46 public void disposeAll();
47
48 /**
49 * @param cdmBase
50 * @param affectedObjects
51 */
52 public <T extends CdmBase> void update(T cdmBase, Set<CdmBase> affectedObjects);
53
54 /**
55 *
56 */
57 public <T extends CdmBase> void update();
58
59
60 }