@Mutable @ThreadSafety(level=NOT_THREADSAFE) public final class FileArgument extends Argument
Constructor and Description |
---|
FileArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
boolean isRequired,
int maxOccurrences,
java.lang.String valuePlaceholder,
java.lang.String description)
Creates a new file argument with the provided information.
|
FileArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
boolean isRequired,
int maxOccurrences,
java.lang.String valuePlaceholder,
java.lang.String description,
boolean fileMustExist,
boolean parentMustExist,
boolean mustBeFile,
boolean mustBeDirectory)
Creates a new file argument with the provided information.
|
FileArgument(java.lang.Character shortIdentifier,
java.lang.String longIdentifier,
boolean isRequired,
int maxOccurrences,
java.lang.String valuePlaceholder,
java.lang.String description,
boolean fileMustExist,
boolean parentMustExist,
boolean mustBeFile,
boolean mustBeDirectory,
java.util.List<java.io.File> defaultValues)
Creates a new file argument with the provided information.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addValue(java.lang.String valueString)
Adds the provided value to the set of values for this argument.
|
boolean |
fileMustExist()
Indicates whether each value must refer to a file that exists.
|
FileArgument |
getCleanCopy()
Creates a copy of this argument that is "clean" and appears as if it has
not been used in the course of parsing an argument set.
|
java.lang.String |
getDataTypeName()
Retrieves a concise name of the data type with which this argument is
associated.
|
java.util.List<java.io.File> |
getDefaultValues()
Retrieves the list of default values for this argument, which will be used
if no values were provided.
|
byte[] |
getFileBytes()
Reads the contents of the file specified as the value to this argument.
|
java.util.List<java.lang.String> |
getFileLines()
Reads the contents of the file specified as the value to this argument and
retrieves a list of the lines contained in it.
|
java.util.List<java.lang.String> |
getNonBlankFileLines()
Reads the contents of the file specified as the value to this argument and
retrieves a list of the non-blank lines contained in it.
|
java.io.File |
getRelativeBaseDirectory()
Retrieves the directory that will serve as the base directory for relative
paths, if one has been defined.
|
java.io.File |
getValue()
Retrieves the value for this argument, or the default value if none was
provided.
|
java.lang.String |
getValueConstraints()
Retrieves a human-readable string with information about any constraints
that may be imposed for values of this argument.
|
java.util.List<java.io.File> |
getValues()
Retrieves the set of values for this argument.
|
protected boolean |
hasDefaultValue()
Indicates whether this argument has one or more default values that will be
used if it is not provided on the command line.
|
boolean |
mustBeDirectory()
Indicates whether each value must refer to a directory (if it exists).
|
boolean |
mustBeFile()
Indicates whether each value must refer to a regular file (if it exists).
|
boolean |
parentMustExist()
Indicates whether each value must refer to a file whose parent directory
exists.
|
void |
setRelativeBaseDirectory(java.io.File relativeBaseDirectory)
Specifies the directory that will serve as the base directory for relative
paths.
|
void |
toString(java.lang.StringBuilder buffer)
Appends a string representation of this argument to the provided buffer.
|
addLongIdentifier, addShortIdentifier, appendBasicToStringInfo, getDescription, getIdentifierString, getLongIdentifier, getLongIdentifiers, getMaxOccurrences, getNumOccurrences, getShortIdentifier, getShortIdentifiers, getValuePlaceholder, hasLongIdentifier, hasShortIdentifier, isHidden, isPresent, isRequired, isUsageArgument, setHidden, setMaxOccurrences, setUsageArgument, takesValue, toString
public FileArgument(java.lang.Character shortIdentifier, java.lang.String longIdentifier, boolean isRequired, int maxOccurrences, java.lang.String valuePlaceholder, java.lang.String description) throws ArgumentException
shortIdentifier
- The short identifier for this argument. It may
not be null
if the long identifier is
null
.longIdentifier
- The long identifier for this argument. It may
not be null
if the short identifier is
null
.isRequired
- Indicates whether this argument is required to
be provided.maxOccurrences
- The maximum number of times this argument may be
provided on the command line. A value less than
or equal to zero indicates that it may be present
any number of times.valuePlaceholder
- A placeholder to display in usage information to
indicate that a value must be provided. It must
not be null
.description
- A human-readable description for this argument.
It must not be null
.ArgumentException
- If there is a problem with the definition of
this argument.public FileArgument(java.lang.Character shortIdentifier, java.lang.String longIdentifier, boolean isRequired, int maxOccurrences, java.lang.String valuePlaceholder, java.lang.String description, boolean fileMustExist, boolean parentMustExist, boolean mustBeFile, boolean mustBeDirectory) throws ArgumentException
shortIdentifier
- The short identifier for this argument. It may
not be null
if the long identifier is
null
.longIdentifier
- The long identifier for this argument. It may
not be null
if the short identifier is
null
.isRequired
- Indicates whether this argument is required to
be provided.maxOccurrences
- The maximum number of times this argument may be
provided on the command line. A value less than
or equal to zero indicates that it may be present
any number of times.valuePlaceholder
- A placeholder to display in usage information to
indicate that a value must be provided. It must
not be null
.description
- A human-readable description for this argument.
It must not be null
.fileMustExist
- Indicates whether each value must refer to a file
that exists.parentMustExist
- Indicates whether each value must refer to a file
whose parent directory exists.mustBeFile
- Indicates whether each value must refer to a
regular file, if it exists.mustBeDirectory
- Indicates whether each value must refer to a
directory, if it exists.ArgumentException
- If there is a problem with the definition of
this argument.public FileArgument(java.lang.Character shortIdentifier, java.lang.String longIdentifier, boolean isRequired, int maxOccurrences, java.lang.String valuePlaceholder, java.lang.String description, boolean fileMustExist, boolean parentMustExist, boolean mustBeFile, boolean mustBeDirectory, java.util.List<java.io.File> defaultValues) throws ArgumentException
shortIdentifier
- The short identifier for this argument. It may
not be null
if the long identifier is
null
.longIdentifier
- The long identifier for this argument. It may
not be null
if the short identifier is
null
.isRequired
- Indicates whether this argument is required to
be provided.maxOccurrences
- The maximum number of times this argument may be
provided on the command line. A value less than
or equal to zero indicates that it may be present
any number of times.valuePlaceholder
- A placeholder to display in usage information to
indicate that a value must be provided. It must
not be null
.description
- A human-readable description for this argument.
It must not be null
.fileMustExist
- Indicates whether each value must refer to a file
that exists.parentMustExist
- Indicates whether each value must refer to a file
whose parent directory exists.mustBeFile
- Indicates whether each value must refer to a
regular file, if it exists.mustBeDirectory
- Indicates whether each value must refer to a
directory, if it exists.defaultValues
- The set of default values to use for this
argument if no values were provided.ArgumentException
- If there is a problem with the definition of
this argument.public boolean fileMustExist()
true
if the target files must exist, or false
if
it is acceptable for values to refer to files that do not exist.public boolean parentMustExist()
true
if the parent directory for target files must exist,
or false
if it is acceptable for values to refer to files
whose parent directories do not exist.public boolean mustBeFile()
true
if each value must refer to a regular file (if it
exists), or false
if it may refer to a directory.public boolean mustBeDirectory()
true
if each value must refer to a directory (if it
exists), or false
if it may refer to a regular file.public java.util.List<java.io.File> getDefaultValues()
null
if
there are no default values.public java.io.File getRelativeBaseDirectory()
null
if relative paths will be relative to the
current working directory.public void setRelativeBaseDirectory(java.io.File relativeBaseDirectory)
relativeBaseDirectory
- The directory that will serve as the base
directory for relative paths. It may be
null
if relative paths should be
relative to the current working directory.protected void addValue(java.lang.String valueString) throws ArgumentException
addValue
in class Argument
valueString
- The string representation of the value.ArgumentException
- If the provided value is not acceptable, if
this argument does not accept values, or if
this argument already has the maximum allowed
number of values.public java.io.File getValue()
null
if there is no value and no default
value.public java.util.List<java.io.File> getValues()
public java.util.List<java.lang.String> getFileLines() throws java.io.IOException
null
if
no values were provided.java.io.IOException
- If the specified file does not exist or a problem
occurs while reading the contents of the file.public java.util.List<java.lang.String> getNonBlankFileLines() throws java.io.IOException
null
if no values were provided.java.io.IOException
- If the specified file does not exist or a problem
occurs while reading the contents of the file.public byte[] getFileBytes() throws java.io.IOException
null
if no values were provided.java.io.IOException
- If the specified file does not exist or a problem
occurs while reading the contents of the file.protected boolean hasDefaultValue()
hasDefaultValue
in class Argument
true
if this argument has one or more default values, or
false
if not.public java.lang.String getDataTypeName()
getDataTypeName
in class Argument
public java.lang.String getValueConstraints()
getValueConstraints
in class Argument
null
if there are none.public FileArgument getCleanCopy()
getCleanCopy
in class Argument