Java 11 migration: patterns (t-v) (#1085)
* Moves visitor pattern to java 11 * Moves value-object pattern to java 11 * Moves unit-of-work pattern to java 11 * Moves typeobjectpattern pattern to java 11 * Moves twin pattern to java 11 * Moves trampoline pattern to java 11 * Moves tolerant-reader pattern to java 11 * Moves tls pattern to java 11 * Moves throttling pattern to java 11 * Moves thread-pool pattern to java 11 * Moves template-method pattern to java 11
This commit is contained in:
committed by
Ilkka Seppälä
parent
160b737dcc
commit
50467c9e76
@ -99,13 +99,11 @@ public interface Trampoline<T> {
|
||||
}
|
||||
|
||||
T trampoline(final Trampoline<T> trampoline) {
|
||||
|
||||
return Stream.iterate(trampoline, Trampoline::jump)
|
||||
.filter(Trampoline::complete)
|
||||
.findFirst()
|
||||
.get()
|
||||
.result();
|
||||
|
||||
.map(Trampoline::result)
|
||||
.orElseThrow();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ public class TrampolineApp {
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
log.info("start pattern");
|
||||
Integer result = loop(10, 1).result();
|
||||
var result = loop(10, 1).result();
|
||||
log.info("result {}", result);
|
||||
|
||||
}
|
||||
|
@ -23,22 +23,20 @@
|
||||
|
||||
package com.iluwatar.trampoline;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
|
||||
/**
|
||||
* Test for trampoline pattern.
|
||||
* */
|
||||
*/
|
||||
public class TrampolineAppTest {
|
||||
|
||||
|
||||
@Test
|
||||
public void testTrampolineWithFactorialFunction() {
|
||||
int result = TrampolineApp.loop(10, 1).result();
|
||||
long result = TrampolineApp.loop(10, 1).result();
|
||||
assertEquals("Be equal", 3628800, result);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user