Controller Blueprints MS
[ccsdk/cds.git] / ms / controllerblueprints / modules / core / src / main / kotlin / org / onap / ccsdk / apps / controllerblueprints / core / data / BluePrintExpressionData.kt
1 /*\r
2  * Copyright © 2017-2018 AT&T Intellectual Property.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 package org.onap.ccsdk.apps.controllerblueprints.core.data\r
18 \r
19 import com.fasterxml.jackson.databind.JsonNode\r
20 import com.fasterxml.jackson.databind.node.ObjectNode\r
21 /**\r
22  *\r
23  *\r
24  * @author Brinda Santh\r
25  */\r
26 data class ExpressionData(\r
27         var isExpression: Boolean = false,\r
28         var valueNode: JsonNode,\r
29         var expressionNode: ObjectNode? = null,\r
30         var inputExpression: InputExpression? = null,\r
31         var propertyExpression: PropertyExpression? = null,\r
32         var attributeExpression: AttributeExpression? = null,\r
33         var artifactExpression: ArtifactExpression? = null,\r
34         var operationOutputExpression: OperationOutputExpression? = null,\r
35         var command: String? = null\r
36 )\r
37 \r
38 data class InputExpression(\r
39         var propertyName: String\r
40 )\r
41 \r
42 data class PropertyExpression(\r
43         var modelableEntityName: String = "SELF",\r
44         var reqOrCapEntityName: String? = null,\r
45         var propertyName: String,\r
46         var subPropertyName: String?  = null\r
47 )\r
48 \r
49 data class AttributeExpression(\r
50         var modelableEntityName: String = "SELF",\r
51         var reqOrCapEntityName: String? = null,\r
52         var attributeName: String,\r
53         var subAttributeName: String? = null\r
54 )\r
55 \r
56 data class ArtifactExpression(\r
57         val modelableEntityName: String = "SELF",\r
58         val artifactName: String,\r
59         val location: String? =  "LOCAL_FILE",\r
60         val remove: Boolean? = false\r
61 )\r
62 \r
63 data class OperationOutputExpression(\r
64         val modelableEntityName: String = "SELF",\r
65         val interfaceName: String,\r
66         val operationName: String,\r
67         val propertyName: String\r
68 )\r
69 \r
70 \r