1 package org.onap.vid.aai.model;
3 import com.fasterxml.jackson.annotation.JsonCreator;
6 import java.util.Optional;
7 import java.util.function.Function;
8 import java.util.stream.Collectors;
9 import java.util.stream.Stream;
11 public enum ResourceType {
13 SERVICE_INSTANCE("service-instance", "service-instance-name"),
14 GENERIC_VNF("generic-vnf", "vnf-name"),
15 VF_MODULE("vf-module", "vf-module-name"),
16 VOLUME_GROUP("volume-group", "volume-group-name");
18 private static Map<String, ResourceType> AAI_FORMAT_MAP = Stream
19 .of(ResourceType.values())
20 .collect(Collectors.toMap(s -> s.aaiFormat, Function.identity()));
22 private final String aaiFormat;
23 private final String nameFilter;
25 ResourceType(String formatted, String nameFilter) {
26 this.aaiFormat = formatted;
27 this.nameFilter = nameFilter;
30 public String getAaiFormat() {
34 public String getNameFilter() {
39 public static ResourceType fromString(String string) {
41 .ofNullable(AAI_FORMAT_MAP.get(string))
42 .orElseThrow(() -> new IllegalArgumentException(string));