You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2022/07/05 14:26:04 UTC

[commons-lang] 04/09: Internal refactoring around private modify() method

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git

commit 5cd20a04a0d2fbd8f281196fbc797e8eec6cd6e0
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Tue Jul 5 09:49:33 2022 -0400

    Internal refactoring around private modify() method
---
 .../org/apache/commons/lang3/time/DateUtils.java   | 29 ++++++++--------------
 1 file changed, 10 insertions(+), 19 deletions(-)

diff --git a/src/main/java/org/apache/commons/lang3/time/DateUtils.java b/src/main/java/org/apache/commons/lang3/time/DateUtils.java
index a45800c98..c0e0e92c7 100644
--- a/src/main/java/org/apache/commons/lang3/time/DateUtils.java
+++ b/src/main/java/org/apache/commons/lang3/time/DateUtils.java
@@ -690,8 +690,7 @@ public class DateUtils {
         validateDateNotNull(date);
         final Calendar gval = Calendar.getInstance();
         gval.setTime(date);
-        modify(gval, field, ModifyType.ROUND);
-        return gval.getTime();
+        return modify(gval, field, ModifyType.ROUND).getTime();
     }
 
     /**
@@ -723,9 +722,7 @@ public class DateUtils {
      */
     public static Calendar round(final Calendar calendar, final int field) {
         Objects.requireNonNull(calendar, "calendar");
-        final Calendar rounded = (Calendar) calendar.clone();
-        modify(rounded, field, ModifyType.ROUND);
-        return rounded;
+        return modify((Calendar) calendar.clone(), field, ModifyType.ROUND);
     }
 
     /**
@@ -786,8 +783,7 @@ public class DateUtils {
         validateDateNotNull(date);
         final Calendar gval = Calendar.getInstance();
         gval.setTime(date);
-        modify(gval, field, ModifyType.TRUNCATE);
-        return gval.getTime();
+        return modify(gval, field, ModifyType.TRUNCATE).getTime();
     }
 
     /**
@@ -807,9 +803,7 @@ public class DateUtils {
      */
     public static Calendar truncate(final Calendar date, final int field) {
         Objects.requireNonNull(date, "date");
-        final Calendar truncated = (Calendar) date.clone();
-        modify(truncated, field, ModifyType.TRUNCATE);
-        return truncated;
+        return modify((Calendar) date.clone(), field, ModifyType.TRUNCATE);
     }
 
     /**
@@ -859,8 +853,7 @@ public class DateUtils {
         validateDateNotNull(date);
         final Calendar gval = Calendar.getInstance();
         gval.setTime(date);
-        modify(gval, field, ModifyType.CEILING);
-        return gval.getTime();
+        return modify(gval, field, ModifyType.CEILING).getTime();
     }
 
     /**
@@ -881,9 +874,7 @@ public class DateUtils {
      */
     public static Calendar ceiling(final Calendar calendar, final int field) {
         Objects.requireNonNull(calendar, "calendar");
-        final Calendar ceiled = (Calendar) calendar.clone();
-        modify(ceiled, field, ModifyType.CEILING);
-        return ceiled;
+        return modify((Calendar) calendar.clone(), field, ModifyType.CEILING);
     }
 
     /**
@@ -920,15 +911,16 @@ public class DateUtils {
      * @param val  the calendar, not null
      * @param field  the field constant
      * @param modType  type to truncate, round or ceiling
+     * @return the given calendar
      * @throws ArithmeticException if the year is over 280 million
      */
-    private static void modify(final Calendar val, final int field, final ModifyType modType) {
+    private static Calendar modify(final Calendar val, final int field, final ModifyType modType) {
         if (val.get(Calendar.YEAR) > 280000000) {
             throw new ArithmeticException("Calendar value too large for accurate calculations");
         }
 
         if (field == Calendar.MILLISECOND) {
-            return;
+            return val;
         }
 
         // ----------------- Fix for LANG-59 ---------------------- START ---------------
@@ -1006,7 +998,7 @@ public class DateUtils {
                             val.add(aField[0], 1);
                         }
                     }
-                    return;
+                    return val;
                 }
             }
             //We have various fields that are not easy roundings
@@ -1059,7 +1051,6 @@ public class DateUtils {
             }
         }
         throw new IllegalArgumentException("The field " + field + " is not supported");
-
     }
 
     /**