Class FileQuestion

java.lang.Object
com.sun.interview.Question
com.sun.interview.FileQuestion

public abstract class FileQuestion extends Question
A question to which the response is a filename.
  • Field Details

    • value

      protected File value
      The current (default or latest) response to this question.
    • suggestions

      protected File[] suggestions
      Suggested values for this question.
  • Constructor Details

    • FileQuestion

      protected FileQuestion(Interview interview, String tag)
      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

    • equal

      protected static boolean equal(File f1, File f2)
      Determine if two filenames are equal.
      Parameters:
      f1 - the first filename to be compared
      f2 - the other filename to be compared
      Returns:
      true if both filenames are null, or if both identify the same filename
    • getSuggestions

      public File[] getSuggestions()
      Get the suggested responses to this question, or null if none.
      Returns:
      The suggestions.
      See Also:
    • setSuggestions

      public void setSuggestions(File... newSuggestions)
      Set the set of suggested responses.
      Parameters:
      newSuggestions - The values to be set, or null if none
      Throws:
      IllegalArgumentException - if any of the values in the array are null
      See Also:
    • getDefaultValue

      public File getDefaultValue()
      Get the default response for this question.
      Returns:
      the default response for this question.
      See Also:
    • setDefaultValue

      public void setDefaultValue(File v)
      Set the default response for this question, used by the clear method.
      Parameters:
      v - the default response for this question.
      See Also:
    • getValue

      public File getValue()
      Get the current (default or latest) response to this question.
      Returns:
      The current value.
      See Also:
    • setValue

      public void setValue(String path)
      Set the response to this question to the value represented by a string-valued argument.
      Specified by:
      setValue in class Question
      Parameters:
      path - A string containing a value value appropriate for the particular type of question whose value is being set.
      See Also:
    • setValue

      public void setValue(File newValue)
      Set the current value.
      Parameters:
      newValue - The value to be set.
      See Also:
    • getValueOnPath

      public File getValueOnPath() throws Interview.NotOnPathFault
      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

      public String getStringValue()
      Description copied from class: Question
      Get the response to this question as a string.
      Specified by:
      getStringValue in class Question
      Returns:
      a string representing the current response to this question, or null.
      See Also:
    • isValueValid

      public boolean isValueValid()
      Description copied from class: Question
      Check if the question currently has a valid response.
      Specified by:
      isValueValid in class Question
      Returns:
      true if the question currently has a valid response, and false otherwise.
    • 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 class Question
      Returns:
      true if the question always has a valid response, and false otherwise.
    • getFilters

      public FileFilter[] getFilters()
      Get the filters used to select valid files for a response to this question.
      Returns:
      An array of filters
      See Also:
    • setFilters

      public void setFilters(FileFilter... filters)
      Set the filters used to select valid files for a response to this question.
      Parameters:
      filters - An array of filters used to select valid files for a response to this question
      See Also:
    • setFilter

      public void setFilter(FileFilter filter)
      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:
    • getBaseDirectory

      public File 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

      public void setBaseDirectory(File dir)
      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.) False by default.
      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 (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.
      Specified by:
      clear in class Question
    • load

      protected void load(Map<String,String> data)
      Load the value for this question from a dictionary, using the tag as the key.
      Overrides:
      load in class Question
      Parameters:
      data - The map from which to load the value for this question.
    • save

      protected void save(Map<String,String> data)
      Save the value for this question in a dictionary, using the tag as the key.
      Specified by:
      save in class Question
      Parameters:
      data - The map in which to save the value for this question.