package org.eclipse.collections.impl.block.predicate;
import org.eclipse.collections.api.block.predicate.Predicate;
import org.eclipse.collections.api.block.predicate.Predicate2;
import org.eclipse.collections.api.tuple.Pair;
public abstract class PairPredicate<T1, T2>
implements Predicate<Pair<T1, T2>>, Predicate2<T1, T2>
{
private static final long serialVersionUID = 1L;
@Override
public boolean accept(Pair<T1, T2> pair)
{
return this.accept(pair.getOne(), pair.getTwo());
}
@Override
public PairPredicate<T1, T2> negate()
{
return new PairPredicate<T1, T2>()
{
@Override
public boolean accept(T1 argument1, T2 argument2)
{
return !PairPredicate.this.accept(argument1, argument2);
}
@Override
public boolean accept(Pair<T1, T2> pair)
{
return !PairPredicate.this.accept(pair);
}
};
}
}