From eab6df10ab8292a59a05b25d18c413dd107bb94a Mon Sep 17 00:00:00 2001 From: Benjamin Culkin Date: Thu, 26 Apr 2018 05:48:09 -0700 Subject: Initial commit --- src/bjc/imgchain/pipeline/Pipeline.java | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/bjc/imgchain/pipeline/Pipeline.java (limited to 'src/bjc/imgchain/pipeline/Pipeline.java') diff --git a/src/bjc/imgchain/pipeline/Pipeline.java b/src/bjc/imgchain/pipeline/Pipeline.java new file mode 100644 index 0000000..faba6d5 --- /dev/null +++ b/src/bjc/imgchain/pipeline/Pipeline.java @@ -0,0 +1,37 @@ +package bjc.imgchain.pipeline; + +import java.awt.Image; +import java.util.List; + +/** + * Represents a pipeline for processing images. + * + * @author acm + * + */ +public interface Pipeline { + /** + * Process an image using the stages. + * + * @param input + * The input image, or null if no image is input. + * @return The output image, or null if no image is output. + */ + Image process(Image input); + + /** + * Get the stages of the pipeline. + * + * @return The stages of the pipeline. + */ + List stages(); + + /** + * Get the name of the pipeline. + * + * @return The name of the pipeline. + */ + default String name() { + return "Unnamed Pipeline"; + } +} -- cgit v1.2.3