Class ProcessingSettings
- java.lang.Object
-
- ru.yoomoney.tech.dbqueue.settings.ProcessingSettings
-
public class ProcessingSettings extends java.lang.ObjectTask processing settings.- Since:
- 01.10.2021
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classProcessingSettings.BuilderA builder for processing settings.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ProcessingSettings.Builderbuilder()Create a new builder for processing settings.protected voidcopyFields(ProcessingSettings newValue)Copy fields of new object to current object.booleanequals(java.lang.Object obj)protected java.util.function.BiFunction<ProcessingSettings,ProcessingSettings,java.lang.String>getDiffEvaluator()Function evaluates difference between new and old value.protected java.lang.StringgetName()Name of settingProcessingModegetProcessingMode()Get task processing mode in the queue.protected ProcessingSettingsgetThis()Return typed reference of current objectjava.lang.IntegergetThreadCount()Get number of threads for processing tasks in the queue.inthashCode()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
-
getThreadCount
@Nonnull public java.lang.Integer getThreadCount()
Get number of threads for processing tasks in the queue.- Returns:
- Number of processing threads.
-
getProcessingMode
@Nonnull public ProcessingMode getProcessingMode()
Get task processing mode in the queue.- Returns:
- Task processing mode.
-
builder
public static ProcessingSettings.Builder builder()
Create a new builder for processing settings.- Returns:
- A new builder for processing settings.
-
getName
@Nonnull protected java.lang.String getName()
Name of setting- Returns:
- name
-
getDiffEvaluator
@Nonnull protected java.util.function.BiFunction<ProcessingSettings,ProcessingSettings,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 ProcessingSettings getThis()
Return typed reference of current object- Returns:
- current object
-
copyFields
protected void copyFields(@Nonnull ProcessingSettings newValue)Copy fields of new object to current object.- Parameters:
newValue- new 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
-
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
-
-