function.ShortPredicate Maven / Gradle / Ivy
Show all versions of util Show documentation
/* Copyright (c) 2019 LibJ
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* You should have received a copy of The MIT License (MIT) along with this
* program. If not, see .
*/
package org.libj.util.function;
import java.util.Objects;
import javax.annotation.Generated;
/**
* Represents a predicate (boolean-valued function) of one {@code short}-valued
* argument. This is the {@code short}-consuming primitive type specialization
* of {@link java.util.function.Predicate}.
*
* @see java.util.function.Predicate
*/
@FunctionalInterface
@Generated(value="org.openjax.codegen.template.Templates", date="2024-02-27T13:50:20.763")
public interface ShortPredicate {
/**
* Evaluates this predicate on the given argument.
*
* @param value The input argument.
* @return {@code true} if the input argument matches the predicate, otherwise
* {@code false}.
*/
boolean test(short value);
/**
* Returns a composed predicate that represents a short-circuiting logical AND
* of this predicate and another. When evaluating the composed predicate, if
* this predicate is {@code false}, then the {@code other} predicate is not
* evaluated.
*
* Any exceptions thrown during evaluation of either predicate are relayed to
* the caller; if evaluation of this predicate throws an exception, the
* {@code other} predicate will not be evaluated.
*
* @param other A predicate that will be logically-ANDed with this predicate
* @return A composed predicate that represents the short-circuiting logical
* AND of this predicate and the {@code other} predicate.
* @throws NullPointerException If {@code other} is null.
*/
default ShortPredicate and(final ShortPredicate other) {
Objects.requireNonNull(other);
return (value) -> test(value) && other.test(value);
}
/**
* Returns a predicate that represents the logical negation of this predicate.
*
* @return A predicate that represents the logical negation of this predicate.
*/
default ShortPredicate negate() {
return (value) -> !test(value);
}
/**
* Returns a composed predicate that represents a short-circuiting logical OR
* of this predicate and another. When evaluating the composed predicate, if
* this predicate is {@code true}, then the {@code other} predicate is not
* evaluated.
*
* Any exceptions thrown during evaluation of either predicate are relayed to
* the caller; if evaluation of this predicate throws an exception, the
* {@code other} predicate will not be evaluated.
*
* @param other A predicate that will be logically-ORed with this predicate.
* @return A composed predicate that represents the short-circuiting logical
* OR of this predicate and the {@code other} predicate.
* @throws NullPointerException if {@code other} is null.
*/
default ShortPredicate or(final ShortPredicate other) {
Objects.requireNonNull(other);
return (value) -> test(value) || other.test(value);
}
}