org.zalando.riptide.faults.DefaultFaultClassifier Maven / Gradle / Ivy
package org.zalando.riptide.faults;
import com.google.common.base.Throwables;
import java.util.function.Predicate;
final class DefaultFaultClassifier implements FaultClassifier {
private final Predicate isTransient;
public DefaultFaultClassifier(final Predicate isTransient) {
this.isTransient = isTransient;
}
@Override
public Throwable classify(final Throwable throwable) {
for (final Throwable cause : Throwables.getCausalChain(throwable)) {
if (isTransient.test(cause)) {
return new TransientFaultException(throwable);
}
}
return throwable;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy