4fc49edf7d19f9d075b52f58fda7b3ba883d2185
[aai/aai-common.git] / aai-schema / src / main / java / org / onap / aai / schema / enums / ObjectMetadata.java
1 /**
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 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
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  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
21  */
22 package org.onap.aai.schema.enums;
23
24 public enum ObjectMetadata {
25
26         /**
27          * description of object
28          */
29         DESCRIPTION("description"),
30         /**
31          * names of properties to appear in relationship-lists
32          * and parent objects in DMaaP messages
33          * <br><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><b>comma separated list</b>
40          */
41         INDEXED_PROPS("indexedProps"),
42         /**
43          * name of the object this one depends on
44          */
45         DEPENDENT_ON("dependentOn"),
46         /**
47          * name of the object which contains this object
48          */
49         CONTAINER("container"),
50         /**
51          * the top level namespace to which this object belongs<br>
52          * <b>only valid on top level objects</b>
53          */
54         NAMESPACE("namespace"),
55         /**
56          * properties which are searchable via the GUI
57          * <br><b>comma separated list</b>
58          */
59         SEARCHABLE("searchable"),
60         /**
61          * properties marked as unique in the db schema
62          * <br><b>comma separated list</b>
63          */
64         UNIQUE_PROPS("uniqueProps"),
65         /**
66          * abstract type from which this object extends
67          */
68         EXTENDS("extends"),
69         /**
70          * comma separated list of objects who inherit this object<br>
71          * <b>only valid on abstract objects</b>
72          */
73         INHERITORS("inheritors"),
74         /**
75          * a value of true marks this object as abstract
76          * abstract objects cannot be read/written directly
77          * they resolve to "or queries" when used in queries
78          */
79         ABSTRACT("abstract"),
80         /**
81          * comma separated list of properties which are alternate ways
82          * to identify this object
83          */
84         ALTERNATE_KEYS_1("alternateKeys1"),
85         /**
86          * the maximum allowable retrievable depth 
87          */
88         MAXIMUM_DEPTH("maximumDepth"),
89         /**
90          * collection of other objects to retrieve along with this one
91          *  <br><b>comma separated list</b>
92          */
93         CROSS_ENTITY_REFERENCE("crossEntityReference"),
94         /**
95          * Marks that this object can be linked to via dataLink 
96          */
97         CAN_BE_LINKED("canBeLinked"),
98         /**
99          * The entity contains properties that are suggestible
100          */
101         CONTAINS_SUGGESTIBLE_PROPS("containsSuggestibleProps"),
102         /**
103          * A list of aliases for the entity name (for AAI UI searches)
104          */
105         SUGGESTION_ALIASES("suggestionAliases"),
106         /**
107          * a value of true allows this object to be read directly
108          */
109         ALLOW_DIRECT_READ("allowDirectRead"),
110         /**
111          * a value of true allows this object to be written directly
112          */
113         ALLOW_DIRECT_WRITE("allowDirectWrite");
114         
115          private final String name;
116
117           private ObjectMetadata(String name) { 
118             this.name = name;
119           }
120
121           @Override public String toString() {
122             return name; 
123           }
124         
125 }