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.