diff options
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/bjc/functypes/ArrayChooser.java | 20 | ||||
| -rw-r--r-- | src/main/java/bjc/functypes/IntArrayChooser.java | 19 |
2 files changed, 39 insertions, 0 deletions
diff --git a/src/main/java/bjc/functypes/ArrayChooser.java b/src/main/java/bjc/functypes/ArrayChooser.java new file mode 100644 index 0000000..3baa00c --- /dev/null +++ b/src/main/java/bjc/functypes/ArrayChooser.java @@ -0,0 +1,20 @@ +package bjc.functypes; + +/** + * Function which picks a single element from an array of elements. + * + * @author Ben Culkin + * + * @param <ElementType> The type of element stored in the array. + */ +@FunctionalInterface +public interface ArrayChooser<ElementType> { + /** + * Select a single element from an array of elements. + * + * @param elements The elements to pick from. + * + * @return The selected element. + */ + public ElementType choose(@SuppressWarnings("unchecked") ElementType... elements); +} diff --git a/src/main/java/bjc/functypes/IntArrayChooser.java b/src/main/java/bjc/functypes/IntArrayChooser.java new file mode 100644 index 0000000..416487e --- /dev/null +++ b/src/main/java/bjc/functypes/IntArrayChooser.java @@ -0,0 +1,19 @@ +package bjc.functypes; + +/** + * Int-specialized variant of ArrayChooser. + * + * @author Ben Culkin + * + */ +@FunctionalInterface +public interface IntArrayChooser { + /** + * Choose a single int from an array of ints. + * + * @param ints The array of ints to choose. + * + * @return The chosen int. + */ + public int choose(int... ints); +} |
