2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright © 2017-2018 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=========================================================
20 package org.onap.aai.schema.enums;
22 public enum ObjectMetadata {
25 * description of object
27 DESCRIPTION("description"),
29 * names of properties to appear in relationship-lists
30 * and parent objects in DMaaP messages
31 * <br><b>comma separated list</b>
33 NAME_PROPS("nameProps"),
35 * names of properties to be indexed in the
37 * <br><b>comma separated list</b>
39 INDEXED_PROPS("indexedProps"),
41 * name of the object this one depends on
43 DEPENDENT_ON("dependentOn"),
45 * name of the object which contains this object
47 CONTAINER("container"),
49 * the top level namespace to which this object belongs<br>
50 * <b>only valid on top level objects</b>
52 NAMESPACE("namespace"),
54 * properties which are searchable via the GUI
55 * <br><b>comma separated list</b>
57 SEARCHABLE("searchable"),
59 * properties marked as unique in the db schema
60 * <br><b>comma separated list</b>
62 UNIQUE_PROPS("uniqueProps"),
64 * properties marked as required
65 * <br><b>comma separated list</b>
67 REQUIRED_PROPS("requiredProps"),
69 * uri template for this object
71 URI_TEMPLATE("uriTemplate"),
73 * abstract type from which this object extends
77 * comma separated list of objects who inherit this object<br>
78 * <b>only valid on abstract objects</b>
80 INHERITORS("inheritors"),
82 * a value of true marks this object as abstract
83 * abstract objects cannot be read/written directly
84 * they resolve to "or queries" when used in queries
88 * comma separated list of properties which are alternate ways
89 * to identify this object
91 ALTERNATE_KEYS_1("alternateKeys1"),
93 * the maximum allowable retrievable depth
95 MAXIMUM_DEPTH("maximumDepth"),
97 * collection of other objects to retrieve along with this one
98 * <br><b>comma separated list</b>
100 CROSS_ENTITY_REFERENCE("crossEntityReference"),
102 * Marks that this object can be linked to via dataLink
104 CAN_BE_LINKED("canBeLinked"),
106 * The entity contains properties that are suggestible
108 CONTAINS_SUGGESTIBLE_PROPS("containsSuggestibleProps"),
110 * A list of aliases for the entity name (for AAI UI searches)
112 SUGGESTION_ALIASES("suggestionAliases"),
114 * a value of true allows this object to be read directly
116 ALLOW_DIRECT_READ("allowDirectRead"),
118 * a value of true allows this object to be written directly
120 ALLOW_DIRECT_WRITE("allowDirectWrite"),
122 * properties that are allowed to be in start node in a DSL
123 * <br><b>comma separated list</b>
125 DSL_START_NODE_PROPS("dslStartNodeProps");
128 private final String name;
130 private ObjectMetadata(String name) {
134 @Override public String toString() {