T - The configuration type this delegate will modify. This configuration type should be the type
that is specific to the segment being used (for example, use a
InitialStateSegmentConfiguration
if the associated segment is a NumericalPropagatorSegment.public abstract class SetVariableCallback<T extends ICloneWithContext> extends Delegate
delegate for the DelegateBasedVariable. You will want to
apply the currentValue to the appropriate element in the
configurationToModify.| Modifier and Type | Class and Description |
|---|---|
static interface |
SetVariableCallback.Function<T extends ICloneWithContext>
A functional interface for the containing delegate type.
|
| Constructor and Description |
|---|
SetVariableCallback()
Creates a new instance of this delegate.
|
SetVariableCallback(Class<?> targetClass,
String methodName,
Class<?>... methodParameterClasses)
Initializes a delegate that will invoke a static method on a class.
|
SetVariableCallback(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 void |
invoke(double currentValue,
T configurationToModify)
The setter
delegate for the DelegateBasedVariable. |
static <T extends ICloneWithContext> |
of(SetVariableCallback.Function<T> f)
Create a delegate for the given interface.
|
static <T extends ICloneWithContext> |
of(SetVariableCallback.Function<T> f,
Class<?> targetClass,
String methodName,
Class<?>... methodParameterClasses)
Create a delegate for the given interface.
|
static <T extends ICloneWithContext> |
of(SetVariableCallback.Function<T> f,
Object targetObject,
String methodName,
Class<?>... methodParameterClasses)
Create a delegate for the given interface.
|
public SetVariableCallback()
public SetVariableCallback(@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 SetVariableCallback(@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 void invoke(double currentValue,
T configurationToModify)
delegate for the DelegateBasedVariable. You will want to
apply the currentValue to the appropriate element in the
configurationToModify.currentValue - The value modifying the configurationToModify.
It is up to you to apply this value to whatever the initial value is in the
configurationToModify. The values in the configurationToModify
must be modified such that they reflect this update.configurationToModify - The configuration of the segment getting modified.@Nonnull public static <T extends ICloneWithContext> SetVariableCallback<T> of(@Nonnull SetVariableCallback.Function<T> f)
f - The function which will be invoked.@Nonnull public static <T extends ICloneWithContext> SetVariableCallback<T> of(@Nonnull SetVariableCallback.Function<T> 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 <T extends ICloneWithContext> SetVariableCallback<T> of(@Nonnull SetVariableCallback.Function<T> 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.