Class PollSettings


  • public class PollSettings
    extends java.lang.Object
    Task polling settings.
    Since:
    01.10.2021
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  PollSettings.Builder
      A builder for poll settings.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static PollSettings.Builder builder()
      Create a new builder for poll settings.
      protected void copyFields​(PollSettings newValue)
      Copy fields of new object to current object.
      boolean equals​(java.lang.Object obj)  
      java.time.Duration getBetweenTaskTimeout()
      Get delay duration between picking tasks from the queue after the task was processed.
      protected java.util.function.BiFunction<PollSettings,​PollSettings,​java.lang.String> getDiffEvaluator()
      Function evaluates difference between new and old value.
      java.time.Duration getFatalCrashTimeout()
      Get delay duration when task execution thread sleeps after unexpected error.
      protected java.lang.String getName()
      Name of setting
      java.time.Duration getNoTaskTimeout()
      Get delay duration between picking tasks from the queue if there are no task for processing.
      protected PollSettings getThis()
      Return typed reference of current object
      int hashCode()  
      void registerObserver​(java.util.function.BiConsumer<T,​T> observer)
      Register observer to track setting changes.
      java.util.Optional<java.lang.String> setValue​(T newValue)
      Sets new value for current setting.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Method Detail

      • getBetweenTaskTimeout

        @Nonnull
        public java.time.Duration getBetweenTaskTimeout()
        Get delay duration between picking tasks from the queue after the task was processed.
        Returns:
        Delay after next task was processed.
      • getNoTaskTimeout

        @Nonnull
        public java.time.Duration getNoTaskTimeout()
        Get delay duration between picking tasks from the queue if there are no task for processing.
        Returns:
        Delay when there are no tasks to process.
      • getFatalCrashTimeout

        @Nonnull
        public java.time.Duration getFatalCrashTimeout()
        Get delay duration when task execution thread sleeps after unexpected error.
        Returns:
        Delay after unexpected error.
      • builder

        public static PollSettings.Builder builder()
        Create a new builder for poll settings.
        Returns:
        A new builder for poll settings.
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getName

        @Nonnull
        protected java.lang.String getName()
        Name of setting
        Returns:
        name
      • getDiffEvaluator

        @Nonnull
        protected java.util.function.BiFunction<PollSettings,​PollSettings,​java.lang.String> getDiffEvaluator()
        Function evaluates difference between new and old value. 1st argument - old value, 2nd argument - new value.
        Returns:
        difference between two values
      • getThis

        @Nonnull
        protected PollSettings getThis()
        Return typed reference of current object
        Returns:
        current object
      • copyFields

        protected void copyFields​(@Nonnull
                                  PollSettings newValue)
        Copy fields of new object to current object.
        Parameters:
        newValue - new value
      • setValue

        public final java.util.Optional<java.lang.String> setValue​(@Nonnull
                                                                   T newValue)
        Sets new value for current setting. Notifies observer when property is changed.
        Parameters:
        newValue - new value for setting
        Returns:
        diff between old value and new value. Returns empty object when no changes detected.
        See Also:
        DynamicSetting.registerObserver(BiConsumer)
      • registerObserver

        public final void registerObserver​(java.util.function.BiConsumer<T,​T> observer)
        Register observer to track setting changes.
        Parameters:
        observer - consumer which will be notified on property change. 1st argument - old value, 2nd argument - new value