com.softicar.platform.common.core.utils.equals.EqualsKeyExtractor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of platform-common Show documentation
Show all versions of platform-common Show documentation
The SoftiCAR Platform is a lightweight, Java-based library to create interactive business web applications.
package com.softicar.platform.common.core.utils.equals;
import java.util.Objects;
import java.util.function.Function;
class EqualsKeyExtractor extends EqualsComparerBase {
private final Function keyExtractor;
public EqualsKeyExtractor(Function keyExtractor) {
this.keyExtractor = Objects.requireNonNull(keyExtractor);
}
@Override
public boolean compare(T first, T second) {
if (first == second) {
return true;
} else if (first != null && second != null) {
return Objects.equals(keyExtractor.apply(first), keyExtractor.apply(second));
} else {
return false;
}
}
}