Hmm, I'm struggling with the package name.  oacf.generator.flow?  I wonder
if we should just merge this package back into oacf.generator.

Matt


On Mon, Jan 28, 2013 at 8:15 PM, Matt Benson <gudnabr...@gmail.com> wrote:

> I think so, yes.  :)  Knew there was something I forgot!
>
> Matt
>
>
> On Mon, Jan 28, 2013 at 7:23 PM, Bruno P. Kinoshita <
> brunodepau...@yahoo.com.br> wrote:
>
>> 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: "mben...@apache.org" <mben...@apache.org>
>> > To: comm...@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-unsubscr...@commons.apache.org
>> For additional commands, e-mail: dev-h...@commons.apache.org
>>
>>
>

Reply via email to