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=========================================================
20 package org.openecomp.sdc.be.model.tosca.validators;
23 import org.openecomp.sdc.be.model.DataTypeDefinition;
25 public interface PropertyTypeValidator {
27 boolean isValid(String value, String innerType, Map<String, DataTypeDefinition> allDataTypes);
29 boolean isValid(String value, String innerType);
31 * The value format should be validated according to the "Property Type" :
32 * "integer" - valid tag:yaml.org,2002:int , the number base 8,10,18 should
33 * be handled ( hint : to validate by calling parseInt(
34 * s,10)/parseInt(s,16)/parseInt(s,8) or just regexp [-+]?[0-9]+ for Base 10
35 * , [-+]?0[0-7]+ for Base 8 , [-+]?0x[0-9a-fA-F]+ for Base 16
37 * "float" - valid tag:yaml.org,2002:float , parseFloat() "boolean" - valid
38 * tag:yaml.org,2002:bool : can be only "true" or "false" ( upper case
39 * characters should be converted to lower case : TRUE ->true, True->true
40 * "string" - valid tag:yaml.org,2002:str and limited to 100 chars.