T - The type of value produced by the figure of merit.public abstract class FigureOfMerit<T extends Comparable<T>> extends Delegate
| Modifier and Type | Class and Description | 
|---|---|
static interface  | 
FigureOfMerit.Function<T extends Comparable<T>>
A functional interface for the containing delegate type. 
 | 
| Constructor and Description | 
|---|
FigureOfMerit()
Creates a new instance of this delegate. 
 | 
FigureOfMerit(Class<?> targetClass,
             String methodName,
             Class<?>... methodParameterClasses)
Initializes a delegate that will invoke a static method on a class. 
 | 
FigureOfMerit(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(CoverageQueryResult coverageIntervals)
A delegate which represents an arbitrary static figure of merit. 
 | 
static <T extends Comparable<T>> | 
of(FigureOfMerit.Function<T> f)
Create a delegate for the given interface. 
 | 
static <T extends Comparable<T>> | 
of(FigureOfMerit.Function<T> f,
  Class<?> targetClass,
  String methodName,
  Class<?>... methodParameterClasses)
Create a delegate for the given interface. 
 | 
static <T extends Comparable<T>> | 
of(FigureOfMerit.Function<T> f,
  Object targetObject,
  String methodName,
  Class<?>... methodParameterClasses)
Create a delegate for the given interface. 
 | 
public FigureOfMerit()
public FigureOfMerit(@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 FigureOfMerit(@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(CoverageQueryResult coverageIntervals)
coverageIntervals - The data on the coverage intervals to analyze.@Nonnull public static <T extends Comparable<T>> FigureOfMerit<T> of(@Nonnull FigureOfMerit.Function<T> f)
f - The function which will be invoked.@Nonnull public static <T extends Comparable<T>> FigureOfMerit<T> of(@Nonnull FigureOfMerit.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 Comparable<T>> FigureOfMerit<T> of(@Nonnull FigureOfMerit.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.