From 548338bf579e43ad4762f3fed541690961245a5d Mon Sep 17 00:00:00 2001 From: TheRamenChef Date: Wed, 28 Nov 2018 13:32:45 -0600 Subject: [PATCH 1/3] Create ValueGenerator.java --- src/main/java/io/herrmann/generator/ValueGenerator.java | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 src/main/java/io/herrmann/generator/ValueGenerator.java diff --git a/src/main/java/io/herrmann/generator/ValueGenerator.java b/src/main/java/io/herrmann/generator/ValueGenerator.java new file mode 100644 index 0000000..9f14e93 --- /dev/null +++ b/src/main/java/io/herrmann/generator/ValueGenerator.java @@ -0,0 +1,6 @@ +package io.herrmann.generator; + +@FunctionalInterface +public interface ValueGenerator { + void generate() throws InterruptedException; +} From 8a31606b123875d7d4c9ac95a4dd319ac4758478 Mon Sep 17 00:00:00 2001 From: TheRamenChef Date: Wed, 28 Nov 2018 13:35:51 -0600 Subject: [PATCH 2/3] Create ConsumingGenerator.java --- src/main/java/io/herrmann/generator/ConsumingGenerator.java | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 src/main/java/io/herrmann/generator/ConsumingGenerator.java diff --git a/src/main/java/io/herrmann/generator/ConsumingGenerator.java b/src/main/java/io/herrmann/generator/ConsumingGenerator.java new file mode 100644 index 0000000..9d58664 --- /dev/null +++ b/src/main/java/io/herrmann/generator/ConsumingGenerator.java @@ -0,0 +1,6 @@ +package io.herrmann.generator; + +@FunctionalInterface +public interface ConsumingGenerator { + void generate(Generator generator) throws InterruptedException; +} From c6f087c054aa45a58362a84fa14e43bd8cd6c24a Mon Sep 17 00:00:00 2001 From: TheRamenChef Date: Wed, 28 Nov 2018 13:41:46 -0600 Subject: [PATCH 3/3] Create LambdaGenerator.java --- .../io/herrmann/generator/LambdaGenerator.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/main/java/io/herrmann/generator/LambdaGenerator.java diff --git a/src/main/java/io/herrmann/generator/LambdaGenerator.java b/src/main/java/io/herrmann/generator/LambdaGenerator.java new file mode 100644 index 0000000..0cd0916 --- /dev/null +++ b/src/main/java/io/herrmann/generator/LambdaGenerator.java @@ -0,0 +1,18 @@ +package io.herrmann.generator; + +public class LambdaGenerator extends Generator { + private ConsumingGenerator generator; + + public LambdaGenerator(ConsumingGenerator generator) { + this.generator = generator; + } + + public LambdaGenerator(final ValueGenerator generator) { + this(g -> generator.generate()); + } + + @Override + protected void run() throws InterruptedException { + this.generator.generate(this); + } +}