/*- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.openecomp.sdc.be.datatypes.enums; import java.util.ArrayList; import java.util.List; import java.util.Map; import lombok.AllArgsConstructor; import lombok.Getter; @AllArgsConstructor @Getter public enum GraphPropertyEnum { // @formatter:off // field name, class type, unique, indexed UNIQUE_ID( "uid", String.class, true, true), LABEL( "nodeLabel", String.class, false, true), JSON( "json", String.class, false, false), METADATA( "metadata", String.class, false, false), VERSION( "version", String.class, false, true), STATE( "state", String.class, false, true), IS_HIGHEST_VERSION( "highestVersion", Boolean.class, false, true), IS_DELETED( "deleted", Boolean.class, false, true), NORMALIZED_NAME( "normalizedName", String.class, false, true), NAME( "name", String.class, false, true), TOSCA_RESOURCE_NAME( "toscaResourceName", String.class, false, true), DISTRIBUTION_STATUS( "distributionStatus", String.class, false, false), RESOURCE_TYPE( "resourceType", String.class, false, true), COMPONENT_TYPE( "componentType", String.class, false, true), UUID( "uuid", String.class, false, true), SYSTEM_NAME( "systemName", String.class, false, true), IS_ABSTRACT( "abstract", Boolean.class, false, true), INVARIANT_UUID( "invariantUuid", String.class, false, true), CSAR_UUID( "csarUuid", String.class, false, true), CSAR_VERSION_UUID( "csarVersionUuid", String.class, false, true), //used for user (old format, no json for users) USERID( "userId", String.class, true, true), ROLE( "role", String.class, false, false), FIRST_NAME( "firstName", String.class, false, false), LAST_NAME( "lastName", String.class, false, false), EMAIL( "email", String.class, false, false), LAST_LOGIN_TIME( "lastLoginTime", Long.class, false, false), //used for category (old format, no json for categories) ICONS( "icons", String.class, false, false), METADATA_KEYS( "metadataKeys", String.class, false, false), USE_SUBSTITUTION_FOR_NESTED_SERVICES("useServiceSubstitutionForNestedServices",Boolean.class,false,false), NOT_APPLICABLE_METADATA_KEYS("notApplicableMetadataKeys",String.class,false,false), DATA_TYPES( "data_types", Map.class, false, false), //Archive/Restore IS_ARCHIVED( "isArchived", Boolean.class, false, true), IS_VSP_ARCHIVED( "isVspArchived", Boolean.class, false, true), ARCHIVE_TIME( "archiveTime", Long.class, false, true), PREV_CATALOG_UPDATE_TIME("previousUpdateTime", Long.class, false, true), CURRENT_CATALOG_UPDATE_TIME("currentUpdateTime",Long.class, false, true), //Healing HEALING_VERSION( "healVersion", Integer.class, false, true), MODEL( "model", String.class, false, false), MODEL_TYPE( "modelType", String.class, false, false); // @formatter:on private final String property; private final Class clazz; private final boolean unique; private final boolean indexed; public static GraphPropertyEnum getByProperty(String property) { for (GraphPropertyEnum currProperty : GraphPropertyEnum.values()) { if (currProperty.getProperty().equals(property)) { return currProperty; } } return null; } public static List getAllProperties() { List arrayList = new ArrayList<>(); for (GraphPropertyEnum graphProperty : GraphPropertyEnum.values()) { arrayList.add(graphProperty.getProperty()); } return arrayList; } }