public class Worker
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
Worker.ProgressListener
Listener that subscribes to worker progress events.
|
Modifier and Type | Field and Description |
---|---|
private static java.util.List<java.nio.file.Path> |
files
List of files to process.
|
private static java.nio.file.Path |
inputDir
Input directory.
|
private static java.nio.file.Path |
outputDir
Output directory or file.
|
private static boolean |
overwrite
Whether to overwrite existing files.
|
private static java.nio.file.PathMatcher |
PNG_PATTERN
Path filter that only matches PNG files.
|
private static boolean |
running
Whether working threads are currently processing files.
|
Constructor and Description |
---|
Worker() |
Modifier and Type | Method and Description |
---|---|
private static int |
computeColor(int x,
int y,
java.awt.image.BufferedImage data)
Computes the new color of the pixel at the given coordinates
given the current image color data.
|
static boolean |
isRunning()
Checks if the worker is currently running and processing files.
|
static int |
prepare(java.nio.file.Path input,
java.nio.file.Path output,
boolean subdirs,
boolean overwriteFiles)
Prepares all the files to process based on the given input.
|
private static boolean |
processFile(java.nio.file.Path file)
Processes the given file.
|
private static void |
processImage(java.awt.image.BufferedImage input,
java.io.File output)
Processes the given image and writes it to the given file.
|
static void |
setRunning(boolean shouldRun)
Sets whether the working is currently processing files.
|
static void |
start(int threads,
Worker.ProgressListener listener)
Starts the worker with the give number of concurrent threads
and listener to report progress updates to.
|
private static final java.nio.file.PathMatcher PNG_PATTERN
private static java.nio.file.Path inputDir
private static java.nio.file.Path outputDir
private static boolean overwrite
private static java.util.List<java.nio.file.Path> files
private static volatile boolean running
public static final int prepare(java.nio.file.Path input, java.nio.file.Path output, boolean subdirs, boolean overwriteFiles) throws java.io.IOException
input
- Input folder or file.output
- Output folder or file.subdirs
- Whether to parse sub-directories.overwriteFiles
- Whether to overwrite existing files.java.io.IOException
- When an IOException occurs.public static final void setRunning(boolean shouldRun)
shouldRun
- True if the worker should process files.public static boolean isRunning()
public static final void start(int threads, Worker.ProgressListener listener)
threads
- The number of concurrent threads to use.listener
- The progress listener.private static final boolean processFile(java.nio.file.Path file) throws java.io.IOException
file
- The file to process.java.io.IOException
- When an IOException occurs.private static final void processImage(java.awt.image.BufferedImage input, java.io.File output) throws java.io.IOException
input
- The image to process.output
- The output file to write to.java.io.IOException
- When an IOException occurs.private static final int computeColor(int x, int y, java.awt.image.BufferedImage data)
x
- The x coordinate of the pixel to compute.y
- The y coordinate of the pixel to compute.data
- The original image data.