Stardust created LANG-1134: ------------------------------ Summary: New methods for lang3.Validate Key: LANG-1134 URL: https://issues.apache.org/jira/browse/LANG-1134 Project: Commons Lang Issue Type: Improvement Components: lang.* Affects Versions: 3.4 Reporter: Stardust Priority: Minor
These are suggestions for new methods for the Validate class. h1. Floating point values h2. notNaN(value) Throws an exception if value != value . {code}double value; value = Double.NaN; Validate.notNaN(value); // Throws exception value = 1.0; Validate.notNaN(value); // Validates value = Double.POSITIVE_INFINITY; Validate.notNaN(value); // Validates{code} h2. finite(value) Validates that the argument contains a numeric value (not NaN or infinite). {code}double value; value = Double.NaN; Validate.notNaN(value); // Throws exception value = Double.POSITIVE_INFINITY; Validate.notNaN(value); // Throws exception value = 1.0; Validate.notNaN(value); // Validates{code} h1. Integers and floats The following methods are overloaded to accept both integers and floating point values. h2. greater(reference, value), greaterOrEqual(reference, value) Ensures the argument is greater than (or equal to) a given value. {code}double value; value = 0.0; Validate.greater(0.0, value); // Throws exception Validate.greaterOrEqual(0.0, value); // Validates value = Double.POSITIVE_INFINITY; Validate.greater(0.0, value); // Validates value = Double.NaN; Validate.greater(0.0, value); // Throws exception{code} h2. smaller(reference, value), smallerOrEqual(reference, value) Ensures the argument is smaller than (or equal to) a given value. Does the opposite of greater(), see example above. h2. different(reference, value) Ensures the argument is not equal to a given value. A typical use case would be to accept only non-zero values. {code}double value; value = 0.0; different(0.0, value); // Throws exception different(1.0, value); // Validates value = Double.NaN; different(0.0, value); // Validates{code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)