Class ConditionAwaiter

  • All Implemented Interfaces:
    java.lang.Thread.UncaughtExceptionHandler

    abstract class ConditionAwaiter
    extends java.lang.Object
    implements java.lang.Thread.UncaughtExceptionHandler
    • Field Detail

      • executor

        private final java.util.concurrent.ExecutorService executor
      • uncaughtThrowable

        private final java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> uncaughtThrowable
    • Method Detail

      • await

        public <T> void await​(ConditionEvaluationHandler<T> conditionEvaluationHandler)

        await.

        Parameters:
        conditionEvaluationHandler - The conditionEvaluationHandler
      • executeFailFastConditionIfDefined

        private void executeFailFastConditionIfDefined()
                                                throws java.lang.Throwable
        Throws:
        java.lang.Throwable
      • decapitalize

        private static java.lang.String decapitalize​(java.lang.String str)
      • getTimeoutMessage

        protected abstract java.lang.String getTimeoutMessage()

        getTimeoutMessage.

        Returns:
        a String object.
      • uncaughtException

        public void uncaughtException​(java.lang.Thread thread,
                                      java.lang.Throwable throwable)
        Specified by:
        uncaughtException in interface java.lang.Thread.UncaughtExceptionHandler
      • calculateConditionEvaluationDuration

        static java.time.Duration calculateConditionEvaluationDuration​(java.time.Duration pollDelay,
                                                                       long pollingStarted,
                                                                       long firstSucceedSinceStarted,
                                                                       java.time.Duration minWaitTime,
                                                                       java.time.Duration holdPredicateWaitTime)