diff options
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.java | 24 |
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); + } + +} |