commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bruno P. Kinoshita" <brunodepau...@yahoo.com.br>
Subject Re: svn commit: r1439683 - in /commons/proper/functor/branches/FUNCTOR-14-mm/core/src: main/java/org/apache/commons/functor/core/algorithm/ main/java/org/apache/commons/functor/generator/ main/java/org/apache/commons/functor/generator/loop/ main/java/org/a...
Date Tue, 29 Jan 2013 01:23:57 GMT
Thanks Matt! The name is more intuitive now. What about the package name? Should we rename it as well? 

Cheers, 
 
Bruno P. Kinoshita
http://kinoshita.eti.br
http://tupilabs.com


----- Original Message -----
> From: "mbenson@apache.org" <mbenson@apache.org>
> To: commits@commons.apache.org
> Cc: 
> Sent: Monday, January 28, 2013 8:49 PM
> Subject: svn commit: r1439683 - in /commons/proper/functor/branches/FUNCTOR-14-mm/core/src: main/java/org/apache/commons/functor/core/algorithm/ main/java/org/apache/commons/functor/generator/ main/java/org/apache/commons/functor/generator/loop/ main/java/org/a...
> 
> Author: mbenson
> Date: Mon Jan 28 22:49:36 2013
> New Revision: 1439683
> 
> URL: http://svn.apache.org/viewvc?rev=1439683&view=rev
> Log:
> refactor LoopGenerator to PredicatedGenerator
> 
> Added:
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/PredicatedGenerator.java
>       - copied, changed from r1439123, 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/LoopGenerator.java
> Removed:
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/LoopGenerator.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestLoopGenerator.java
> Modified:
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/core/algorithm/IndexOfInGenerator.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/BaseGenerator.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/GenerateUntil.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/GenerateWhile.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/IteratorToGeneratorAdapter.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/TransformedGenerator.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/UntilGenerate.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/WhileGenerate.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/range/CharacterRange.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/range/NumericRange.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/TestAlgorithms.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/example/lines/Lines.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestGenerateUntil.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestGenerateWhile.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestTransformedGenerator.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestUntilGenerate.java
>     
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestWhileGenerate.java
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/core/algorithm/IndexOfInGenerator.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/core/algorithm/IndexOfInGenerator.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/core/algorithm/IndexOfInGenerator.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/core/algorithm/IndexOfInGenerator.java 
> Mon Jan 28 22:49:36 2013
> @@ -21,17 +21,19 @@ import java.io.Serializable;
> import org.apache.commons.functor.BinaryFunction;
> import org.apache.commons.functor.UnaryPredicate;
> import org.apache.commons.functor.UnaryProcedure;
> -import org.apache.commons.functor.generator.loop.LoopGenerator;
> +import org.apache.commons.functor.generator.Generator;
> +import org.apache.commons.functor.generator.loop.PredicatedGenerator;
> +import org.apache.commons.functor.generator.loop.UntilGenerate;
> 
> /**
> - * Return the index of the first Object in a {@link LoopGenerator} matching a
> + * Return the index of the first Object in a {@link PredicatedGenerator} 
> matching a
>   * {@link UnaryPredicate}, or -1 if not found.
>   *
>   * @param <T> the procedure argument types
>   * @version $Revision$ $Date$
>   */
> public final class IndexOfInGenerator<T>
> -    implements BinaryFunction<LoopGenerator<? extends T>, 
> UnaryPredicate<? super T>, Number>, Serializable {
> +    implements BinaryFunction<Generator<? extends T>, 
> UnaryPredicate<? super T>, Number>, Serializable {
>      /**
>       * serialVersionUID declaration.
>       */
> @@ -48,42 +50,14 @@ public final class IndexOfInGenerator<T>
>       */
>      private static class IndexProcedure<T> implements 
> UnaryProcedure<T> {
>          /**
> -         * The wrapped generator.
> -         */
> -        private final LoopGenerator<? extends T> generator;
> -        /**
> -         * The wrapped predicate.
> -         */
> -        private final UnaryPredicate<? super T> pred;
> -        /**
> -         * The number of iterations needed before the wrapped predicate found 
> the target,
> -         * {@code -1} means the target was not found.
> -         */
> -        private long index = -1L;
> -        /**
>           * A local accumulator to increment the number of attempts.
>           */
>          private long current = 0L;
> 
>          /**
> -         * Create a new IndexProcedure.
> -         *
> -         * @param generator The wrapped generator
> -         * @param pred The wrapped predicate
> -         */
> -        IndexProcedure(LoopGenerator<? extends T> generator, 
> UnaryPredicate<? super T> pred) {
> -            this.generator = generator;
> -            this.pred = pred;
> -        }
> -
> -        /**
>           * {@inheritDoc}
>           */
>          public void run(T obj) {
> -            if (index < 0 && pred.test(obj)) {
> -                index = current;
> -                generator.stop();
> -            }
>              current++;
>          }
>      }
> @@ -93,10 +67,10 @@ public final class IndexOfInGenerator<T>
>       * @param left Generator
>       * @param right UnaryPredicate
>       */
> -    public Number evaluate(LoopGenerator<? extends T> left, 
> UnaryPredicate<? super T> right) {
> -        IndexProcedure<T> findProcedure = new 
> IndexProcedure<T>(left, right);
> -        left.run(findProcedure);
> -        return Long.valueOf(findProcedure.index);
> +    public Number evaluate(Generator<? extends T> left, 
> UnaryPredicate<? super T> right) {
> +        final IndexProcedure<T> findProcedure = new 
> IndexProcedure<T>();
> +        new UntilGenerate<T>(right, left).run(findProcedure);
> +        return Long.valueOf(findProcedure.current);
>      }
> 
>      /**
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/BaseGenerator.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/BaseGenerator.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/BaseGenerator.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/BaseGenerator.java 
> Mon Jan 28 22:49:36 2013
> @@ -29,8 +29,10 @@ import org.apache.commons.functor.genera
>   */
> public abstract class BaseGenerator<E> implements Generator<E> {
> 
> -    /** Create a new generator. */
> -    public BaseGenerator() {
> +    /**
> +     * Create a new BaseGenerator instance.
> +     */
> +    protected BaseGenerator() {
>          super();
>      }
> 
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/GenerateUntil.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/GenerateUntil.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/GenerateUntil.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/GenerateUntil.java 
> Mon Jan 28 22:49:36 2013
> @@ -18,6 +18,7 @@ package org.apache.commons.functor.gener
> 
> import org.apache.commons.functor.UnaryPredicate;
> import org.apache.commons.functor.UnaryProcedure;
> +import org.apache.commons.functor.core.composite.UnaryNot;
> import org.apache.commons.functor.generator.Generator;
> import org.apache.commons.lang3.Validate;
> 
> @@ -28,12 +29,7 @@ import org.apache.commons.lang3.Validate
>   * @param <E> the type of elements held in this generator.
>   * @version $Revision$ $Date$
>   */
> -public class GenerateUntil<E> extends LoopGenerator<E> {
> -
> -    /**
> -     * The condition has to verified in order to execute the generation.
> -     */
> -    private final UnaryPredicate<? super E> test;
> +public class GenerateUntil<E> extends PredicatedGenerator<E> {
> 
>      /**
>       * Create a new GenerateUntil.
> @@ -41,53 +37,8 @@ public class GenerateUntil<E> extends Lo
>       * @param test {@link UnaryPredicate}
>       */
>      public GenerateUntil(Generator<? extends E> wrapped, 
> UnaryPredicate<? super E> test) {
> -        super(Validate.notNull(wrapped, "Generator argument was 
> null"));
> -        this.test = Validate.notNull(test, "UnaryPredicate argument was 
> null");
> -    }
> -
> -    /**
> -     * {@inheritDoc}
> -     */
> -    public void run(final UnaryProcedure<? super E> proc) {
> -        getWrappedGenerator().run(new UnaryProcedure<E>() {
> -            public void run(E obj) {
> -                if (isStopped()) {
> -                    return;
> -                }
> -                proc.run(obj);
> -                if (test.test(obj)) {
> -                    stop();
> -                }
> -            }
> -        });
> +        super(Validate.notNull(wrapped, "Generator argument was 
> null"), UnaryNot.not(Validate.notNull(test,
> +            "UnaryPredicate argument was null")), 
> Behavior.TEST_AFTER);
>      }
> 
> -    /**
> -     * {@inheritDoc}
> -     */
> -    @Override
> -    public boolean equals(Object obj) {
> -        if (obj == this) {
> -            return true;
> -        }
> -        if (!(obj instanceof GenerateUntil<?>)) {
> -            return false;
> -        }
> -        GenerateUntil<?> other = (GenerateUntil<?>) obj;
> -        return other.getWrappedGenerator().equals(getWrappedGenerator()) 
> && other.test.equals(test);
> -    }
> -
> -    /**
> -     * {@inheritDoc}
> -     */
> -    @Override
> -    public int hashCode() {
> -        int result = "GenerateUntil".hashCode();
> -        result <<= 2;
> -        Generator<?> gen = getWrappedGenerator();
> -        result ^= gen.hashCode();
> -        result <<= 2;
> -        result ^= test.hashCode();
> -        return result;
> -    }
> }
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/GenerateWhile.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/GenerateWhile.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/GenerateWhile.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/GenerateWhile.java 
> Mon Jan 28 22:49:36 2013
> @@ -28,12 +28,7 @@ import org.apache.commons.lang3.Validate
>   * @param <E> the type of elements held in this generator.
>   * @version $Revision$ $Date$
>   */
> -public class GenerateWhile<E> extends LoopGenerator<E> {
> -
> -    /**
> -     * The condition has to verified in order to execute the generation.
> -     */
> -    private final UnaryPredicate<? super E> test;
> +public class GenerateWhile<E> extends PredicatedGenerator<E> {
> 
>      /**
>       * Create a new GenerateWhile.
> @@ -41,53 +36,8 @@ public class GenerateWhile<E> extends Lo
>       * @param test {@link UnaryPredicate}
>       */
>      public GenerateWhile(Generator<? extends E> wrapped, 
> UnaryPredicate<? super E> test) {
> -        super(Validate.notNull(wrapped, "Generator argument was 
> null"));
> -        this.test = Validate.notNull(test, "UnaryPredicate argument was 
> null");
> -    }
> -
> -    /**
> -     * {@inheritDoc}
> -     */
> -    public void run(final UnaryProcedure<? super E> proc) {
> -        getWrappedGenerator().run(new UnaryProcedure<E>() {
> -            public void run(E obj) {
> -                if (isStopped()) {
> -                    return;
> -                }
> -                proc.run(obj);
> -                if (!test.test(obj)) {
> -                    stop();
> -                }
> -            }
> -        });
> +        super(Validate.notNull(wrapped, "Generator argument was 
> null"),
> +        Validate.notNull(test, "UnaryPredicate argument was null"), 
> Behavior.TEST_AFTER);
>      }
> 
> -    /**
> -     * {@inheritDoc}
> -     */
> -    @Override
> -    public boolean equals(Object obj) {
> -        if (obj == this) {
> -            return true;
> -        }
> -        if (!(obj instanceof GenerateWhile<?>)) {
> -            return false;
> -        }
> -        GenerateWhile<?> other = (GenerateWhile<?>) obj;
> -        return other.getWrappedGenerator().equals(getWrappedGenerator()) 
> && other.test.equals(test);
> -    }
> -
> -    /**
> -     * {@inheritDoc}
> -     */
> -    @Override
> -    public int hashCode() {
> -        int result = "GenerateWhile".hashCode();
> -        result <<= 2;
> -        Generator<?> gen = getWrappedGenerator();
> -        result ^= gen.hashCode();
> -        result <<= 2;
> -        result ^= test.hashCode();
> -        return result;
> -    }
> }
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/IteratorToGeneratorAdapter.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/IteratorToGeneratorAdapter.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/IteratorToGeneratorAdapter.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/IteratorToGeneratorAdapter.java 
> Mon Jan 28 22:49:36 2013
> @@ -14,19 +14,23 @@
> 
> package org.apache.commons.functor.generator.loop;
> 
> +import java.util.Collection;
> import java.util.Iterator;
> 
> +import org.apache.commons.functor.UnaryFunction;
> import org.apache.commons.functor.UnaryProcedure;
> +import org.apache.commons.functor.generator.BaseGenerator;
> +import org.apache.commons.functor.generator.Generator;
> import org.apache.commons.lang3.Validate;
> 
> /**
> - * Adapts an {@link Iterator} to the {@link LoopGenerator} interface.
> + * Adapts an {@link Iterator} to the {@link PredicatedGenerator} interface.
>   *
>   * @param <E> the type of elements held in this generator.
>   * @since 1.0
>   * @version $Revision$ $Date$
>   */
> -public final class IteratorToGeneratorAdapter<E> extends 
> LoopGenerator<E> {
> +public final class IteratorToGeneratorAdapter<E> extends 
> BaseGenerator<E> {
>      // instance variables
>      //-----------------------------------------------------
> 
> @@ -53,9 +57,6 @@ public final class IteratorToGeneratorAd
>      public void run(UnaryProcedure<? super E> proc) {
>          while (iter.hasNext()) {
>              proc.run(iter.next());
> -            if (isStopped()) {
> -                break;
> -            }
>          }
>      }
> 
> 
> Copied: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/PredicatedGenerator.java 
> (from r1439123, 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/LoopGenerator.java)
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/PredicatedGenerator.java?p2=commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/PredicatedGenerator.java&p1=commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/LoopGenerator.java&r1=1439123&r2=1439683&rev=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/LoopGenerator.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/PredicatedGenerator.java 
> Mon Jan 28 22:49:36 2013
> @@ -14,6 +14,8 @@
> 
> package org.apache.commons.functor.generator.loop;
> 
> +import org.apache.commons.functor.UnaryPredicate;
> +import org.apache.commons.functor.UnaryProcedure;
> import org.apache.commons.functor.generator.BaseGenerator;
> import org.apache.commons.functor.generator.Generator;
> 
> @@ -25,27 +27,29 @@ import org.apache.commons.functor.genera
>   * @since 1.0
>   * @version $Revision:$ $Date:$
>   */
> -public abstract class LoopGenerator<E> extends BaseGenerator<E> {
> +public abstract class PredicatedGenerator<E> extends 
> BaseGenerator<E> {
> +    public enum Behavior {
> +        TEST_BEFORE, TEST_AFTER;
> +    }
> 
> -    /** A generator can wrap another generator. */
>      private final Generator<? extends E> wrappedGenerator;
> +    private final UnaryPredicate<? super E> continuePredicate;
> +    private final Behavior behavior;
> 
> -    /** Set to true when the generator is {@link #stop stopped}. */
> +    /** Set to true when the generator is {@link #stop() stopped}. */
>      private boolean stopped = false;
> 
> -    /** Create a new generator. */
> -    public LoopGenerator() {
> -        this(null);
> -    }
> -
>      /**
> -     * A generator can wrap another generator. When wrapping generators you
> -     * should use probably this constructor since doing so will cause the
> -     * {@link #stop} method to stop the wrapped generator as well.
> -     * @param generator Generator to wrap
> +     * Create a new PredicatedGenerator instance.
> +     * @param wrappedGenerator
> +     * @param continuePredicate
> +     * @param behavior
>       */
> -    public LoopGenerator(Generator<? extends E> generator) {
> -        this.wrappedGenerator = generator;
> +    protected PredicatedGenerator(Generator<? extends E> 
> wrappedGenerator, UnaryPredicate<? super E> continuePredicate, Behavior 
> behavior) {
> +        super();
> +        this.wrappedGenerator = wrappedGenerator;
> +        this.continuePredicate = continuePredicate;
> +        this.behavior = behavior;
>      }
> 
>      /**
> @@ -58,21 +62,58 @@ public abstract class LoopGenerator<E> e
> 
>      /**
>       * {@inheritDoc}
> -     * Stop the generator. Will stop the wrapped generator if one was set.
>       */
> -    public void stop() {
> -        if (wrappedGenerator != null && wrappedGenerator instanceof 
> LoopGenerator<?>) {
> -            ((LoopGenerator<?>) wrappedGenerator).stop();
> +    public void run(final UnaryProcedure<? super E> proc) {
> +        wrappedGenerator.run(new UnaryProcedure<E>() {
> +            public void run(E obj) {
> +                if (stopped) {
> +                    return;
> +                }
> +                if (behavior == Behavior.TEST_BEFORE && 
> !continuePredicate.test(obj)) {
> +                    stop();
> +                    return;
> +                }
> +                proc.run(obj);
> +                if (behavior == Behavior.TEST_AFTER && 
> !continuePredicate.test(obj)) {
> +                    stop();
> +                }
> +            }
> +        });
> +    }
> +    /**
> +     * {@inheritDoc}
> +     */
> +    @Override
> +    public boolean equals(Object obj) {
> +        if (obj == this) {
> +            return true;
>          }
> -        stopped = true;
> +        if (!(obj instanceof PredicatedGenerator<?>)) {
> +            return false;
> +        }
> +        PredicatedGenerator<?> other = (PredicatedGenerator<?>) 
> obj;
> +        return other.getWrappedGenerator().equals(getWrappedGenerator())
> +            && other.continuePredicate.equals(continuePredicate) 
> && other.behavior == behavior;
>      }
> 
>      /**
>       * {@inheritDoc}
> -     * Check if the generator is stopped.
>       */
> -    public boolean isStopped() {
> -        return stopped;
> +    @Override
> +    public int hashCode() {
> +        int result = getClass().getSimpleName().hashCode();
> +        result <<= 2;
> +        Generator<?> gen = getWrappedGenerator();
> +        result ^= gen.hashCode();
> +        result <<= 2;
> +        result ^= continuePredicate.hashCode();
> +        result <<= 2;
> +        result ^= behavior.ordinal();
> +        return result;
> +    }
> +
> +    private void stop() {
> +        stopped = true;
>      }
> 
> }
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/TransformedGenerator.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/TransformedGenerator.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/TransformedGenerator.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/TransformedGenerator.java 
> Mon Jan 28 22:49:36 2013
> @@ -18,6 +18,7 @@ package org.apache.commons.functor.gener
> 
> import org.apache.commons.functor.UnaryFunction;
> import org.apache.commons.functor.UnaryProcedure;
> +import org.apache.commons.functor.generator.BaseGenerator;
> import org.apache.commons.functor.generator.Generator;
> import org.apache.commons.lang3.Validate;
> 
> @@ -28,34 +29,34 @@ import org.apache.commons.lang3.Validate
>   * @param <E> the type of elements held in this generator.
>   * @version $Revision$ $Date$
>   */
> -public class TransformedGenerator<I, E> extends LoopGenerator<E> {
> +public class TransformedGenerator<I, E> extends BaseGenerator<E> {
> +
> +    /**
> +     * The wrapped/<em>I</em>nput generator.
> +     */
> +    private final Generator<? extends I> wrappedGenerator;
> 
>      /**
>       * The UnaryFunction to apply to each element.
>       */
>      private final UnaryFunction<? super I, ? extends E> func;
> 
> -    // This is a special generator, that wraps a generator, but returns another 
> one.
> -    // So it breaks the interface contract, and we suppress the warnings when 
> we cast
> -    // the wrapped generator. This class has been marked as final, to avoid 
> bogus
> -    // specializations.
>      /**
>       * Create a new TransformedGenerator.
>       * @param wrapped Generator to transform
>       * @param func UnaryFunction to apply to each element
>       */
> -    @SuppressWarnings("unchecked")
>      public TransformedGenerator(Generator<? extends I> wrapped, 
> UnaryFunction<? super I, ? extends E> func) {
> -        super((Generator<? extends E>) Validate.notNull(wrapped, 
> "Generator argument was null"));
> +        this.wrappedGenerator =
> +        Validate.notNull(wrapped, "Generator argument was null");
>          this.func = Validate.notNull(func, "UnaryFunction argument was 
> null");
>      }
> 
>      /**
>       * {@inheritDoc}
>       */
> -    @SuppressWarnings("unchecked")
>      public void run(final UnaryProcedure<? super E> proc) {
> -        ((Generator<? extends I>) getWrappedGenerator()).run(new 
> UnaryProcedure<I>() {
> +        wrappedGenerator.run(new UnaryProcedure<I>() {
>              public void run(I obj) {
>                  proc.run(func.evaluate(obj));
>              }
> @@ -74,7 +75,7 @@ public class TransformedGenerator<I, E> 
>              return false;
>          }
>          TransformedGenerator<?, ?> other = (TransformedGenerator<?, 
> ?>) obj;
> -        return other.getWrappedGenerator().equals(getWrappedGenerator()) 
> && other.func == func;
> +        return other.wrappedGenerator.equals(wrappedGenerator) && 
> other.func.equals(func);
>      }
> 
>      /**
> @@ -84,7 +85,7 @@ public class TransformedGenerator<I, E> 
>      public int hashCode() {
>          int result = "TransformedGenerator".hashCode();
>          result <<= 2;
> -        Generator<?> gen = getWrappedGenerator();
> +        Generator<?> gen = wrappedGenerator;
>          result ^= gen.hashCode();
>          result <<= 2;
>          result ^= func.hashCode();
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/UntilGenerate.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/UntilGenerate.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/UntilGenerate.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/UntilGenerate.java 
> Mon Jan 28 22:49:36 2013
> @@ -18,6 +18,7 @@ package org.apache.commons.functor.gener
> 
> import org.apache.commons.functor.UnaryPredicate;
> import org.apache.commons.functor.UnaryProcedure;
> +import org.apache.commons.functor.core.composite.UnaryNot;
> import org.apache.commons.functor.generator.Generator;
> import org.apache.commons.lang3.Validate;
> 
> @@ -28,12 +29,7 @@ import org.apache.commons.lang3.Validate
>   * @param <E> the type of elements held in this generator.
>   * @version $Revision$ $Date$
>   */
> -public class UntilGenerate<E> extends LoopGenerator<E> {
> -
> -    /**
> -     * The condition has to verified in order to execute the generation.
> -     */
> -    private final UnaryPredicate<? super E> test;
> +public class UntilGenerate<E> extends PredicatedGenerator<E> {
> 
>      /**
>       * Create a new UntilGenerate.
> @@ -41,54 +37,8 @@ public class UntilGenerate<E> extends Lo
>       * @param test {@link UnaryPredicate}
>       */
>      public UntilGenerate(UnaryPredicate<? super E> test, Generator<? 
> extends E> wrapped) {
> -        super(Validate.notNull(wrapped, "Generator argument was 
> null"));
> -        this.test = Validate.notNull(test, "UnaryPredicate argument was 
> null");
> -    }
> -
> -    /**
> -     * {@inheritDoc}
> -     */
> -    public void run(final UnaryProcedure<? super E> proc) {
> -        getWrappedGenerator().run(new UnaryProcedure<E>() {
> -            public void run(E obj) {
> -                if (isStopped()) {
> -                    return;
> -                }
> -                if (test.test(obj)) {
> -                    stop();
> -                } else {
> -                    proc.run(obj);
> -                }
> -            }
> -        });
> +        super(Validate.notNull(wrapped, "Generator argument was 
> null"), UnaryNot.not(Validate.notNull(test,
> +            "UnaryPredicate argument was null")), 
> Behavior.TEST_BEFORE);
>      }
> 
> -    /**
> -     * {@inheritDoc}
> -     */
> -    @Override
> -    public boolean equals(Object obj) {
> -        if (obj == this) {
> -            return true;
> -        }
> -        if (!(obj instanceof UntilGenerate<?>)) {
> -            return false;
> -        }
> -        UntilGenerate<?> other = (UntilGenerate<?>) obj;
> -        return other.getWrappedGenerator().equals(getWrappedGenerator()) 
> && other.test.equals(test);
> -    }
> -
> -    /**
> -     * {@inheritDoc}
> -     */
> -    @Override
> -    public int hashCode() {
> -        int result = "UntilGenerate".hashCode();
> -        result <<= 2;
> -        Generator<?> gen = getWrappedGenerator();
> -        result ^= gen.hashCode();
> -        result <<= 2;
> -        result ^= test.hashCode();
> -        return result;
> -    }
> }
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/WhileGenerate.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/WhileGenerate.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/WhileGenerate.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/loop/WhileGenerate.java 
> Mon Jan 28 22:49:36 2013
> @@ -28,12 +28,7 @@ import org.apache.commons.lang3.Validate
>   * @param <E> the type of elements held in this generator.
>   * @version $Revision$ $Date$
>   */
> -public class WhileGenerate<E> extends LoopGenerator<E> {
> -
> -    /**
> -     * The condition has to verified in order to execute the generation.
> -     */
> -    private final UnaryPredicate<? super E> test;
> +public class WhileGenerate<E> extends PredicatedGenerator<E> {
> 
>      /**
>       * Create a new WhileGenerate.
> @@ -41,54 +36,8 @@ public class WhileGenerate<E> extends Lo
>       * @param wrapped {@link Generator}
>       */
>      public WhileGenerate(UnaryPredicate<? super E> test, Generator<? 
> extends E> wrapped) {
> -        super(Validate.notNull(wrapped, "Generator argument was 
> null"));
> -        this.test = Validate.notNull(test, "UnaryPredicate argument was 
> null");
> -    }
> -
> -    /**
> -     * {@inheritDoc}
> -     */
> -    public void run(final UnaryProcedure<? super E> proc) {
> -        getWrappedGenerator().run(new UnaryProcedure<E>() {
> -            public void run(E obj) {
> -                if (isStopped()) {
> -                    return;
> -                }
> -                if (!test.test(obj)) {
> -                    stop();
> -                } else {
> -                    proc.run(obj);
> -                }
> -            }
> -        });
> +        super(Validate.notNull(wrapped, "Generator argument was 
> null"), Validate.notNull(test,
> +            "UnaryPredicate argument was null"), 
> Behavior.TEST_BEFORE);
>      }
> 
> -    /**
> -     * {@inheritDoc}
> -     */
> -    @Override
> -    public boolean equals(Object obj) {
> -        if (obj == this) {
> -            return true;
> -        }
> -        if (!(obj instanceof WhileGenerate<?>)) {
> -            return false;
> -        }
> -        WhileGenerate<?> other = (WhileGenerate<?>) obj;
> -        return other.getWrappedGenerator().equals(getWrappedGenerator()) 
> && other.test.equals(test);
> -    }
> -
> -    /**
> -     * {@inheritDoc}
> -     */
> -    @Override
> -    public int hashCode() {
> -        int result = "WhileGenerate".hashCode();
> -        result <<= 2;
> -        Generator<?> gen = getWrappedGenerator();
> -        result ^= gen.hashCode();
> -        result <<= 2;
> -        result ^= test.hashCode();
> -        return result;
> -    }
> }
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/range/CharacterRange.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/range/CharacterRange.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/range/CharacterRange.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/range/CharacterRange.java 
> Mon Jan 28 22:49:36 2013
> @@ -21,7 +21,7 @@ import java.util.Collection;
> 
> import org.apache.commons.functor.BinaryFunction;
> import org.apache.commons.functor.UnaryProcedure;
> -import org.apache.commons.functor.generator.loop.LoopGenerator;
> +import org.apache.commons.functor.generator.BaseGenerator;
> import org.apache.commons.lang3.Validate;
> 
> /**
> @@ -30,7 +30,7 @@ import org.apache.commons.lang3.Validate
>   * @since 1.0
>   * @version $Revision$ $Date$
>   */
> -public final class CharacterRange extends LoopGenerator<Character> 
> implements Range<Character, Integer> {
> +public final class CharacterRange extends BaseGenerator<Character> 
> implements Range<Character, Integer> {
> 
>      // attributes
>      // ---------------------------------------------------------------
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/range/NumericRange.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/range/NumericRange.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/range/NumericRange.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/main/java/org/apache/commons/functor/generator/range/NumericRange.java 
> Mon Jan 28 22:49:36 2013
> @@ -19,7 +19,7 @@ package org.apache.commons.functor.gener
> 
> import java.util.Collection;
> 
> -import org.apache.commons.functor.generator.loop.LoopGenerator;
> +import org.apache.commons.functor.generator.BaseGenerator;
> import org.apache.commons.lang3.Validate;
> 
> /**
> @@ -35,7 +35,7 @@ import org.apache.commons.lang3.Validate
>   * @since 0.1
>   * @version $Revision$ $Date$
>   */
> -public abstract class NumericRange<T extends Number & 
> Comparable<T>> extends LoopGenerator<T> implements Range<T, 
> T> {
> +public abstract class NumericRange<T extends Number & 
> Comparable<T>> extends BaseGenerator<T> implements Range<T, 
> T> {
>      // attributes
>      // ---------------------------------------------------------------
>      /**
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/TestAlgorithms.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/TestAlgorithms.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/TestAlgorithms.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/TestAlgorithms.java 
> Mon Jan 28 22:49:36 2013
> @@ -31,8 +31,8 @@ import java.util.Set;
> import org.apache.commons.functor.core.Identity;
> import org.apache.commons.functor.core.composite.UnaryNot;
> import org.apache.commons.functor.generator.FilteredGenerator;
> +import org.apache.commons.functor.generator.Generator;
> import org.apache.commons.functor.generator.loop.IteratorToGeneratorAdapter;
> -import org.apache.commons.functor.generator.loop.LoopGenerator;
> import org.apache.commons.functor.generator.loop.TransformedGenerator;
> import org.apache.commons.functor.generator.range.IntegerRange;
> import org.junit.After;
> @@ -116,7 +116,7 @@ public class TestAlgorithms {
> 
>      @Test
>      public void testApplyToGenerator() {
> -        LoopGenerator<Integer> gen = new IntegerRange(1,5);
> +        Generator<Integer> gen = new IntegerRange(1,5);
>          Summer summer = new Summer();
> 
>          new TransformedGenerator<Integer, Integer>(gen, new 
> Doubler()).run(summer);
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/example/lines/Lines.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/example/lines/Lines.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/example/lines/Lines.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/example/lines/Lines.java 
> Mon Jan 28 22:49:36 2013
> @@ -23,12 +23,12 @@ import java.io.FileReader;
> import java.io.Reader;
> 
> import org.apache.commons.functor.UnaryProcedure;
> -import org.apache.commons.functor.generator.loop.LoopGenerator;
> +import org.apache.commons.functor.generator.BaseGenerator;
> 
> /**
>   * @version $Revision$ $Date$
>   */
> -public class Lines extends LoopGenerator<String> {
> +public class Lines extends BaseGenerator<String> {
>      public static Lines from(Reader reader) {
>          return new Lines(reader);
>      }
> @@ -55,19 +55,13 @@ public class Lines extends LoopGenerator
>          } catch(Exception e) {
>              throw new TunneledException(e);
>          } finally {
> -            stop();
> -        }
> -    }
> -
> -    @Override
> -    public void stop() {
> -        super.stop();
> -        try {
> -            in.close();
> -        } catch(RuntimeException e) {
> -            throw e;
> -        } catch(Exception e) {
> -            throw new TunneledException(e);
> +            try {
> +                in.close();
> +            } catch(RuntimeException e) {
> +                throw e;
> +            } catch(Exception e) {
> +                throw new TunneledException(e);
> +            }
>          }
>      }
> 
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestGenerateUntil.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestGenerateUntil.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestGenerateUntil.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestGenerateUntil.java 
> Mon Jan 28 22:49:36 2013
> @@ -40,13 +40,13 @@ public class TestGenerateUntil {
>      // ------------------------------------------------------------------------
>      private static final Integer FIVE = new Integer(5);
> 
> -    private LoopGenerator<Integer> wrappedGenerator = null;
> +    private Generator<Integer> wrappedGenerator = null;
>      private UnaryPredicate<Integer> isMoreThanFive = new 
> UnaryPredicate<Integer>() {
>          public boolean test( Integer obj ) {
>              return obj > FIVE;
>          }
>      };
> -    private LoopGenerator<Integer> generateUntil = null;
> +    private PredicatedGenerator<Integer> generateUntil = null;
> 
>      @Before
>      public void setUp() throws Exception {
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestGenerateWhile.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestGenerateWhile.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestGenerateWhile.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestGenerateWhile.java 
> Mon Jan 28 22:49:36 2013
> @@ -40,13 +40,13 @@ public class TestGenerateWhile {
>      // ------------------------------------------------------------------------
>      private static final Integer FIVE = new Integer(5);
> 
> -    private LoopGenerator<Integer> wrappedGenerator = null;
> +    private Generator<Integer> wrappedGenerator = null;
>      private UnaryPredicate<Integer> isLessThanFive = new 
> UnaryPredicate<Integer>() {
>          public boolean test( Integer obj ) {
>              return obj < FIVE;
>          }
>      };
> -    private LoopGenerator<Integer> generateWhile = null;
> +    private PredicatedGenerator<Integer> generateWhile = null;
> 
>      @Before
>      public void setUp() throws Exception {
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestTransformedGenerator.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestTransformedGenerator.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestTransformedGenerator.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestTransformedGenerator.java 
> Mon Jan 28 22:49:36 2013
> @@ -22,6 +22,7 @@ import java.util.List;
> 
> import org.apache.commons.functor.UnaryFunction;
> import org.apache.commons.functor.UnaryProcedure;
> +import org.apache.commons.functor.generator.Generator;
> import org.apache.commons.functor.generator.range.IntegerRange;
> import org.junit.After;
> import org.junit.Before;
> @@ -36,7 +37,7 @@ public class TestTransformedGenerator {
>      // ------------------------------------------------------------------------
>      private static final Integer TWO = new Integer(2);
> 
> -    private LoopGenerator<Integer> wrappedGenerator = null;
> +    private Generator<Integer> wrappedGenerator = null;
>      private UnaryFunction<Integer, Integer> sumsTwo = new 
> UnaryFunction<Integer, Integer>() {
>          public Integer evaluate( Integer obj ) {
>              return obj += TWO;
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestUntilGenerate.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestUntilGenerate.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestUntilGenerate.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestUntilGenerate.java 
> Mon Jan 28 22:49:36 2013
> @@ -40,13 +40,13 @@ public class TestUntilGenerate {
>      // ------------------------------------------------------------------------
>      private static final Integer FIVE = new Integer(5);
> 
> -    private LoopGenerator<Integer> wrappedGenerator = null;
> +    private Generator<Integer> wrappedGenerator = null;
>      private UnaryPredicate<Integer> isGreaterThanFive = new 
> UnaryPredicate<Integer>() {
>          public boolean test(Integer obj) {
>              return obj > FIVE;
>          }
>      };
> -    private LoopGenerator<Integer> untilGenerate = null;
> +    private PredicatedGenerator<Integer> untilGenerate = null;
> 
>      @Before
>      public void setUp() throws Exception {
> 
> Modified: 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestWhileGenerate.java
> URL: 
> http://svn.apache.org/viewvc/commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestWhileGenerate.java?rev=1439683&r1=1439682&r2=1439683&view=diff
> ==============================================================================
> --- 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestWhileGenerate.java 
> (original)
> +++ 
> commons/proper/functor/branches/FUNCTOR-14-mm/core/src/test/java/org/apache/commons/functor/generator/loop/TestWhileGenerate.java 
> Mon Jan 28 22:49:36 2013
> @@ -42,13 +42,13 @@ public class TestWhileGenerate {
>      // ------------------------------------------------------------------------
>      private static final Integer FIVE = new Integer(5);
> 
> -    private LoopGenerator<Integer> wrappedGenerator = null;
> +    private Generator<Integer> wrappedGenerator = null;
>      private UnaryPredicate<Integer> isLessThanFive = new 
> UnaryPredicate<Integer>() {
>          public boolean test( Integer obj ) {
>              return obj < FIVE;
>          }
>      };
> -    private LoopGenerator<Integer> whileGenerate = null;
> +    private PredicatedGenerator<Integer> whileGenerate = null;
> 
>      @Before
>      public void setUp() throws Exception {
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message