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%2FFileParameter.java;h=b827fee4783997525d00d08b5be8275dad74dbd9;hp=79b0a10b9efb3cd00743799a2e99d0385f6f831c;hb=b8bd1e820265fc15c39c1ee8c06289ea8b8e2c1c;hpb=d9c673d58d131597ec01c260b45131689059abc3 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 79b0a10..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 @@ -9,69 +9,69 @@ 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 FileParameter extends Parameter { +import java.io.File; + +public class FileParameter extends Parameter { + + private ExistenceType existenceType = ExistenceType.DOES_NOT_MATTER; - private ExistanceType existanceType = ExistanceType.DOES_NOT_MATTER; + public FileParameter(final String description) { + super(description, ArgumentCount.SINGLE); + } - public FileParameter(final String description) { - super(description, ArgumentCount.SINGLE); - } + protected static boolean validateFile(ExistenceType existenceType, String value) { + final File file = new File(value); - @Override - public java.lang.String describeFormat() { - return existanceType.description + " file"; - } + if (existenceType == ExistenceType.MUST_EXIST) { + return file.exists() && file.isFile(); + } - @Override - public File getValue() { + if (existenceType == ExistenceType.MUST_NOT_EXIST) { + return !file.exists(); + } - if (arguments.size() != 1) - throw new RuntimeException("Parameter " + description - + " shall have exactly 1 argument."); + if (existenceType == ExistenceType.DOES_NOT_MATTER) { + if (file.exists()) + if (file.isDirectory()) + return false; - return new File(arguments.get(0)); - } + return true; + } - public FileParameter mustExist() { - existanceType = ExistanceType.MUST_EXIST; - return this; - } + return false; + } - public FileParameter mustNotExist() { - existanceType = ExistanceType.MUST_NOT_EXIST; - return this; - } + @Override + public java.lang.String describeFormat() { + return existenceType.description + " file"; + } - @Override - public boolean validate(final java.lang.String value) { - final File file = new File(value); + @Override + public File getValue() { - if (existanceType == ExistanceType.MUST_EXIST) { - if (file.exists() && file.isFile()) - return true; - return false; - } + if (arguments.size() != 1) + throw new RuntimeException("Parameter " + description + + " shall have exactly 1 argument."); - if (existanceType == ExistanceType.MUST_NOT_EXIST) { - if (file.exists()) - return false; - return true; - } + return new File(arguments.get(0)); + } - if (existanceType == ExistanceType.DOES_NOT_MATTER) { - if (file.exists()) - if (file.isDirectory()) - return false; + public FileParameter mustExist() { + existenceType = ExistenceType.MUST_EXIST; + return this; + } - return true; - } + public FileParameter mustNotExist() { + existenceType = ExistenceType.MUST_NOT_EXIST; + return this; + } - return false; - } + @Override + public boolean validate(final java.lang.String value) { + return validateFile(existenceType, value); + } }