X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Fcommandline%2Fparameterparser%2Fparameter%2FFileParameter.java;h=b827fee4783997525d00d08b5be8275dad74dbd9;hb=b8bd1e820265fc15c39c1ee8c06289ea8b8e2c1c;hp=b98189c8a2761e18ca713e387ffc14c6ae5fbb4f;hpb=9bf004ce4e9b5edff36c65fcc8cc0f303390d7fc;p=svjatoslav_commons.git diff --git a/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/parameter/FileParameter.java b/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/parameter/FileParameter.java index b98189c..b827fee 100755 --- a/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/parameter/FileParameter.java +++ b/src/main/java/eu/svjatoslav/commons/commandline/parameterparser/parameter/FileParameter.java @@ -1,6 +1,6 @@ /* * Svjatoslav Commons - shared library of common functionality. - * Copyright ©2012-2014, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu + * Copyright ©2012-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu * * This program is free software; you can redistribute it and/or * modify it under the terms of version 3 of the GNU Lesser General Public License @@ -14,7 +14,7 @@ import eu.svjatoslav.commons.commandline.parameterparser.Parameter; import java.io.File; -public class FileParameter extends Parameter { +public class FileParameter extends Parameter { private ExistenceType existenceType = ExistenceType.DOES_NOT_MATTER; @@ -22,6 +22,28 @@ public class FileParameter extends Parameter { super(description, ArgumentCount.SINGLE); } + protected static boolean validateFile(ExistenceType existenceType, String value) { + final File file = new File(value); + + if (existenceType == ExistenceType.MUST_EXIST) { + return file.exists() && file.isFile(); + } + + if (existenceType == ExistenceType.MUST_NOT_EXIST) { + return !file.exists(); + } + + if (existenceType == ExistenceType.DOES_NOT_MATTER) { + if (file.exists()) + if (file.isDirectory()) + return false; + + return true; + } + + return false; + } + @Override public java.lang.String describeFormat() { return existenceType.description + " file"; @@ -49,25 +71,7 @@ public class FileParameter extends Parameter { @Override public boolean validate(final java.lang.String value) { - final File file = new File(value); - - if (existenceType == ExistenceType.MUST_EXIST) { - return file.exists() && file.isFile(); - } - - if (existenceType == ExistenceType.MUST_NOT_EXIST) { - return !file.exists(); - } - - if (existenceType == ExistenceType.DOES_NOT_MATTER) { - if (file.exists()) - if (file.isDirectory()) - return false; - - return true; - } - - return false; + return validateFile(existenceType, value); } }