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:
Anurag Agarwal
2019-11-14 11:12:05 +05:30
committed by Ilkka Seppälä
parent 160b737dcc
commit 50467c9e76
45 changed files with 379 additions and 422 deletions

View File

@ -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();
}
};
}

View File

@ -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);
}

View File

@ -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);
}