public abstract class SingleValueUpdaterCallback extends Delegate
SingleValueStateUpdater.| Modifier and Type | Class and Description |
|---|---|
static interface |
SingleValueUpdaterCallback.Function
A functional interface for the containing delegate type.
|
| Constructor and Description |
|---|
SingleValueUpdaterCallback()
Creates a new instance of this delegate.
|
SingleValueUpdaterCallback(Class<?> targetClass,
String methodName,
Class<?>... methodParameterClasses)
Initializes a delegate that will invoke a static method on a class.
|
SingleValueUpdaterCallback(Object targetObject,
String methodName,
Class<?>... methodParameterClasses)
Initializes a delegate that will invoke an instance method on a class instance.
|
| Modifier and Type | Method and Description |
|---|---|
abstract ITimeBasedState |
invoke(ITimeBasedState stateToUpdate,
double newValue)
The callback for the
SingleValueStateUpdater. |
static SingleValueUpdaterCallback |
of(SingleValueUpdaterCallback.Function f)
Create a delegate for the given interface.
|
static SingleValueUpdaterCallback |
of(SingleValueUpdaterCallback.Function f,
Class<?> targetClass,
String methodName,
Class<?>... methodParameterClasses)
Create a delegate for the given interface.
|
static SingleValueUpdaterCallback |
of(SingleValueUpdaterCallback.Function f,
Object targetObject,
String methodName,
Class<?>... methodParameterClasses)
Create a delegate for the given interface.
|
public SingleValueUpdaterCallback()
public SingleValueUpdaterCallback(@Nonnull Object targetObject, @Nonnull String methodName, @Nonnull Class<?>... methodParameterClasses)
targetObject - The class instance on which the delegate will invoke the method.methodName - The name of the instance method.methodParameterClasses - The type of the parameters of the instance method.public SingleValueUpdaterCallback(@Nonnull Class<?> targetClass, @Nonnull String methodName, @Nonnull Class<?>... methodParameterClasses)
targetClass - The class that defines the method.methodName - The name of the static method.methodParameterClasses - The type of the parameters of the static method.public abstract ITimeBasedState invoke(ITimeBasedState stateToUpdate, double newValue)
SingleValueStateUpdater.stateToUpdate - The propagated state to get updated.newValue - The value to use to edit the stateToUpdate.stateToUpdate can be mutated, or it
can be copied or cloned and that copy can be returned.@Nonnull public static SingleValueUpdaterCallback of(@Nonnull SingleValueUpdaterCallback.Function f)
f - The function which will be invoked.@Nonnull public static SingleValueUpdaterCallback of(@Nonnull SingleValueUpdaterCallback.Function f, @Nonnull Object targetObject, @Nonnull String methodName, @Nonnull Class<?>... methodParameterClasses)
f - The function which will be invoked.targetObject - The class instance on which the delegate will invoke the method.methodName - The name of the instance method.methodParameterClasses - The type of the parameters of the instance method.@Nonnull public static SingleValueUpdaterCallback of(@Nonnull SingleValueUpdaterCallback.Function f, @Nonnull Class<?> targetClass, @Nonnull String methodName, @Nonnull Class<?>... methodParameterClasses)
f - The function which will be invoked.targetClass - The class that defines the method.methodName - The name of the static method.methodParameterClasses - The type of the parameters of the static method.