
io.ayte.utility.predicate.kit.binary.delegate.And Maven / Gradle / Ivy
package io.ayte.utility.predicate.kit.binary.delegate;
import io.ayte.utility.predicate.kit.binary.AugmentedBinaryPredicate;
import lombok.AccessLevel;
import lombok.EqualsAndHashCode;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.ToString;
import java.util.function.BiPredicate;
@EqualsAndHashCode
@ToString(includeFieldNames = false)
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
public class And implements AugmentedBinaryPredicate {
private final BiPredicate super T1, ? super T2> first;
private final BiPredicate super T1, ? super T2> second;
@Override
public boolean test(T1 alpha, T2 beta) {
return first.test(alpha, beta) && second.test(alpha, beta);
}
public static And create(
@NonNull BiPredicate super T1, ? super T2> first,
@NonNull BiPredicate super T1, ? super T2> second
) {
return new And<>(first, second);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy