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