Adapt ICdmEntitySession to new includeIgnored parameter
[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 eu.etaxonomy.cdm.api.service.IService;
8 import eu.etaxonomy.cdm.api.service.UpdateResult;
9 import eu.etaxonomy.cdm.cache.EntityCacherDebugResult;
10 import eu.etaxonomy.cdm.model.common.CdmBase;
11 import eu.etaxonomy.cdm.persistence.dto.MergeResult;
12 import net.sf.ehcache.statistics.LiveCacheStatistics;
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 /**
23 * @see eu.etaxonomy.cdm.cache.CdmTransientEntityCacher#load(Collection, boolean)
24 */
25 public <T extends CdmBase> T load(T cdmBase, boolean update);
26
27 public UpdateResult load(UpdateResult updateResult, boolean update);
28
29 public <T extends CdmBase> MergeResult<T> load(MergeResult<T> mergeResult, boolean update);
30
31 public <T extends CdmBase> EntityCacherDebugResult debug(T cdmBase);
32
33 public <T extends CdmBase> EntityCacherDebugResult debug(Collection<T> cdmBase, boolean includeIgnored);
34
35 public <T extends CdmBase> EntityCacherDebugResult debug(boolean includeIgnored);
36
37 public <T extends CdmBase> Collection<T> load(Collection<T> cdmBaseList, boolean update);
38
39 public void setEntitiesAsLatest();
40
41 public <T extends CdmBase> Collection<T> getRootEntities();
42
43 public void dispose();
44
45 public void bind();
46
47 // public void addEvent(ICdmBase cdmBase, Set<CdmBase> affectedObjects, EventType eventType);
48
49 public <T extends CdmBase> T remoteLoad(IService<T> service, UUID uuid);
50
51 public <T extends CdmBase> T remoteLoad(IService<T> service, UUID uuid, List<String> propertyPaths);
52
53 public <T extends CdmBase> UUID remoteSave(IService<T> service, T cdmBase);
54
55 public <T extends CdmBase> T remoteUpdate(IService<T> service, T cdmBase);
56
57
58 // /**
59 // * @param cdmBase
60 // * @param affectedObjects
61 // */
62 // public <T extends ICdmBase> void update(T cdmBase, Set<CdmBase> affectedObjects);
63 //
64 // /**
65 // * @param cdmBase
66 // * @param affectedObjects
67 // */
68 // public <T extends ICdmBase> void delete(T cdmBase, Set<CdmBase> affectedObjects);
69 //
70 // /**
71 // * @param cdmBase
72 // * @param affectedObjects
73 // */
74 // public <T extends ICdmBase> void delete(Set<T> cdmBases, Set<CdmBase> affectedObjects);
75
76
77 public boolean isActive();
78
79 // /**
80 // * @param cdmBase
81 // * @param affectedObject
82 // */
83 // public <T extends ICdmBase> void update(T cdmBase, CdmBase affectedObject);
84
85 public <T extends CdmBase> void update();
86
87 public List<String> getPropertyPaths(Object obj);
88
89 public void addNewCdmEntity(CdmBase newEntity);
90
91 }