X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=svjatoslav_commons.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Fcommandline%2Fparameterparser%2Fparameter%2FDirectoryParameter.java;h=f12ee98c0611219cf79480c5a5b20b2d88cc6683;hp=fc032632c82231c636f84f01c4e0f6ebb897ddac;hb=9bf004ce4e9b5edff36c65fcc8cc0f303390d7fc;hpb=ab4cc64cf105d4f03b8a0b94ab58d9b973820c8a diff --git a/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/parameter/DirectoryParameter.java b/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/parameter/DirectoryParameter.java index fc03263..f12ee98 100755 --- a/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/parameter/DirectoryParameter.java +++ b/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/parameter/DirectoryParameter.java @@ -9,81 +9,65 @@ package eu.svjatoslav.commons.commandline.parameterparser.parameter; -import java.io.File; - import eu.svjatoslav.commons.commandline.parameterparser.ArgumentCount; import eu.svjatoslav.commons.commandline.parameterparser.Parameter; -public class DirectoryParameter extends Parameter { - - private ExistanceType existanceType = ExistanceType.DOES_NOT_MATTER; - - public DirectoryParameter(final String description) { - super(description, ArgumentCount.SINGLE); - } - - @Override - public DirectoryParameter addAliases(final String... aliasArray) { - super.addAliasesProtected(aliasArray); - return this; - } - - @Override - public java.lang.String describeFormat() { - return existanceType.description + "directory"; - } - - @Override - public File getValue() { - - if (arguments.size() != 1) - throw new RuntimeException("Parameter " + description - + " shall have exactly 1 argument."); - - return new File(arguments.get(0)); - } - - public DirectoryParameter mustExist() { - existanceType = ExistanceType.MUST_EXIST; - return this; - } - - public DirectoryParameter mustNotExist() { - existanceType = ExistanceType.MUST_NOT_EXIST; - return this; - } - - @Override - public DirectoryParameter setMandatory() { - setMandatoryProtected(); - return this; - } - - @Override - public boolean validate(final java.lang.String value) { - final File file = new File(value); - - if (existanceType == ExistanceType.MUST_EXIST) { - if (file.exists() && file.isDirectory()) - return true; - return false; - } - - if (existanceType == ExistanceType.MUST_NOT_EXIST) { - if (file.exists()) - return false; - return true; - } - - if (existanceType == ExistanceType.DOES_NOT_MATTER) { - if (file.exists()) - if (file.isFile()) - return false; - - return true; - } - - return false; - } +import java.io.File; + +public class DirectoryParameter extends Parameter { + + private ExistenceType existenceType = ExistenceType.DOES_NOT_MATTER; + + public DirectoryParameter(final String description) { + super(description, ArgumentCount.SINGLE); + } + + @Override + public java.lang.String describeFormat() { + return existenceType.description + "directory"; + } + + @Override + public File getValue() { + + if (arguments.size() != 1) + throw new RuntimeException("Parameter " + description + + " shall have exactly 1 argument."); + + return new File(arguments.get(0)); + } + + public DirectoryParameter mustExist() { + existenceType = ExistenceType.MUST_EXIST; + return this; + } + + public DirectoryParameter mustNotExist() { + existenceType = ExistenceType.MUST_NOT_EXIST; + return this; + } + + @Override + public boolean validate(final java.lang.String value) { + final File file = new File(value); + + if (existenceType == ExistenceType.MUST_EXIST) { + return file.exists() && file.isDirectory(); + } + + if (existenceType == ExistenceType.MUST_NOT_EXIST) { + return !file.exists(); + } + + if (existenceType == ExistenceType.DOES_NOT_MATTER) { + if (file.exists()) + if (file.isFile()) + return false; + + return true; + } + + return false; + } }