Class ChainedClosure<E>

    • Constructor Detail

      • ChainedClosure

        public ChainedClosure​(Closure<? super E>... closures)
        Constructor that performs no validation. Use chainedClosure if you want that.
        Parameters:
        closures - the closures to chain, copied, no nulls
    • Method Detail

      • chainedClosure

        public static <E> Closure<E> chainedClosure​(Closure<? super E>... closures)
        Factory method that performs validation and copies the parameter array.
        Type Parameters:
        E - the type that the closure acts on
        Parameters:
        closures - the closures to chain, copied, no nulls
        Returns:
        the chained closure
        Throws:
        NullPointerException - if the closures array is null
        NullPointerException - if any closure in the array is null
      • chainedClosure

        public static <E> Closure<E> chainedClosure​(Collection<? extends Closure<? super E>> closures)
        Create a new Closure that calls each closure in turn, passing the result into the next closure. The ordering is that of the iterator() method on the collection.
        Type Parameters:
        E - the type that the closure acts on
        Parameters:
        closures - a collection of closures to chain
        Returns:
        the chained closure
        Throws:
        NullPointerException - if the closures collection is null
        NullPointerException - if any closure in the collection is null
      • execute

        public void execute​(E input)
        Execute a list of closures.
        Specified by:
        execute in interface Closure<E>
        Parameters:
        input - the input object passed to each closure
      • getClosures

        public Closure<? super E>[] getClosures()
        Gets the closures.
        Returns:
        a copy of the closures
        Since:
        3.1