2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.openecomp.sdc.tosca.datatypes.model;
23 import java.util.ArrayList;
24 import java.util.List;
26 public class Constraint {
28 private Object greater_or_equal;
29 private Object greater_than;
30 private Object less_than;
31 private Object less_or_equal;
32 private Object[] in_range;
33 private List<Object> valid_values;
34 private Integer length;
35 private Integer min_length;
36 private Integer max_length;
37 private Object pattern;
42 public Object getGreater_or_equal() {
43 return greater_or_equal;
46 public void setGreater_or_equal(Object greaterOrEqual) {
47 this.greater_or_equal = greaterOrEqual;
50 public Object getEqual() {
54 public void setEqual(Object equal) {
58 public Object getGreater_than() {
62 public void setGreater_than(Object greaterThan) {
63 this.greater_than = greaterThan;
66 public Object getLess_than() {
70 public void setLess_than(Object lessThan) {
71 this.less_than = lessThan;
74 public Object getLess_or_equal() {
78 public void setLess_or_equal(Object lessOrEqual) {
79 this.less_or_equal = lessOrEqual;
82 public Object[] getIn_range() {
89 * @param inRange the in range
91 public void setIn_range(Object[] inRange) {
92 this.in_range = new Object[2];
93 this.in_range[0] = inRange[0];
94 this.in_range[1] = inRange[1];
97 public List<Object> getValid_values() {
101 public void setValid_values(List<Object> validValues) {
102 this.valid_values = validValues;
108 * @param validValue the valid value
110 public void addValidValue(Object validValue) {
111 if (this.valid_values == null) {
112 this.valid_values = new ArrayList<>();
114 valid_values.add(validValue);
117 public Integer getLength() {
121 public void setLength(Integer length) {
122 this.length = length;
125 public Integer getMin_length() {
129 public void setMin_length(Integer minLength) {
130 this.min_length = minLength;
133 public Integer getMax_length() {
137 public void setMax_length(Integer maxLength) {
138 this.max_length = maxLength;
141 public Object getPattern() {
145 public void setPattern(Object pattern) {
146 this.pattern = pattern;
150 public Constraint clone() {
151 Constraint constraint = new Constraint();
152 constraint.setEqual(this.getEqual());
153 constraint.setGreater_or_equal(this.getGreater_or_equal());
154 constraint.setGreater_than(this.getGreater_than());
155 cloneInRange(constraint);
156 constraint.setLength(this.getLength());
157 constraint.setLess_or_equal(this.getLess_or_equal());
158 constraint.setLess_than(this.getLess_than());
159 constraint.setMax_length(this.getMax_length());
160 constraint.setMin_length(this.getMin_length());
161 constraint.setPattern(this.getPattern());
162 cloneValidValues(constraint);
167 private void cloneInRange(Constraint constraint) {
168 if (this.getIn_range() != null) {
169 constraint.setIn_range(new Object[]{this.getIn_range()[0], this.getIn_range()[1]});
173 private void cloneValidValues(Constraint constraint) {
174 if (this.getValid_values() != null) {
175 constraint.setValid_values(new ArrayList<>());
176 for (Object entry : this.getValid_values()) {
177 constraint.getValid_values().add(entry);