Remove DMaaP dependency from AAI-Common
[aai/aai-common.git] / aai-annotations / src / main / java / org / onap / aai / schema / enums / ObjectMetadata.java
1 /**
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
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
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
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=========================================================
19  */
20
21 package org.onap.aai.schema.enums;
22
23 public enum ObjectMetadata {
24
25     /**
26      * description of object
27      */
28     DESCRIPTION("description"),
29     /**
30      * names of properties to appear in relationship-lists
31      * and parent objects in Kafka messages
32      * <br>
33      * <b>comma separated list</b>
34      */
35     NAME_PROPS("nameProps"),
36     /**
37      * names of properties to be indexed in the
38      * db schema
39      * <br>
40      * <b>comma separated list</b>
41      */
42     INDEXED_PROPS("indexedProps"),
43     /**
44      * name of the object this one depends on
45      */
46     DEPENDENT_ON("dependentOn"),
47     /**
48      * name of the object which contains this object
49      */
50     CONTAINER("container"),
51     /**
52      * the top level namespace to which this object belongs<br>
53      * <b>only valid on top level objects</b>
54      */
55     NAMESPACE("namespace"),
56     /**
57      * properties which are searchable via the GUI
58      * <br>
59      * <b>comma separated list</b>
60      */
61     SEARCHABLE("searchable"),
62     /**
63      * properties marked as unique in the db schema
64      * <br>
65      * <b>comma separated list</b>
66      */
67     UNIQUE_PROPS("uniqueProps"),
68     /**
69      * properties marked as required
70      * <br>
71      * <b>comma separated list</b>
72      */
73     REQUIRED_PROPS("requiredProps"),
74     /**
75      * uri template for this object
76      */
77     URI_TEMPLATE("uriTemplate"),
78     /**
79      * abstract type from which this object extends
80      */
81     EXTENDS("extends"),
82     /**
83      * comma separated list of objects who inherit this object<br>
84      * <b>only valid on abstract objects</b>
85      */
86     INHERITORS("inheritors"),
87     /**
88      * a value of true marks this object as abstract
89      * abstract objects cannot be read/written directly
90      * they resolve to "or queries" when used in queries
91      */
92     ABSTRACT("abstract"),
93     /**
94      * comma separated list of properties which are alternate ways
95      * to identify this object
96      */
97     ALTERNATE_KEYS_1("alternateKeys1"),
98     /**
99      * the maximum allowable retrievable depth
100      */
101     MAXIMUM_DEPTH("maximumDepth"),
102     /**
103      * collection of other objects to retrieve along with this one
104      * <br>
105      * <b>comma separated list</b>
106      */
107     CROSS_ENTITY_REFERENCE("crossEntityReference"),
108     /**
109      * Marks that this object can be linked to via dataLink
110      */
111     CAN_BE_LINKED("canBeLinked"),
112     /**
113      * The entity contains properties that are suggestible
114      */
115     CONTAINS_SUGGESTIBLE_PROPS("containsSuggestibleProps"),
116     /**
117      * A list of aliases for the entity name (for AAI UI searches)
118      */
119     SUGGESTION_ALIASES("suggestionAliases"),
120     /**
121      * a value of true allows this object to be read directly
122      */
123     ALLOW_DIRECT_READ("allowDirectRead"),
124     /**
125      * a value of true allows this object to be written directly
126      */
127     ALLOW_DIRECT_WRITE("allowDirectWrite"),
128     /**
129      * properties that are allowed to be in start node in a DSL
130      * <br>
131      * <b>comma separated list</b>
132      */
133     DSL_START_NODE_PROPS("dslStartNodeProps");
134
135     private final String name;
136
137     private ObjectMetadata(String name) {
138         this.name = name;
139     }
140
141     @Override
142     public String toString() {
143         return name;
144     }
145
146 }