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.
      */

Reply via email to