Class AndSpec<T>

  • Type Parameters:
    T - The target type for this Spec
    All Implemented Interfaces:
    Spec<T>

    public class AndSpec<T>
    extends CompositeSpec<T>
    A CompositeSpec which requires all its specs to be true in order to evaluate to true. Uses lazy evaluation.
    • Field Detail

      • EMPTY

        public static final AndSpec<?> EMPTY
    • Constructor Detail

      • AndSpec

        public AndSpec()
      • AndSpec

        @SafeVarargs
        public AndSpec​(Spec<? super T>... specs)
      • AndSpec

        public AndSpec​(java.lang.Iterable<? extends Spec<? super T>> specs)
    • Method Detail

      • isSatisfiedBy

        public boolean isSatisfiedBy​(T object)
      • findUnsatisfiedSpec

        @Nullable
        @Incubating
        public Spec<? super T> findUnsatisfiedSpec​(T object)
        Finds the first Spec that is not satisfied by the object.
        Parameters:
        object - to check specs against
        Returns:
        an unsatisfied spec or null
        Since:
        7.6
      • and

        public AndSpec<T> and​(Spec<? super T> spec)
        Typed and() method for a single Spec.
        Since:
        4.3
      • empty

        public static <T> AndSpec<T> empty()