From 8c410bef19ff3c7c9d1d5def739b0cb9b0501581 Mon Sep 17 00:00:00 2001 From: oblonski Date: Thu, 23 Jan 2020 10:43:33 +0100 Subject: [PATCH] add helper methods --- .../termination/TimeTermination.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/termination/TimeTermination.java b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/termination/TimeTermination.java index 39bfd008..99c83930 100644 --- a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/termination/TimeTermination.java +++ b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/algorithm/termination/TimeTermination.java @@ -41,9 +41,9 @@ import java.util.Collection; */ public class TimeTermination implements PrematureAlgorithmTermination, AlgorithmStartsListener { - public static interface TimeGetter { + public interface TimeGetter { - public long getCurrentTime(); + long getCurrentTime(); } @@ -51,14 +51,7 @@ public class TimeTermination implements PrematureAlgorithmTermination, Algorithm private final long timeThreshold; - private TimeGetter timeGetter = new TimeGetter() { - - @Override - public long getCurrentTime() { - return System.currentTimeMillis(); - } - - }; + private TimeGetter timeGetter = System::currentTimeMillis; private long startTime; @@ -91,7 +84,7 @@ public class TimeTermination implements PrematureAlgorithmTermination, Algorithm this.startTime = startTime; } - private long now() { + public long now() { return timeGetter.getCurrentTime(); } @@ -100,4 +93,12 @@ public class TimeTermination implements PrematureAlgorithmTermination, Algorithm start(timeGetter.getCurrentTime()); } + public long getRemainingTime() { + return timeThreshold - (now() - startTime); + } + + public long getStartTime() { + return startTime; + } + }