All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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 first;
    private final BiPredicate second;

    @Override
    public boolean test(T1 alpha, T2 beta) {
        return first.test(alpha, beta) && second.test(alpha, beta);
    }

    public static  And create(
            @NonNull BiPredicate first,
            @NonNull BiPredicate second
    ) {
        return new And<>(first, second);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy