Class ExtSettings
- java.lang.Object
-
- ru.yoomoney.tech.dbqueue.settings.ExtSettings
-
public class ExtSettings extends java.lang.ObjectAdditional custom settings
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classExtSettings.BuilderA builder for ext settings.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ExtSettings.Builderbuilder()Create a new builder for ext settings.protected voidcopyFields(ExtSettings newValue)Copy fields of new object to current object.booleanequals(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.DurationgetDurationProperty(java.lang.String settingName)Get Duration value of additional queue property.protected java.lang.StringgetName()Name of settingjava.lang.StringgetProperty(java.lang.String settingName)Get string value of additional queue property.protected ExtSettingsgetThis()Return typed reference of current objectinthashCode()voidregisterObserver(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.StringtoString()
-
-
-
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:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.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
-
-