ref #6190 removing svn property place holder in first line of code - java files
[taxeditor.git] / eu.etaxonomy.taxeditor.cdmlib / src / main / java / eu / etaxonomy / taxeditor / session / ICdmEntitySession.java
1 package eu.etaxonomy.taxeditor.session;
2
3 import java.util.Collection;
4 import java.util.List;
5 import java.util.UUID;
6
7 import net.sf.ehcache.statistics.LiveCacheStatistics;
8 import eu.etaxonomy.cdm.api.service.IService;
9 import eu.etaxonomy.cdm.api.service.UpdateResult;
10 import eu.etaxonomy.cdm.model.common.CdmBase;
11 import eu.etaxonomy.cdm.persistence.dto.MergeResult;
12 import eu.etaxonomy.taxeditor.remoting.cache.EntityCacherDebugResult;
13
14 public interface ICdmEntitySession {
15
16 public ICdmEntitySessionEnabled getOwner();
17
18 public LiveCacheStatistics getCacheStatistics();
19
20 public <O extends Object> O load(O obj, boolean update);
21
22 public <T extends CdmBase> T load(T cdmBase, boolean update);
23
24 public UpdateResult load(UpdateResult updateResult, boolean update);
25
26 public <T extends CdmBase> MergeResult<T> load(MergeResult<T> mergeResult, boolean update);
27
28 public <T extends CdmBase> EntityCacherDebugResult debug(T cdmBase);
29
30 public <T extends CdmBase> EntityCacherDebugResult debug(Collection<T> cdmBase);
31
32 public <T extends CdmBase> EntityCacherDebugResult debug();
33
34 public <T extends CdmBase> Collection<T> load(Collection<T> cdmBaseList, boolean update);
35
36 public void setEntitiesAsLatest();
37
38 public <T extends CdmBase> Collection<T> getRootEntities();
39
40 public void dispose();
41
42 public void bind();
43
44 // public void addEvent(ICdmBase cdmBase, Set<CdmBase> affectedObjects, EventType eventType);
45
46 public <T extends CdmBase> T remoteLoad(IService<T> service, UUID uuid);
47
48 public <T extends CdmBase> T remoteLoad(IService<T> service, UUID uuid, List<String> propertyPaths);
49
50 public <T extends CdmBase> UUID remoteSave(IService<T> service, T cdmBase);
51
52 public <T extends CdmBase> T remoteUpdate(IService<T> service, T cdmBase);
53
54
55 // /**
56 // * @param cdmBase
57 // * @param affectedObjects
58 // */
59 // public <T extends ICdmBase> void update(T cdmBase, Set<CdmBase> affectedObjects);
60 //
61 // /**
62 // * @param cdmBase
63 // * @param affectedObjects
64 // */
65 // public <T extends ICdmBase> void delete(T cdmBase, Set<CdmBase> affectedObjects);
66 //
67 // /**
68 // * @param cdmBase
69 // * @param affectedObjects
70 // */
71 // public <T extends ICdmBase> void delete(Set<T> cdmBases, Set<CdmBase> affectedObjects);
72
73
74 public boolean isActive();
75
76 // /**
77 // * @param cdmBase
78 // * @param affectedObject
79 // */
80 // public <T extends ICdmBase> void update(T cdmBase, CdmBase affectedObject);
81
82 /**
83 *
84 */
85 public <T extends CdmBase> void update();
86
87
88 /**
89 * @param obj
90 * @return
91 */
92 public List<String> getPropertyPaths(Object obj);
93
94 public void addNewCdmEntity(CdmBase newEntity);
95
96 }