Class ExtSettings


  • public class ExtSettings
    extends java.lang.Object
    Additional custom settings
    • Nested Class Summary

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

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static ExtSettings.Builder builder()
      Create a new builder for ext settings.
      protected void copyFields​(ExtSettings newValue)
      Copy fields of new object to current object.
      boolean equals​(java.lang.Object obj)  
      protected java.util.function.BiFunction<ExtSettings,​ExtSettings,​java.lang.String> getDiffEvaluator()
      Function evaluates difference between new and old value.
      java.time.Duration getDurationProperty​(java.lang.String settingName)
      Get Duration value of additional queue property.
      protected java.lang.String getName()
      Name of setting
      java.lang.String getProperty​(java.lang.String settingName)
      Get string value of additional queue property.
      protected ExtSettings 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

      • getName

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

        @Nonnull
        protected java.util.function.BiFunction<ExtSettings,​ExtSettings,​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 ExtSettings getThis()
        Return typed reference of current object
        Returns:
        current object
      • copyFields

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

        @Nonnull
        public java.time.Duration getDurationProperty​(@Nonnull
                                                      java.lang.String settingName)
        Get Duration value of additional queue property.
        Parameters:
        settingName - Name of the property.
        Returns:
        Property value.
      • getProperty

        @Nonnull
        public java.lang.String getProperty​(@Nonnull
                                            java.lang.String settingName)
        Get string value of additional queue property.
        Parameters:
        settingName - Name of the property.
        Returns:
        Property value.
      • 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
      • builder

        public static ExtSettings.Builder builder()
        Create a new builder for ext settings.
        Returns:
        A new builder for ext settings.
      • 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