T - The type of the data associated with each interval.public abstract class MergeTimeIntervalDataCallback<T> extends Delegate
| Modifier and Type | Class and Description |
|---|---|
static interface |
MergeTimeIntervalDataCallback.Function<T>
A functional interface for the containing delegate type.
|
| Constructor and Description |
|---|
MergeTimeIntervalDataCallback()
Creates a new instance of this delegate.
|
MergeTimeIntervalDataCallback(Class<?> targetClass,
String methodName,
Class<?>... methodParameterClasses)
Initializes a delegate that will invoke a static method on a class.
|
MergeTimeIntervalDataCallback(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 T |
invoke(T previous,
T newData)
A callback defining how two data elements on any two intervals should
be combined when creating a new interval.
|
static <T> MergeTimeIntervalDataCallback<T> |
of(MergeTimeIntervalDataCallback.Function<T> f)
Create a delegate for the given interface.
|
static <T> MergeTimeIntervalDataCallback<T> |
of(MergeTimeIntervalDataCallback.Function<T> f,
Class<?> targetClass,
String methodName,
Class<?>... methodParameterClasses)
Create a delegate for the given interface.
|
static <T> MergeTimeIntervalDataCallback<T> |
of(MergeTimeIntervalDataCallback.Function<T> f,
Object targetObject,
String methodName,
Class<?>... methodParameterClasses)
Create a delegate for the given interface.
|
public MergeTimeIntervalDataCallback()
public MergeTimeIntervalDataCallback(@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 MergeTimeIntervalDataCallback(@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 T invoke(T previous, T newData)
previous - The data existing on the original time interval.newData - The data existing on the new time interval.previous data and the newData.@Nonnull public static <T> MergeTimeIntervalDataCallback<T> of(@Nonnull MergeTimeIntervalDataCallback.Function<T> f)
f - The function which will be invoked.@Nonnull public static <T> MergeTimeIntervalDataCallback<T> of(@Nonnull MergeTimeIntervalDataCallback.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> MergeTimeIntervalDataCallback<T> of(@Nonnull MergeTimeIntervalDataCallback.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.