You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2011/05/22 21:09:08 UTC
svn commit: r1126169 - in /tapestry/tapestry5/trunk/tapestry-func/src:
main/java/org/apache/tapestry5/func/ test/java/org/apache/tapestry5/func/
Author: hlship
Date: Sun May 22 19:09:07 2011
New Revision: 1126169
URL: http://svn.apache.org/viewvc?rev=1126169&view=rev
Log:
TAP5-1428: Previous commit duplicated F.iterate()
Rewrite F.series() in terms of F.iterate()
Removed:
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/LazyIterate.java
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/LazySeries.java
Modified:
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/F.java
tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java
Modified: tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/F.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/F.java?rev=1126169&r1=1126168&r2=1126169&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/F.java (original)
+++ tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/F.java Sun May 22 19:09:07 2011
@@ -402,7 +402,6 @@ public class F
* Creates an infinite lazy flow from an initial value and a function to map from the current value to the
* next value.
*
- * @since 5.3.0
* @param <T>
* @param initial
* initial value in flow
@@ -410,7 +409,7 @@ public class F
* maps from current value in flow to next value in flow
* @return lazy flow
*/
- public static <T> Flow<T> lazy(final T initial, final Mapper<T, T> function)
+ public static <T> Flow<T> iterate(final T initial, final Mapper<T, T> function)
{
LazyFunction<T> head = new LazyFunction<T>()
{
@@ -428,27 +427,13 @@ public class F
* <p>
* Attempting to get the {@linkplain Flow#count()} of the series will form an infinite loop.
*/
- public static Flow<Integer> series(int start, int delta)
+ public static Flow<Integer> series(int start, final int delta)
{
- return lazy(new LazySeries(start, delta));
- }
-
- /**
- * Creates a lazy, infinte Flow consisting of the initial value, then the result of passing
- * the initial value through the Mapper, and so forth, which each step value passed through the
- * mapper
- * to form the next step value.
- */
- public static <T> Flow<T> iterate(final T initial, final Mapper<T, T> mapper)
- {
- assert mapper != null;
-
- return F.lazy(new LazyFunction<T>()
+ return iterate(start, new Mapper<Integer, Integer>()
{
-
- public LazyContinuation<T> next()
+ public Integer map(Integer element)
{
- return new LazyContinuation<T>(initial, new LazyIterate<T>(initial, mapper));
+ return element + delta;
}
});
}
Modified: tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java?rev=1126169&r1=1126168&r2=1126169&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java Sun May 22 19:09:07 2011
@@ -603,21 +603,4 @@ public class FuncTest extends BaseFuncTe
assertFlowValues(flow, 9, 7, 1);
}
-
- @Test
- public void lazy_flow_from_mapper()
- {
- Mapper<Integer, Integer> mapper = new Mapper<Integer, Integer>()
- {
- public Integer map(Integer element)
- {
-
- return 2 * element.intValue();
- }
- };
-
- Flow<Integer> flow = F.lazy(3, mapper);
-
- assertFlowValues(flow.take(5), 3, 6, 12, 24, 48);
- }
}