+++ /dev/null
-/*
- * Svjatoslav Commons - shared library of common functionality. Author: Svjatoslav Agejenko.
- * This project is released under Creative Commons Zero (CC0) license.
- */
-package eu.svjatoslav.commons.commandline.parameterparser.parameter;
-
-import eu.svjatoslav.commons.commandline.parameterparser.ArgumentCount;
-import eu.svjatoslav.commons.commandline.parameterparser.Parameter;
-
-import java.io.File;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import static eu.svjatoslav.commons.commandline.parameterparser.parameter.FileParameter.validateFile;
-
-public class FileParameters extends Parameter<List<File>, FileParameters> {
-
- private ExistenceType existenceType = ExistenceType.DOES_NOT_MATTER;
-
- public FileParameters(final String description) {
- super(description, ArgumentCount.MULTI);
- }
-
- @Override
- public String describeFormat() {
- return existenceType.description + " files";
- }
-
- @Override
- public List<File> getValue() {
- return arguments.stream().map(File::new).collect(Collectors.toList());
- }
-
- public FileParameters mustExist() {
- existenceType = ExistenceType.MUST_EXIST;
- return this;
- }
-
- public FileParameters mustNotExist() {
- existenceType = ExistenceType.MUST_NOT_EXIST;
- return this;
- }
-
- @Override
- public boolean validate(final String value) {
- return validateFile(existenceType, value);
- }
-
-}