All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.elephantdrummer.validator.ValidatorNumeric Maven / Gradle / Ivy

There is a newer version: 1.2.5
Show newest version
package com.elephantdrummer.validator;

import com.elephantdrummer.exception.ValidationException;

/**
 * Copyright 2018 Elephant Software Klaudiusz Wojtkowiak e-mail: [email protected]
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *  http://www.apache.org/licenses/LICENSE-2.0 
 *  
 *  Unless required by applicable law or agreed to in writing, software 
 *  distributed under the License is distributed on an "AS IS" BASIS, 
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 *  See the License for the specific language governing permissions and 
 *  limitations under the License. 
 */
public interface ValidatorNumeric {

	
	public static boolean isDigit(String str) {
		if (str==null) return true;
		String s = str.trim();
		for (int i = 0; i < s.length(); i++) {
			// If we find a non-digit character we return false.
			if (!Character.isDigit(s.charAt(i))&&(s.charAt(i)=='.')==false&&(s.charAt(i)=='-')==false)
				return false;
		}
		return true;
	}
	
	public static boolean isNumber(String str) {
		if (str==null) return true;
		String s = str.trim();
		for (int i = 0; i < s.length(); i++) {
			// If we find a non-digit character we return false.
			if (!Character.isDigit(s.charAt(i))&&(s.charAt(i)=='.')==false&&(s.charAt(i)=='-')==false)
				return false;
		}
		return true;
	}
	
	
	/**
	 * Throws ValidatorException when provided parameter is not a number. Characters like '.' and '-' are allowed
	 * @param from some string
	 * @return same string
	 */
	public static String validateNumberOrError(String from){
		if (isNumber(from)==false) throw new ValidationException("Numeric content not found. Value can not be converterted: "+from);
		return from;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy