2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.aai.schema.enums;
23 public enum ObjectMetadata {
26 * description of object
28 DESCRIPTION("description"),
30 * names of properties to appear in relationship-lists
31 * and parent objects in DMaaP messages
32 * <br><b>comma separated list</b>
34 NAME_PROPS("nameProps"),
36 * names of properties to be indexed in the
38 * <br><b>comma separated list</b>
40 INDEXED_PROPS("indexedProps"),
42 * name of the object this one depends on
44 DEPENDENT_ON("dependentOn"),
46 * name of the object which contains this object
48 CONTAINER("container"),
50 * the top level namespace to which this object belongs<br>
51 * <b>only valid on top level objects</b>
53 NAMESPACE("namespace"),
55 * properties which are searchable via the GUI
56 * <br><b>comma separated list</b>
58 SEARCHABLE("searchable"),
60 * properties marked as unique in the db schema
61 * <br><b>comma separated list</b>
63 UNIQUE_PROPS("uniqueProps"),
65 * abstract type from which this object extends
69 * comma separated list of objects who inherit this object<br>
70 * <b>only valid on abstract objects</b>
72 INHERITORS("inheritors"),
74 * a value of true marks this object as abstract
75 * abstract objects cannot be read/written directly
76 * they resolve to "or queries" when used in queries
80 * comma separated list of properties which are alternate ways
81 * to identify this object
83 ALTERNATE_KEYS_1("alternateKeys1"),
85 * the maximum allowable retrievable depth
87 MAXIMUM_DEPTH("maximumDepth"),
89 * collection of other objects to retrieve along with this one
90 * <br><b>comma separated list</b>
92 CROSS_ENTITY_REFERENCE("crossEntityReference"),
94 * Marks that this object can be linked to via dataLink
96 CAN_BE_LINKED("canBeLinked"),
98 * The entity contains properties that are suggestible
100 CONTAINS_SUGGESTIBLE_PROPS("containsSuggestibleProps"),
102 * A list of aliases for the entity name (for AAI UI searches)
104 SUGGESTION_ALIASES("suggestionAliases"),
106 * a value of true allows this object to be read directly
108 ALLOW_DIRECT_READ("allowDirectRead"),
110 * a value of true allows this object to be written directly
112 ALLOW_DIRECT_WRITE("allowDirectWrite");
114 private final String name;
116 private ObjectMetadata(String name) {
120 @Override public String toString() {