Replace all tab characters in java files with two spaces to remove linter warning
[aai/schema-service.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 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    * properties marked as required
65    * <br><b>comma separated list</b>
66    */
67   REQUIRED_PROPS("requiredProps"),
68   /**
69    * uri template for this object
70    */
71   URI_TEMPLATE("uriTemplate"),
72   /**
73    * abstract type from which this object extends
74    */
75   EXTENDS("extends"),
76   /**
77    * comma separated list of objects who inherit this object<br>
78    * <b>only valid on abstract objects</b>
79    */
80   INHERITORS("inheritors"),
81   /**
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
85    */
86   ABSTRACT("abstract"),
87   /**
88    * comma separated list of properties which are alternate ways
89    * to identify this object
90    */
91   ALTERNATE_KEYS_1("alternateKeys1"),
92   /**
93    * the maximum allowable retrievable depth 
94    */
95   MAXIMUM_DEPTH("maximumDepth"),
96   /**
97    * collection of other objects to retrieve along with this one
98    *  <br><b>comma separated list</b>
99    */
100   CROSS_ENTITY_REFERENCE("crossEntityReference"),
101   /**
102    * Marks that this object can be linked to via dataLink 
103    */
104   CAN_BE_LINKED("canBeLinked"),
105   /**
106    * The entity contains properties that are suggestible
107    */
108   CONTAINS_SUGGESTIBLE_PROPS("containsSuggestibleProps"),
109   /**
110    * A list of aliases for the entity name (for AAI UI searches)
111    */
112   SUGGESTION_ALIASES("suggestionAliases"),
113   /**
114    * a value of true allows this object to be read directly
115    */
116   ALLOW_DIRECT_READ("allowDirectRead"),
117   /**
118    * a value of true allows this object to be written directly
119    */
120   ALLOW_DIRECT_WRITE("allowDirectWrite"),
121     /**
122      * properties that are allowed to be in start node in a DSL
123      * <br><b>comma separated list</b>
124      */
125     DSL_START_NODE_PROPS("dslStartNodeProps");
126
127
128     private final String name;
129
130     private ObjectMetadata(String name) { 
131       this.name = name;
132     }
133
134     @Override public String toString() {
135       return name; 
136     }
137   
138 }