Class TransformedPredicate<T>

  • All Implemented Interfaces:
    java.io.Serializable, PredicateDecorator<T>, Predicate<T>

    public final class TransformedPredicate<T>
    extends java.lang.Object
    implements PredicateDecorator<T>, java.io.Serializable
    Predicate implementation that transforms the given object before invoking another Predicate.
    Since:
    3.1
    See Also:
    Serialized Form
    • Constructor Detail

      • TransformedPredicate

        public TransformedPredicate​(Transformer<? super T,​? extends T> transformer,
                                    Predicate<? super T> predicate)
        Constructor that performs no validation. Use transformedPredicate if you want that.
        Parameters:
        transformer - the transformer to use
        predicate - the predicate to decorate
    • Method Detail

      • transformedPredicate

        public static <T> Predicate<T> transformedPredicate​(Transformer<? super T,​? extends T> transformer,
                                                            Predicate<? super T> predicate)
        Factory to create the predicate.
        Type Parameters:
        T - the type that the predicate queries
        Parameters:
        transformer - the transformer to call
        predicate - the predicate to call with the result of the transform
        Returns:
        the predicate
        Throws:
        java.lang.NullPointerException - if the transformer or the predicate is null
      • evaluate

        public boolean evaluate​(T object)
        Evaluates the predicate returning the result of the decorated predicate once the input has been transformed
        Specified by:
        evaluate in interface Predicate<T>
        Parameters:
        object - the input object which will be transformed
        Returns:
        true if decorated predicate returns true
      • getPredicates

        public Predicate<? super T>[] getPredicates()
        Gets the predicate being decorated.
        Specified by:
        getPredicates in interface PredicateDecorator<T>
        Returns:
        the predicate as the only element in an array
        Since:
        3.1
      • getTransformer

        public Transformer<? super T,​? extends T> getTransformer()
        Gets the transformer in use.
        Returns:
        the transformer