This is an automated email from the ASF dual-hosted git repository.
garydgregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-validator.git
The following commit(s) were added to refs/heads/master by this push:
new d5cf1a30 Internal refactoring
d5cf1a30 is described below
commit d5cf1a30ed828447ce811ab00c2a1d751c8f420f
Author: Gary Gregory <[email protected]>
AuthorDate: Mon Jun 22 14:15:53 2026 +0000
Internal refactoring
---
.../routines/AbstractNumberValidator.java | 26 +++++++++++++++++++
.../validator/routines/BigDecimalValidator.java | 7 ------
.../validator/routines/BigIntegerValidator.java | 29 ----------------------
3 files changed, 26 insertions(+), 36 deletions(-)
diff --git
a/src/main/java/org/apache/commons/validator/routines/AbstractNumberValidator.java
b/src/main/java/org/apache/commons/validator/routines/AbstractNumberValidator.java
index e2224b2e..df92dd0b 100644
---
a/src/main/java/org/apache/commons/validator/routines/AbstractNumberValidator.java
+++
b/src/main/java/org/apache/commons/validator/routines/AbstractNumberValidator.java
@@ -16,6 +16,8 @@
*/
package org.apache.commons.validator.routines;
+import java.math.BigDecimal;
+import java.math.BigInteger;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.Format;
@@ -58,6 +60,30 @@ public abstract class AbstractNumberValidator extends
AbstractFormatValidator {
return format;
}
+ static BigDecimal toBigDecimal(final Object value) {
+ if (value instanceof Long) {
+ return BigDecimal.valueOf(((Long) value).longValue());
+ }
+ if (value instanceof Double) {
+ return BigDecimal.valueOf(((Double) value).doubleValue());
+ }
+ if (value instanceof BigDecimal) {
+ return (BigDecimal) value;
+ }
+ if (value instanceof BigInteger) {
+ return new BigDecimal((BigInteger) value);
+ }
+ // No more shortcuts, convert from a string.
+ return new BigDecimal(value.toString());
+ }
+
+ static BigInteger toBigInteger(final Object value) {
+ if (value instanceof Long) {
+ return BigInteger.valueOf(((Long) value).longValue());
+ }
+ return toBigDecimal(value).toBigInteger();
+ }
+
/**
* {@code true} if fractions are allowed or {@code false} if integers only.
*/
diff --git
a/src/main/java/org/apache/commons/validator/routines/BigDecimalValidator.java
b/src/main/java/org/apache/commons/validator/routines/BigDecimalValidator.java
index 82de51dd..75d68a72 100644
---
a/src/main/java/org/apache/commons/validator/routines/BigDecimalValidator.java
+++
b/src/main/java/org/apache/commons/validator/routines/BigDecimalValidator.java
@@ -98,13 +98,6 @@ public class BigDecimalValidator extends
AbstractNumberValidator {
return true;
}
- private static BigDecimal toBigDecimal(final Object value) {
- if (value instanceof Long) {
- return BigDecimal.valueOf(((Long) value).longValue());
- }
- return value instanceof BigDecimal ? (BigDecimal) value : new
BigDecimal(value.toString());
- }
-
/**
* Constructs a <em>strict</em> instance.
*/
diff --git
a/src/main/java/org/apache/commons/validator/routines/BigIntegerValidator.java
b/src/main/java/org/apache/commons/validator/routines/BigIntegerValidator.java
index 5d9a9c22..ca114442 100644
---
a/src/main/java/org/apache/commons/validator/routines/BigIntegerValidator.java
+++
b/src/main/java/org/apache/commons/validator/routines/BigIntegerValidator.java
@@ -17,7 +17,6 @@
package org.apache.commons.validator.routines;
-import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.DecimalFormat;
import java.text.Format;
@@ -79,34 +78,6 @@ public class BigIntegerValidator extends
AbstractNumberValidator {
return VALIDATOR;
}
- private static BigDecimal toBigDecimal(final Number value) {
- if (value instanceof BigDecimal) {
- return (BigDecimal) value;
- }
- if (value instanceof BigInteger) {
- return new BigDecimal((BigInteger) value);
- }
- if (value instanceof Long) {
- return BigDecimal.valueOf(value.longValue());
- }
- if (value instanceof Double) {
- // No need to roundtrip with a string.
- return BigDecimal.valueOf(((Double) value).doubleValue());
- }
- return new BigDecimal(value.toString());
- }
-
- private static BigInteger toBigInteger(final Object value) {
- if (value instanceof Long) {
- return BigInteger.valueOf(((Long) value).longValue());
- }
- if (value instanceof Double) {
- // No need to roundtrip with a string.
- return BigDecimal.valueOf(((Double)
value).doubleValue()).toBigInteger();
- }
- return value instanceof BigInteger ? (BigInteger) value : new
BigDecimal(value.toString()).toBigInteger();
- }
-
/**
* Constructs a <em>strict</em> instance.
*/