re base code
[sdc.git] / catalog-model / src / main / java / org / openecomp / sdc / be / model / operations / api / TypeOperations.java
1 package org.openecomp.sdc.be.model.operations.api;
2
3 import fj.data.Either;
4 import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition;
5
6 import javax.validation.constraints.NotNull;
7
8 public interface TypeOperations<T extends ToscaDataDefinition> {
9
10     T addType(T newTypeDefinition);
11
12     T getType(String uniqueId);
13
14     T getLatestType(String uniqueId);
15
16     boolean isSameType(@NotNull T type1,@NotNull T type2);
17
18     T updateType(T currentTypeDefinition, T newTypeDefinition);
19     
20     static <T> Either<T, StorageOperationStatus> mapOkStatus(StorageOperationStatus status, T obj) {
21         return status != StorageOperationStatus.OK? Either.right(status) : Either.left(obj);
22     }
23
24 }