mirror of
https://github.com/VibedByKaKi/alexandroid.git
synced 2026-11-15 10:27:17 +01:00
55 lines
2.1 KiB
Java
55 lines
2.1 KiB
Java
package com.google.common.base;
|
|
|
|
import com.amazon.alexa.ra.core.ui.markdown.parser.formatter.MarkdownConstants;
|
|
import com.google.common.annotations.GwtCompatible;
|
|
import com.google.common.annotations.GwtIncompatible;
|
|
import com.google.common.annotations.J2ktIncompatible;
|
|
import java.io.Serializable;
|
|
|
|
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
|
|
@GwtCompatible
|
|
/* loaded from: classes8.dex */
|
|
final class FunctionalEquivalence<F, T> extends Equivalence<F> implements Serializable {
|
|
|
|
@J2ktIncompatible
|
|
@GwtIncompatible
|
|
private static final long serialVersionUID = 0;
|
|
private final Function<? super F, ? extends T> function;
|
|
private final Equivalence<T> resultEquivalence;
|
|
|
|
public FunctionalEquivalence(Function<? super F, ? extends T> function, Equivalence<T> equivalence) {
|
|
this.function = (Function) Preconditions.checkNotNull(function);
|
|
this.resultEquivalence = (Equivalence) Preconditions.checkNotNull(equivalence);
|
|
}
|
|
|
|
@Override // com.google.common.base.Equivalence
|
|
public boolean doEquivalent(F f, F f2) {
|
|
return this.resultEquivalence.equivalent(this.function.apply(f), this.function.apply(f2));
|
|
}
|
|
|
|
@Override // com.google.common.base.Equivalence
|
|
public int doHash(F f) {
|
|
return this.resultEquivalence.hash(this.function.apply(f));
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (obj == this) {
|
|
return true;
|
|
}
|
|
if (obj instanceof FunctionalEquivalence) {
|
|
FunctionalEquivalence functionalEquivalence = (FunctionalEquivalence) obj;
|
|
if (this.function.equals(functionalEquivalence.function) && this.resultEquivalence.equals(functionalEquivalence.resultEquivalence)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public int hashCode() {
|
|
return Objects.hashCode(this.function, this.resultEquivalence);
|
|
}
|
|
|
|
public String toString() {
|
|
return this.resultEquivalence + ".onResultOf(" + this.function + MarkdownConstants.RIGHT_PARENTHESIS;
|
|
}
|
|
}
|