Class PerishableCountDown

java.lang.Object
uk.ac.gda.services.common.endstation.PerishableCountDown

public final class PerishableCountDown extends Object
Builds counter to generate optional count down seconds of Perishable time interval with set expiration time.
  • Field Details

    • MAX_PERMITTED_REMAINING_SECONDS

      public static final int MAX_PERMITTED_REMAINING_SECONDS
      See Also:
  • Method Details

    • supplyRemainingSecondsIfAny

      public Supplier<OptionalInt> supplyRemainingSecondsIfAny()
      Seconds remaining in count down, if any, prior to cut-off
      Returns:
      remaining seconds
    • getCountDownBuilderForExpirationOf

      public static PerishableCountDown.Builder getCountDownBuilderForExpirationOf(Perishable perishable)
      Provides Builder for head of a chained call construction of an expiring count down
      Parameters:
      perishable - source of expiration timing - e.g. stale Msg come in late over message bus
      Returns:
      builder which creates count down expiring in synch with input
    • getCountDownBuilderForImminentExpiry

      public static PerishableCountDown.Builder getCountDownBuilderForImminentExpiry(int remainingSeconds)
      Provides Builder for head of a chained call construction of an expiring count down
      Parameters:
      remainingSeconds - for an imminent source of expiration timing
      Returns:
      builder which creates count down expiring in number of seconds given by input
    • generateFutureExpiration

      public static LocalDateTime generateFutureExpiration(int remainingTimeSeconds)