Project

General

Profile

Download (2.02 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.session;
2

    
3
import java.util.Collection;
4
import java.util.List;
5
import java.util.Set;
6
import java.util.UUID;
7

    
8
import eu.etaxonomy.cdm.api.service.IService;
9
import eu.etaxonomy.cdm.model.common.CdmBase;
10
import eu.etaxonomy.cdm.model.common.ICdmBase;
11
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeEvent.EventType;
12
import eu.etaxonomy.taxeditor.remoting.cache.EntityCacherDebugResult;
13

    
14
public interface ICdmEntitySession {
15

    
16
	public  <O extends Object> O load(O obj);
17

    
18
	public  <T extends CdmBase> T load(T cdmBase);
19

    
20
	public <T extends CdmBase> EntityCacherDebugResult debug(T cdmBase);
21

    
22
	public <T extends CdmBase> Collection<T> load(Collection<T> cdmBaseList);
23

    
24
	public  void setEntitiesAsLatest();
25

    
26
	public  void dispose();
27

    
28
    public void bind();
29

    
30
    public void registerForDataStoreChanges(ICdmEntitySessionEnabled observer);
31

    
32
    public void unregisterForDataStoreChanges(ICdmEntitySessionEnabled observer);
33

    
34
    public void addEvent(ICdmBase cdmBase, Set<CdmBase> affectedObjects, EventType eventType);
35

    
36
    public  <T extends ICdmBase> void addEvent(Collection <T> cdmBases, Set<CdmBase> affectedObjects, EventType eventType);
37

    
38
    public  <T extends CdmBase> T remoteLoad(IService<T> service, UUID uuid);
39

    
40
    public  <T extends CdmBase> T remoteLoad(IService<T> service, UUID uuid, List<String> propertyPaths);
41

    
42
    public <T extends CdmBase> UUID remoteSave(IService<T> service, T cdmBase);
43

    
44
    public <T extends CdmBase> void remoteUpdate(IService<T> service, T cdmBase);
45

    
46

    
47

    
48

    
49
    /**
50
     * @param cdmBase
51
     * @param affectedObjects
52
     */
53
    public <T extends ICdmBase> void update(T cdmBase, Set<CdmBase> affectedObjects);
54

    
55
    /**
56
     * @param cdmBase
57
     * @param affectedObjects
58
     */
59
    public <T extends ICdmBase> void delete(T cdmBase, Set<CdmBase> affectedObjects);
60

    
61
    /**
62
     * @param cdmBase
63
     * @param affectedObjects
64
     */
65
    public <T extends ICdmBase> void delete(Set<T> cdmBases, Set<CdmBase> affectedObjects);
66

    
67
    /**
68
     *
69
     */
70
    public void fireNotifications();
71

    
72

    
73

    
74

    
75
}
(4-4/6)