TParameter
- The type of an instance that is passed to the body of the loop.public abstract static class ThreadedCalculation.BodyCallback<TParameter> extends Delegate
ThreadingPolicy
with only one thread unless it is explicitly set inside the callback.Modifier and Type | Class and Description |
---|---|
static interface |
ThreadedCalculation.BodyCallback.Function<TParameter>
A functional interface for the containing delegate type.
|
Constructor and Description |
---|
BodyCallback()
Creates a new instance of this delegate.
|
BodyCallback(Class<?> targetClass,
String methodName,
Class<?>... methodParameterClasses)
Initializes a delegate that will invoke a static method on a class.
|
BodyCallback(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(TParameter parameter,
int i)
A delegate representing the body of a multithreaded 'for' loop.
|
static <TParameter> |
of(ThreadedCalculation.BodyCallback.Function<TParameter> f)
Create a delegate for the given interface.
|
static <TParameter> |
of(ThreadedCalculation.BodyCallback.Function<TParameter> f,
Class<?> targetClass,
String methodName,
Class<?>... methodParameterClasses)
Create a delegate for the given interface.
|
static <TParameter> |
of(ThreadedCalculation.BodyCallback.Function<TParameter> f,
Object targetObject,
String methodName,
Class<?>... methodParameterClasses)
Create a delegate for the given interface.
|
public BodyCallback()
public BodyCallback(@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 BodyCallback(@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(TParameter parameter, int i)
ThreadingPolicy
with only one thread unless it is explicitly set inside the callback.parameter
- A parameter that is passed to the body of the loop. If this instance implements
IThreadAware
and IsThreadSafe
(get
) returns
false
, a copy of the parameter is made for each thread using
CopyForAnotherThread
.i
- The index to evaluate.@Nonnull public static <TParameter> ThreadedCalculation.BodyCallback<TParameter> of(@Nonnull ThreadedCalculation.BodyCallback.Function<TParameter> f)
f
- The function which will be invoked.@Nonnull public static <TParameter> ThreadedCalculation.BodyCallback<TParameter> of(@Nonnull ThreadedCalculation.BodyCallback.Function<TParameter> 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 <TParameter> ThreadedCalculation.BodyCallback<TParameter> of(@Nonnull ThreadedCalculation.BodyCallback.Function<TParameter> 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.