8d5be97426e7c53c18faee35e13afa47b85c2d74
[policy/engine.git] / ONAP-REST / src / main / java / org / onap / policy / rest / jpa / ObadviceExpression.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP-REST
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.onap.policy.rest.jpa;
22
23 import java.io.Serializable;
24
25 import javax.persistence.Column;
26 import javax.persistence.Entity;
27 import javax.persistence.GeneratedValue;
28 import javax.persistence.GenerationType;
29 import javax.persistence.Id;
30 import javax.persistence.JoinColumn;
31 import javax.persistence.ManyToOne;
32 import javax.persistence.NamedQuery;
33 import javax.persistence.OneToOne;
34 import javax.persistence.Table;
35
36
37 /**
38  * The persistent class for the ObadviceExpressions database table.
39  * 
40  */
41 @Entity
42 @Table(name="ObadviceExpressions")
43 @NamedQuery(name="ObadviceExpression.findAll", query="SELECT o FROM ObadviceExpression o")
44 public class ObadviceExpression implements Serializable {
45         private static final long serialVersionUID = 1L;
46
47         public static final String EXPRESSION_APPLY = "Apply";
48         public static final String EXPRESSION_SELECTOR = "Attribute Selector";
49         public static final String EXPRESSION_VALUE = "Attribute Value";
50         public static final String EXPRESSION_FUNCTION = "Function";
51         public static final String EXPRESSION_REFERENCE = "Varable Reference";
52         public static final String EXPRESSION_DESIGNATOR = "Attribute Designator";
53
54         @Id
55         @GeneratedValue(strategy = GenerationType.AUTO)
56         @Column(name="id")
57         private int id;
58
59         //unidirectional one-to-one association to Attribute
60         @OneToOne
61         @JoinColumn(name="attribute_id")
62         private Attribute attribute;
63
64         @Column(name="type", nullable=false)
65         private String type;
66         
67         /*
68         @Lob
69         @Column(name="expression", nullable=false)
70         private byte[] expression;
71         */
72
73         //bi-directional many-to-one association to Obadvice
74         @ManyToOne
75         @JoinColumn(name="obadvice_id")
76         private Obadvice obadvice;
77
78         public ObadviceExpression() {
79                 type = EXPRESSION_VALUE;
80         }
81
82         public int getId() {
83                 return this.id;
84         }
85
86         public void setId(int id) {
87                 this.id = id;
88         }
89
90         public Attribute getAttribute() {
91                 return this.attribute;
92         }
93
94         public void setAttribute(Attribute attribute) {
95                 this.attribute = attribute;
96         }
97
98         public String getType() {
99                 return this.type;
100         }
101
102         public void setType(String type) {
103                 this.type = type;
104         }
105
106         public Obadvice getObadvice() {
107                 return this.obadvice;
108         }
109
110         public void setObadvice(Obadvice obadvice) {
111                 this.obadvice = obadvice;
112         }
113
114         public ObadviceExpression clone() {
115                 ObadviceExpression expression = new ObadviceExpression();
116                 
117                 expression.attribute = this.attribute;
118                 expression.type = this.type;
119                 expression.obadvice = this.obadvice;
120                 
121                 return expression;
122         }
123 }