1 package eu
.etaxonomy
.taxeditor
.session
;
3 import java
.util
.Collection
;
5 import eu
.etaxonomy
.cdm
.api
.service
.UpdateResult
;
6 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
7 import eu
.etaxonomy
.cdm
.persistence
.dto
.MergeResult
;
9 public interface ICdmEntitySessionManager
{
11 public abstract ICdmEntitySession
newSession(ICdmEntitySessionEnabled sessionOwner
, boolean setAsActive
);
17 public ICdmEntitySession
bindNullSession();
20 public abstract void bind(ICdmEntitySessionEnabled sessionOwner
);
23 public abstract <T
extends Object
> T
load(T obj
, boolean update
);
26 public abstract <T
extends CdmBase
> T
load(T cdmBase
, boolean update
);
29 public abstract UpdateResult
load(UpdateResult updateResult
, boolean update
);
31 public abstract MergeResult
load(MergeResult mergeResult
, boolean update
);
34 public abstract <T
extends CdmBase
> Collection
<T
> load(Collection
<T
> cdmBaseList
, boolean update
);
40 public ICdmEntitySession
getActiveSession();
42 public Collection
<ICdmEntitySession
> getSessions();
44 public void addSessionObserver(ICdmEntitySessionManagerObserver sessionObserver
);
49 public boolean isRemoting();
54 public void dispose(ICdmEntitySessionEnabled owner
);
59 public void disposeAll();
65 public <T
extends CdmBase
> void update();
71 public boolean contains(ICdmEntitySessionEnabled sessionOwner
);
76 public ICdmEntitySession
getNullSession();