Project

General

Profile

Download (2.2 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 net.sf.ehcache.statistics.LiveCacheStatistics;
9
import eu.etaxonomy.cdm.api.service.IService;
10
import eu.etaxonomy.cdm.model.common.CdmBase;
11
import eu.etaxonomy.cdm.model.common.ICdmBase;
12
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeEvent.EventType;
13
import eu.etaxonomy.taxeditor.remoting.cache.EntityCacherDebugResult;
14

    
15
public interface ICdmEntitySession {
16

    
17
    public ICdmEntitySessionEnabled getOwner();
18

    
19
    public LiveCacheStatistics getCacheStatistics();
20

    
21
	public  <O extends Object> O load(O obj);
22

    
23
	public  <T extends CdmBase> T load(T cdmBase);
24

    
25
	public <T extends CdmBase> EntityCacherDebugResult debug(T cdmBase);
26

    
27
	public <T extends CdmBase> Collection<T> load(Collection<T> cdmBaseList);
28

    
29
	public  void setEntitiesAsLatest();
30

    
31
	public  void dispose();
32

    
33
    public void bind();
34

    
35
    public void registerForDataStoreChanges(ICdmEntitySessionEnabled observer);
36

    
37
    public void unregisterForDataStoreChanges(ICdmEntitySessionEnabled observer);
38

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

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

    
43
    public  <T extends CdmBase> T remoteLoad(IService<T> service, UUID uuid);
44

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

    
47
    public <T extends CdmBase> UUID remoteSave(IService<T> service, T cdmBase);
48

    
49
    public <T extends CdmBase> T remoteUpdate(IService<T> service, T cdmBase);
50

    
51

    
52

    
53

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

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

    
66
    /**
67
     * @param cdmBase
68
     * @param affectedObjects
69
     */
70
    public <T extends ICdmBase> void delete(Set<T> cdmBases, Set<CdmBase> affectedObjects);
71

    
72
    /**
73
     *
74
     */
75
    public void fireNotifications();
76

    
77
    public boolean isActive();
78

    
79

    
80

    
81

    
82
}
(4-4/7)