diff --git a/src/main/java/net/locusworks/argparser/converters/BooleanConverter.java b/src/main/java/net/locusworks/argparser/converters/BooleanConverter.java new file mode 100644 index 0000000..2fcfd3a --- /dev/null +++ b/src/main/java/net/locusworks/argparser/converters/BooleanConverter.java @@ -0,0 +1,21 @@ +package net.locusworks.argparser.converters; + +import net.locusworks.argparser.interfaces.IParameterConverter; + +/** + * Converts a DataDiodeProperty value into a boolean value + * @author Isaac Parenteau + * + */ +public class BooleanConverter implements IParameterConverter { + + @Override + public Boolean convert(String value) { + if (value == null || value.trim().isEmpty()) return false; + + if (value.trim().toLowerCase().equals("yes")) return true; + + boolean retVal = Boolean.parseBoolean(value.trim()); + return retVal; + } +} diff --git a/src/main/java/net/locusworks/argparser/converters/ByteArrayConverter.java b/src/main/java/net/locusworks/argparser/converters/ByteArrayConverter.java new file mode 100644 index 0000000..7c9a140 --- /dev/null +++ b/src/main/java/net/locusworks/argparser/converters/ByteArrayConverter.java @@ -0,0 +1,14 @@ +package net.locusworks.argparser.converters; + +import java.nio.charset.StandardCharsets; + +import net.locusworks.argparser.interfaces.IParameterConverter; + +public class ByteArrayConverter implements IParameterConverter { + + @Override + public byte[] convert(String value) { + return value.getBytes(StandardCharsets.UTF_8); + } + +} diff --git a/src/main/java/net/locusworks/argparser/converters/DirectoryConverter.java b/src/main/java/net/locusworks/argparser/converters/DirectoryConverter.java new file mode 100644 index 0000000..935ad14 --- /dev/null +++ b/src/main/java/net/locusworks/argparser/converters/DirectoryConverter.java @@ -0,0 +1,14 @@ +package net.locusworks.argparser.converters; + +import java.io.File; + +import net.locusworks.argparser.interfaces.IParameterConverter; + +public class DirectoryConverter implements IParameterConverter { + + public File convert(String value) { + File file = new File(value); + return file; + } + +} diff --git a/src/main/java/net/locusworks/argparser/converters/DirectoryExistConverter.java b/src/main/java/net/locusworks/argparser/converters/DirectoryExistConverter.java new file mode 100644 index 0000000..e5d5c08 --- /dev/null +++ b/src/main/java/net/locusworks/argparser/converters/DirectoryExistConverter.java @@ -0,0 +1,25 @@ +package net.locusworks.argparser.converters; + +import java.io.File; + +import net.locusworks.argparser.interfaces.IParameterConverter; + +/** + * Converts a command line argument to a File with verification that the file + * exists and is a file nothing else + * @author Isaac Parenteau + * + */ +public class DirectoryExistConverter implements IParameterConverter{ + + @Override + public File convert(String value) { + File f = new File(value); + + if (!f.exists()) throw new IllegalArgumentException(value + " does not exist"); + if (!f.isDirectory()) throw new IllegalArgumentException(value + " is not a directory"); + + return new File(value); + } + +} diff --git a/src/main/java/net/locusworks/argparser/converters/DoubleConverter.java b/src/main/java/net/locusworks/argparser/converters/DoubleConverter.java new file mode 100644 index 0000000..e1988f6 --- /dev/null +++ b/src/main/java/net/locusworks/argparser/converters/DoubleConverter.java @@ -0,0 +1,12 @@ +package net.locusworks.argparser.converters; + +import net.locusworks.argparser.interfaces.IParameterConverter; + +public class DoubleConverter implements IParameterConverter { + + @Override + public Double convert(String value) { + return Double.parseDouble(value); + } + +} diff --git a/src/main/java/net/locusworks/argparser/converters/FileExistConverter.java b/src/main/java/net/locusworks/argparser/converters/FileExistConverter.java new file mode 100644 index 0000000..2d45c5e --- /dev/null +++ b/src/main/java/net/locusworks/argparser/converters/FileExistConverter.java @@ -0,0 +1,25 @@ +package net.locusworks.argparser.converters; + +import java.io.File; + +import net.locusworks.argparser.interfaces.IParameterConverter; + +/** + * Converts a command line argument to a File with verification that the file + * exists and is a file nothing else + * @author Isaac Parenteau + * + */ +public class FileExistConverter implements IParameterConverter{ + + @Override + public File convert(String value) { + File f = new File(value); + + if (!f.exists()) throw new IllegalArgumentException(value + " does not exist"); + if (!f.isFile()) throw new IllegalArgumentException(value + " is not a file"); + + return new File(value); + } + +} diff --git a/src/main/java/net/locusworks/argparser/converters/FloatConverter.java b/src/main/java/net/locusworks/argparser/converters/FloatConverter.java new file mode 100644 index 0000000..da6b7ba --- /dev/null +++ b/src/main/java/net/locusworks/argparser/converters/FloatConverter.java @@ -0,0 +1,12 @@ +package net.locusworks.argparser.converters; + +import net.locusworks.argparser.interfaces.IParameterConverter; + +public class FloatConverter implements IParameterConverter { + + @Override + public Float convert(String value) { + return Float.parseFloat(value); + } + +} diff --git a/src/main/java/net/locusworks/argparser/converters/LongConverter.java b/src/main/java/net/locusworks/argparser/converters/LongConverter.java new file mode 100644 index 0000000..606b9e9 --- /dev/null +++ b/src/main/java/net/locusworks/argparser/converters/LongConverter.java @@ -0,0 +1,12 @@ +package net.locusworks.argparser.converters; + +import net.locusworks.argparser.interfaces.IParameterConverter; + +public class LongConverter implements IParameterConverter { + + @Override + public Long convert(String value) { + return Long.parseLong(value); + } + +} diff --git a/src/main/java/net/locusworks/argparser/converters/ShortConverter.java b/src/main/java/net/locusworks/argparser/converters/ShortConverter.java new file mode 100644 index 0000000..4c30dd6 --- /dev/null +++ b/src/main/java/net/locusworks/argparser/converters/ShortConverter.java @@ -0,0 +1,12 @@ +package net.locusworks.argparser.converters; + +import net.locusworks.argparser.interfaces.IParameterConverter; + +public class ShortConverter implements IParameterConverter { + + @Override + public Short convert(String value) { + return Short.parseShort(value); + } + +}