1 package eu
.etaxonomy
.taxeditor
.session
;
3 import java
.util
.Collection
;
5 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
7 public interface ICdmEntitySessionManager
{
9 public abstract ICdmEntitySession
newSession(ICdmEntitySessionEnabled sessionOwner
, boolean setAsActive
);
11 public abstract void bind(ICdmEntitySessionEnabled sessionOwner
);
13 // public abstract <T extends Object> T load(
14 // ISessionEventListener sessionOwner, T obj);
16 public abstract <T
extends Object
> T
load(T obj
);
18 // public abstract <T extends CdmBase> T load(
19 // ISessionEventListener sessionOwner, T cdmBase);
21 public abstract <T
extends CdmBase
> T
load(T cdmBase
);
23 // public abstract <T extends CdmBase> Collection<T> load(
24 // ISessionEventListener sessionOwner, Collection<T> cdmBaseList);
26 public abstract <T
extends CdmBase
> Collection
<T
> load(Collection
<T
> cdmBaseList
);
28 //public abstract void dispose(ICdmEntitySessionEnabled owner);
33 public ICdmEntitySession
getActiveSession();
35 public Collection
<ICdmEntitySession
> getSessions();
37 public void addSessionObserver(ICdmEntitySessionManagerObserver sessionObserver
);
39 //FIXME:Remoting would be nice to have these methods working,
40 // but they can only be useful if we can 'intelligently'
41 // get from a model class to the correspoding service class
43 // @SuppressWarnings("unchecked")
44 // public abstract <T extends CdmBase> void addRootEntity(T cdmBase);
46 // @SuppressWarnings("unchecked")
47 // public abstract <T extends Object> void addRootEntities(
48 // Collection<T> cdmBaseList);
50 // public abstract void commit();
52 // public abstract void commit(ISessionEventListener sessionOwner);
54 // public abstract void commit(IService service, CdmBase cdmBase);
57 public boolean isRemoting();