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 |
---|---|
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this one.
|
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.
|
dynamicInvoke, getMethod, getTarget, hashCode
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.public boolean equals(Object obj)
java.lang.Object
The equals
method implements an equivalence relation
on non-null object references:
x
, x.equals(x)
should return
true
.
x
and y
, x.equals(y)
should return true
if and only if
y.equals(x)
returns true
.
x
, y
, and z
, if
x.equals(y)
returns true
and
y.equals(z)
returns true
, then
x.equals(z)
should return true
.
x
and y
, multiple invocations of
x.equals(y)
consistently return true
or consistently return false
, provided no
information used in equals
comparisons on the
objects is modified.
x
,
x.equals(null)
should return false
.
The equals
method for class Object
implements
the most discriminating possible equivalence relation on objects;
that is, for any non-null reference values x
and
y
, this method returns true
if and only
if x
and y
refer to the same object
(x == y
has the value true
).
Note that it is generally necessary to override the hashCode
method whenever this method is overridden, so as to maintain the
general contract for the hashCode
method, which states
that equal objects must have equal hash codes.
equals
in class Delegate
obj
- the reference object with which to compare.true
if this object is the same as the obj
argument; false
otherwise.Object.hashCode()
,
HashMap
@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.