|
@@ -1,27 +1,27 @@
|
|
|
package de.jplag.options;
|
|
package de.jplag.options;
|
|
|
|
|
|
|
|
-import java.util.function.Function;
|
|
|
|
|
|
|
+import java.util.function.ToDoubleFunction;
|
|
|
|
|
|
|
|
import de.jplag.JPlagComparison;
|
|
import de.jplag.JPlagComparison;
|
|
|
|
|
|
|
|
-public enum SimilarityMetric implements Function<JPlagComparison, Double> {
|
|
|
|
|
|
|
+public enum SimilarityMetric implements ToDoubleFunction<JPlagComparison> {
|
|
|
AVG(JPlagComparison::similarity),
|
|
AVG(JPlagComparison::similarity),
|
|
|
MIN(JPlagComparison::minimalSimilarity),
|
|
MIN(JPlagComparison::minimalSimilarity),
|
|
|
MAX(JPlagComparison::maximalSimilarity),
|
|
MAX(JPlagComparison::maximalSimilarity),
|
|
|
INTERSECTION(it -> (double) it.getNumberOfMatchedTokens());
|
|
INTERSECTION(it -> (double) it.getNumberOfMatchedTokens());
|
|
|
|
|
|
|
|
- private final Function<JPlagComparison, Double> similarityFunction;
|
|
|
|
|
|
|
+ private final ToDoubleFunction<JPlagComparison> similarityFunction;
|
|
|
|
|
|
|
|
- SimilarityMetric(Function<JPlagComparison, Double> determinePercentage) {
|
|
|
|
|
|
|
+ SimilarityMetric(ToDoubleFunction<JPlagComparison> determinePercentage) {
|
|
|
this.similarityFunction = determinePercentage;
|
|
this.similarityFunction = determinePercentage;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public boolean isAboveThreshold(JPlagComparison comparison, double similarityThreshold) {
|
|
public boolean isAboveThreshold(JPlagComparison comparison, double similarityThreshold) {
|
|
|
- return similarityFunction.apply(comparison) >= similarityThreshold;
|
|
|
|
|
|
|
+ return similarityFunction.applyAsDouble(comparison) >= similarityThreshold;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public Double apply(JPlagComparison comparison) {
|
|
|
|
|
- return similarityFunction.apply(comparison);
|
|
|
|
|
|
|
+ public double applyAsDouble(JPlagComparison comparison) {
|
|
|
|
|
+ return similarityFunction.applyAsDouble(comparison);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|