/*
* Svjatoslav Commons - shared library of common functionality.
- * Copyright ©2012-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
+ * Copyright ©2012-2020, 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
import java.io.File;
-public class FileParameter extends Parameter<FileParameter> {
+public class FileParameter extends Parameter<File, FileParameter> {
private ExistenceType existenceType = ExistenceType.DOES_NOT_MATTER;
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";
@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);
}
}