Package com.sun.interview
Class FileListQuestion
java.lang.Object
com.sun.interview.Question
com.sun.interview.FileListQuestion
A
question
to which the response is one or more filenames.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected File[]
The current (default or latest) response to this question. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
FileListQuestion
(Interview interview, String tag) Create a question with a nominated tag. -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clear any response to this question, resetting the value back to its initial state.protected static boolean
Determine if two arrays of filenames are equal.Get the default directory for files for a response to this question.File[]
Get the default response for this question.Get the filters used to select valid files for a response to this question.A set of filters to help users locate the right file/dir.Get the response to this question as a string.File[]
getValue()
Get the current (default or latest) response to this question.File[]
Verify this question is on the current path, and if it is, return the current value.boolean
Determine whether all valid responses to this question should be relative to the base directory (i.e.boolean
Check whether or not duplicates should be allowed in the list.boolean
Check if the question always has a valid response.boolean
Simple validation, upgrade if needed.static String
Convert a list of filenames to a newline separated string.protected void
Load the value for this question from a dictionary, using the tag as the key.protected void
Save the value for this question in a dictionary, using the tag as the key.void
setBaseDirectory
(File dir) Set the default directory for files for a response to this question.void
setBaseRelativeOnly
(boolean b) Specify whether all valid responses to this question should be relative to the base directory (i.e.void
setDefaultValue
(File... v) Set the default response for this question, used by the clear method.void
setDuplicatesAllowed
(boolean b) Specify whether or not duplicates should be allowed in the list.void
setFilter
(FileFilter filter) Set a filter used to select valid files for a response to this question.void
setFilters
(FileFilter... fs) Set the filters used to select valid files for a response to this question.void
setHintFilters
(FileFilter... fs) Set the filters which the user can use to help find files among a list of files - this is somewhat exposing of the fact that there is a user interface.void
Set the current value.void
Set the response to this question to the value represented by a string-valued argument.static File[]
Break apart a string containing a white-space separate list of file names into an array of individual files.Methods inherited from class com.sun.interview.Question
addMarker, equals, export, getChecklistItems, getHelpID, getImage, getInterview, getKey, getNext, getResourceString, getResourceString, getSummary, getTag, getText, getTextArgs, hashCode, hasMarker, isEnabled, isHidden, reload, removeMarker, setHelpID, setImage, setImage, setSummary, setText
-
Field Details
-
value
The current (default or latest) response to this question.
-
-
Constructor Details
-
FileListQuestion
Create a question with a nominated tag.- Parameters:
interview
- The interview containing this question.tag
- A unique tag to identify this specific question.
-
-
Method Details
-
split
Break apart a string containing a white-space separate list of file names into an array of individual files. If the string is null or empty, an empty array is returned. The preferred separator is a newline character; if there are no newline characters in the string, then (for backward compatibility) space is accepted instead.- Parameters:
s
- The string to be broken apart- Returns:
- An array of files determined from the parameter string.
- See Also:
-
join
Convert a list of filenames to a newline separated string.- Parameters:
ff
- an array of filenames- Returns:
- a string containing the filenames separated by newline characters. If there is just one filename, and if it contains space characters in its path, the list is terminated by a newline as well. If the parameter array is null or empty, an empty string is returned.
- See Also:
-
equal
Determine if two arrays of filenames are equal.- Parameters:
f1
- the first array to be comparedf2
- the other array to be compared- Returns:
- true if both arrays are null, or if neither are null and if their contents match, element for element, in order
-
getDefaultValue
Get the default response for this question.- Returns:
- the default response for this question.
- See Also:
-
setDefaultValue
Set the default response for this question, used by the clear method.- Parameters:
v
- the default response for this question.- See Also:
-
isDuplicatesAllowed
public boolean isDuplicatesAllowed()Check whether or not duplicates should be allowed in the list.- Returns:
- true if duplicates should be allowed, and false otherwise
- See Also:
-
setDuplicatesAllowed
public void setDuplicatesAllowed(boolean b) Specify whether or not duplicates should be allowed in the list. By default, duplicates are allowed.- Parameters:
b
- true if duplicates should be allowed, and false otherwise- See Also:
-
getValue
Get the current (default or latest) response to this question.- Returns:
- The current value.
- See Also:
-
setValue
Set the response to this question to the value represented by a string-valued argument. -
setValue
Set the current value.- Parameters:
newValue
- The value to be set.- See Also:
-
getValueOnPath
Verify this question is on the current path, and if it is, return the current value.- Returns:
- the current value of this question
- Throws:
Interview.NotOnPathFault
- if this question is not on the current path- See Also:
-
getStringValue
Description copied from class:Question
Get the response to this question as a string.- Specified by:
getStringValue
in classQuestion
- Returns:
- a string representing the current response to this question, or null.
- See Also:
-
isValueValid
public boolean isValueValid()Simple validation, upgrade if needed. Iterates values, checks against filters, except if interview semantics are set to an pre-50 version, in which case true is always returned. Using semantics greater than 50 is highly recommended and recommended if an old interview is being modernized.- Specified by:
isValueValid
in classQuestion
- Returns:
- False if any values are rejected by filters, true otherwise. True if there are no values or no filters.
- See Also:
-
isValueAlwaysValid
public boolean isValueAlwaysValid()Description copied from class:Question
Check if the question always has a valid response. This may be true, for example, for a choice question with a default response.- Specified by:
isValueAlwaysValid
in classQuestion
- Returns:
- true if the question always has a valid response, and false otherwise.
-
getFilters
Get the filters used to select valid files for a response to this question.- Returns:
- An array of filters
- See Also:
-
setFilters
Set the filters used to select valid files for a response to this question. For pre-50 behavior, both the filters and the hint filter values are treated the same, and neither is used for validation (e.g.isValid()
.- Parameters:
fs
- An array of filters used to select valid files for a response to this question- See Also:
-
setFilter
Set a filter used to select valid files for a response to this question.- Parameters:
filter
- a filter used to select valid files for a response to this question- See Also:
-
getHintFilters
A set of filters to help users locate the right file/dir. These filters are not used for validating the question value.- Since:
- 5.0
- See Also:
-
setHintFilters
Set the filters which the user can use to help find files among a list of files - this is somewhat exposing of the fact that there is a user interface. This should not be confused with setFilters(), which in version 5.0 or later of the harness, are used to do validity checks on the actual value (e.g.. inisValid()
.- Parameters:
fs
- Filters which might be offered to the user.- Since:
- 5.0
- See Also:
-
getBaseDirectory
Get the default directory for files for a response to this question.- Returns:
- the default directory in which files should be found/placed
- See Also:
-
setBaseDirectory
Set the default directory for files for a response to this question.- Parameters:
dir
- the default directory in which files should be found/placed- See Also:
-
isBaseRelativeOnly
public boolean isBaseRelativeOnly()Determine whether all valid responses to this question should be relative to the base directory (i.e. in or under it.)- Returns:
- true if all valid responses to this question should be relative to the base directory
- See Also:
-
setBaseRelativeOnly
public void setBaseRelativeOnly(boolean b) Specify whether all valid responses to this question should be relative to the base directory (i.e. in or under it.)- Parameters:
b
- this parameter should be true if all valid responses to this question should be relative to the base directory
-
clear
public void clear()Clear any response to this question, resetting the value back to its initial state. -
load
Load the value for this question from a dictionary, using the tag as the key. -
save
Save the value for this question in a dictionary, using the tag as the key.
-