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() {