|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjcmdline.AbstractParameter<java.io.File>
jcmdline.FileParam
public class FileParam
Encapsulate a command line parameter whose value will be the name of a file or directory. Attributes, such as whether the value is to be a file or directory, whether it must be readable, etc, may be specified and will be validated.
Usage:
public static void main(String[] args) {
FileParam filesArg =
new FileParam("file",
"a file to be processed - defaults to stdin",
FileParam.IS_FILE & FileParam.IS_READABLE,
FileParam.OPTIONAL,
FileParam.MULTI_VALUED);
CmdLineHandler cl =
new VersionCmdLineHandler("V 1.0",
"echoFiles",
"echos specified files to stdout",
new Parameter[] {},
new Parameter[] { filesArg } ));
cl.parse(args);
if (filesArg.isSet()) {
for (File f : filesArg.getValues()) {
processStream(new FileInputStream(f);
}
} else {
processStream(System.in);
}
}
CmdLineParser| Field Summary | |
|---|---|
static java.lang.String |
DEFAULT_DIR_OPTION_LABEL
the default label that will represent option values for this Parameter where IS_DIR is set. |
static java.lang.String |
DEFAULT_FILE_OPTION_LABEL
the default label that will represent option values for this Parameter where IS_DIR is not set. |
static int |
DOESNT_EXIST
indicates that a file or directory specified as a value for this FileParam must not exist |
static int |
EXISTS
indicates that a file or directory specified as a value for this FileParam must exist |
static int |
IS_DIR
indicates that a value specified for this FileParam must name an existing directory |
static int |
IS_FILE
indicates that a value specified for this FileParam must name an existing file |
static int |
IS_READABLE
indicates that a value specified for this FileParam must name an existing file or directory for which the caller has read access |
static int |
IS_WRITEABLE
indicates that a value specified for this FileParam must name an existing file or directory for which the caller has write access |
static int |
NO_ATTRIBUTES
indicates that no file/dir attributes are required or will be checked |
| Fields inherited from class jcmdline.AbstractParameter |
|---|
acceptableValues, desc, hidden, ignoreRequired, multiValued, optional, optionLabel, set, tag, values |
| Fields inherited from interface jcmdline.Parameter |
|---|
HIDDEN, MULTI_VALUED, OPTIONAL, PUBLIC, REQUIRED, SINGLE_VALUED |
| Constructor Summary | |
|---|---|
FileParam(java.lang.String tag,
java.lang.String desc)
constructor - creates single-valued, optional, public parameter which accepts any valid file or directory name as its value |
|
FileParam(java.lang.String tag,
java.lang.String desc,
boolean optional)
constructor - creates single-valued, public parameter which accepts any valid file or directory name as its value and is optional or required, as specified. |
|
FileParam(java.lang.String tag,
java.lang.String desc,
int attributes)
constructor - creates a single-valued, optional, public, parameter accepts a file or directory name with the specified attributes. |
|
FileParam(java.lang.String tag,
java.lang.String desc,
int attributes,
boolean optional)
constructor - creates a single-valued, public, parameter that accepts a file or directory name with the specified attributes, and which is required or optional, as specified. |
|
FileParam(java.lang.String tag,
java.lang.String desc,
int attributes,
boolean optional,
boolean multiValued)
constructor - creates a public parameter that accepts a file or directory name with the specified attributes, and which is required or optional and/or multi-valued, as specified. |
|
FileParam(java.lang.String tag,
java.lang.String desc,
int attributes,
boolean optional,
boolean multiValued,
boolean hidden)
constructor - creates a parameter that accepts a file or directory name with the specified attributes, and which is required or optional and/or multi-valued or hidden, as specified. |
|
| Method Summary | |
|---|---|
boolean |
attrSpecified(int attr)
Indicates whether an attribute has been specified for this FileParam. |
java.io.File |
convertValue(java.lang.String strVal)
Converts a String value to the type associated with the Parameter. |
int |
getAttributes()
gets the value of attributes |
void |
setAttributes(int attributes)
Sets the value of attributes. |
void |
validateValue(java.io.File f)
Validates a prospective value for the FileParam - called by add/setValue(s)(). |
| Methods inherited from class jcmdline.AbstractParameter |
|---|
addStringValue, addValue, getAcceptableValues, getDesc, getIgnoreRequired, getOptionLabel, getTag, getValue, getValues, isHidden, isMultiValued, isOptional, isSet, setAcceptableValues, setAcceptableValues, setDesc, setHidden, setIgnoreRequired, setMultiValued, setOptional, setOptionLabel, setTag, setValue, setValues, setValues |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String DEFAULT_DIR_OPTION_LABEL
IS_DIR is set. The following demonstrates a possible usage
for a FileParam option, where the option label is '<dir>':
out <dir> the directory in which files will be created
setOptionLabel(),
"FileParam.defaultDirOptionLabel in 'strings' properties
file"public static final java.lang.String DEFAULT_FILE_OPTION_LABEL
IS_DIR is not set. The following demonstrates a
possible usage for a FileParam option, where the option label is
'<file>':
out <file> the output file
setOptionLabel(),
"FileParam.defaultFileOptionLabel in 'strings' properties
file"public static final int DOESNT_EXIST
setAttributes(),
Constant Field Valuespublic static final int EXISTS
setAttributes(),
Constant Field Valuespublic static final int IS_DIR
setAttributes(),
Constant Field Valuespublic static final int IS_FILE
setAttributes(),
Constant Field Valuespublic static final int IS_READABLE
setAttributes(),
Constant Field Valuespublic static final int IS_WRITEABLE
setAttributes(),
Constant Field Valuespublic static final int NO_ATTRIBUTES
setAttributes(),
Constant Field Values| Constructor Detail |
|---|
public FileParam(java.lang.String tag,
java.lang.String desc)
tag - a unique identifier for this parameterdesc - a description of the parameter, suitable for display in a
usage statement
java.lang.IllegalArgumentException - if tag or setTag(),
setDesc()
public FileParam(java.lang.String tag,
java.lang.String desc,
boolean optional)
tag - a unique identifier for this parameterdesc - a description of the parameter, suitable for display in a
usage statementoptional - OPTIONAL if optional,
REQUIRED if required
java.lang.IllegalArgumentException - if any of the specified parameters are invalid.setTag(),
setDesc(),
OPTIONAL,
REQUIRED
public FileParam(java.lang.String tag,
java.lang.String desc,
int attributes)
tag - a unique identifier for this parameterdesc - a description of the parameter, suitable for display in a
usage statementattributes - the attributes that must apply to a file or directory
specified as a value to this FileParam
java.lang.IllegalArgumentException - if any parameter is invalid.setTag(),
setDesc(),
setAttributes()
public FileParam(java.lang.String tag,
java.lang.String desc,
int attributes,
boolean optional)
tag - a unique identifier for this parameterdesc - a description of the parameter, suitable for display in a
usage statementattributes - the attributes that must apply to a file or directory
specified as a value to this FileParamoptional - OPTIONAL if optional,
REQUIRED if required
java.lang.IllegalArgumentException - if any parameter is invalid.setTag(),
setDesc(),
setAttributes(),
OPTIONAL,
REQUIRED
public FileParam(java.lang.String tag,
java.lang.String desc,
int attributes,
boolean optional,
boolean multiValued)
tag - a unique identifier for this parameterdesc - a description of the parameter, suitable for display in a
usage statementattributes - the attributes that must apply to a file or directory
specified as a value to this FileParamoptional - OPTIONAL if optional,
REQUIRED if requiredmultiValued - MULTI_VALUED if the parameter
can accept multiple values, SINGLE_VALUED if the parameter can contain only a single
value
java.lang.IllegalArgumentException - if any parameter is invalid.setTag(),
setDesc(),
setAttributes(),
OPTIONAL,
REQUIRED,
SINGLE_VALUED,
MULTI_VALUED
public FileParam(java.lang.String tag,
java.lang.String desc,
int attributes,
boolean optional,
boolean multiValued,
boolean hidden)
If the IS_DIR attribute is specified, the option label for
this FileParam will be set to DEFAULT_DIR_OPTION_LABEL, else it
will be DEFAULT_FILE_OPTION_LABEL.
tag - a unique identifier for this parameterdesc - a description of the parameter, suitable for display in a
usage statementattributes - the attributes that must apply to a file or directory
specified as a value to this FileParamoptional - OPTIONAL if optional,
REQUIRED if requiredmultiValued - MULTI_VALUED if the parameter
can accept multiple values, SINGLE_VALUED if the parameter can contain only a single
valuehidden - HIDDEN if parameter is not to be
listed in the usage, PUBLIC
otherwise.
java.lang.IllegalArgumentException - if any parameter is invalid.setTag(),
setDesc(),
setOptionLabel(),
setAttributes(),
OPTIONAL,
REQUIRED,
SINGLE_VALUED,
MULTI_VALUED,
HIDDEN,
PUBLIC| Method Detail |
|---|
public boolean attrSpecified(int attr)
attr - one of NO_ATTRIBUTES, EXISTS,
DOESNT_EXIST, IS_DIR, IS_FILE,
IS_READABLE, or IS_WRITEABLE
true if the attribute is set, false if
the attribute is not set or attr is not a valid
attribute
public java.io.File convertValue(java.lang.String strVal)
throws CmdLineException
AbstractParameter
convertValue in class AbstractParameter<java.io.File>strVal - the String value of the Parameter
CmdLineException - if the conversion cannot be madeAbstractParameter.convertValue(java.lang.String)public int getAttributes()
setAttributes()public void setAttributes(int attributes)
FileParam fp = new FileParam("tempDir",
"a directory in which temporary files can be stored", FileParam.IS_DIR
& FileParam.IS_WRITEABLE);
In this case, a valid parameter value would have to be both a directory
and writeable.
Specify NO_ATTRIBUTES if none of the other attributes is
required.
attributes - a combination of NO_ATTRIBUTES, EXISTS,
DOESNT_EXIST, IS_DIR, IS_FILE,
IS_READABLE, and IS_WRITEABLE
java.lang.IllegalArgumentException - if the attributes value is invalid.getAttributes()
public void validateValue(java.io.File f)
throws CmdLineException
validateValue in class AbstractParameter<java.io.File>f - the value to validate
CmdLineException - if f is not valid.setAttributes()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||