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