aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/api/TypeOperations.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/api/TypeOperations.java')
-rw-r--r--catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/api/TypeOperations.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/api/TypeOperations.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/api/TypeOperations.java
new file mode 100644
index 0000000000..d858153348
--- /dev/null
+++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/api/TypeOperations.java
@@ -0,0 +1,24 @@
+package org.openecomp.sdc.be.model.operations.api;
+
+import fj.data.Either;
+import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition;
+
+import javax.validation.constraints.NotNull;
+
+public interface TypeOperations<T extends ToscaDataDefinition> {
+
+ T addType(T newTypeDefinition);
+
+ T getType(String uniqueId);
+
+ T getLatestType(String uniqueId);
+
+ boolean isSameType(@NotNull T type1,@NotNull T type2);
+
+ T updateType(T currentTypeDefinition, T newTypeDefinition);
+
+ static <T> Either<T, StorageOperationStatus> mapOkStatus(StorageOperationStatus status, T obj) {
+ return status != StorageOperationStatus.OK? Either.right(status) : Either.left(obj);
+ }
+
+}