1 package org.openecomp.core.zusammen.plugin.collaboration;
3 import com.amdocs.zusammen.datatypes.Id;
4 import com.amdocs.zusammen.datatypes.SessionContext;
5 import com.amdocs.zusammen.datatypes.item.ElementContext;
6 import org.openecomp.core.zusammen.plugin.dao.types.ElementEntity;
7 import org.openecomp.core.zusammen.plugin.dao.types.SynchronizationStateEntity;
9 import java.util.Collection;
10 import java.util.Date;
12 import java.util.Optional;
14 public interface ElementPrivateStore extends ElementStore {
16 Map<Id, Id> listIds(SessionContext context, ElementContext elementContext);
18 Collection<ElementEntity> listSubs(SessionContext context, ElementContext elementContext,
21 Optional<SynchronizationStateEntity> getSynchronizationState(SessionContext context,
22 ElementContext elementContext,
25 void create(SessionContext context, ElementContext elementContext, ElementEntity element);
27 boolean update(SessionContext context, ElementContext elementContext, ElementEntity element);
29 void delete(SessionContext context, ElementContext elementContext, ElementEntity element);
31 void markAsPublished(SessionContext context, ElementContext elementContext, Id elementId,
34 void markDeletionAsPublished(SessionContext context, ElementContext elementContext, Id elementId,
37 void commitStagedCreate(SessionContext context, ElementContext elementContext,
38 ElementEntity element, Date publishTime);
40 void commitStagedUpdate(SessionContext context, ElementContext elementContext,
41 ElementEntity element, Date publishTime);
43 void commitStagedDelete(SessionContext context, ElementContext elementContext,
44 ElementEntity element);
46 void commitStagedIgnore(SessionContext context, ElementContext elementContext,
47 ElementEntity element, Date publishTime);