1 package org.openecomp.core.zusammen.plugin.collaboration;
3 import com.amdocs.zusammen.datatypes.Id;
4 import com.amdocs.zusammen.datatypes.SessionContext;
5 import org.openecomp.core.zusammen.plugin.dao.types.SynchronizationStateEntity;
6 import org.openecomp.core.zusammen.plugin.dao.types.VersionEntity;
9 import java.util.Optional;
11 public interface VersionPrivateStore {
12 Optional<VersionEntity> get(SessionContext context, Id itemId, Id versionId);
14 Optional<SynchronizationStateEntity> getSynchronizationState(SessionContext context, Id itemId,
17 void create(SessionContext context, Id itemId, VersionEntity version);
19 void update(SessionContext context, Id itemId, VersionEntity version);
21 void update(SessionContext context, Id itemId, VersionEntity version, Date publishTime,
24 void delete(SessionContext context, Id itemId, VersionEntity version);
26 void markAsPublished(SessionContext context, Id itemId, Id versionId, Date publishTime);
28 void commitStagedCreate(SessionContext context, Id itemId, VersionEntity version,
31 void commitStagedUpdate(SessionContext context, Id itemId, VersionEntity version,
34 void commitStagedIgnore(SessionContext context, Id itemId, VersionEntity version,