+/*
+ * Svjatoslav Commons - shared library of common functionality.
+ * Copyright ©2012-2014, 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
+ * or later as published by the Free Software Foundation.
+ */
+
package eu.svjatoslav.commons.commandline.parameterparser.parameter;
import java.io.File;
-import eu.svjatoslav.commons.commandline.parameterparser.Argument;
import eu.svjatoslav.commons.commandline.parameterparser.ArgumentCount;
import eu.svjatoslav.commons.commandline.parameterparser.Parameter;
-import eu.svjatoslav.commons.commandline.parameterparser.type.StringArgument;
-public class FileParameter extends Parameter implements Argument {
+public class FileParameter extends Parameter<FileParameter> {
private ExistanceType existanceType = ExistanceType.DOES_NOT_MATTER;
public FileParameter(final String description) {
- super(new StringArgument(), description, ArgumentCount.SINGLE);
- }
-
- @Override
- public FileParameter addAliases(final String... aliasArray) {
- super.addAliases(aliasArray);
- return this;
+ super(description, ArgumentCount.SINGLE);
}
@Override
public java.lang.String describeFormat() {
- return existanceType.description + "file";
+ return existanceType.description + " file";
}
+ @Override
public File getValue() {
if (arguments.size() != 1)
return this;
}
- @Override
- public FileParameter setMandatory() {
- mandatory = true;
- return this;
- }
-
@Override
public boolean validate(final java.lang.String value) {
final File file = new File(value);