Class TreeQuestion

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

public abstract class TreeQuestion extends Question
A question to which the response is a set of selected nodes within a tree. The nodes are identified by their paths.
  • Field Details

    • value

      protected String[] value
      The current response for this question.
  • Constructor Details

    • TreeQuestion

      protected TreeQuestion(Interview interview, String tag, TreeQuestion.Model model)
      Create a tree question with a nominated tag and tree model.
      Parameters:
      interview - The interview containing this question.
      tag - A unique tag to identify this specific question.
      model - The tree model to which the question's path values relate.
  • Method Details

    • split

      public static String[] split(String s)
    • join

      public static String join(String... paths)
    • white

      public static boolean white(char c)
    • getModel

      public TreeQuestion.Model getModel()
      Get the tree model to which the question's path values relate.
      Returns:
      the tree model to which the question's path values relate
    • getDefaultValue

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

      public void setDefaultValue(String... 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 String[] getValue()
      Get the current (default or latest) response to this question. The strings should each represent valid paths to nodes within the tree represented by the tree model.
      Returns:
      the current value for this question
      See Also:
    • setValue

      public void setValue(String newValue)
      Description copied from class: Question
      Set the response to this question to the value represented by a string-valued argument. Subtypes of Question will typically have type-specific methods to set the value as well.
      Specified by:
      setValue in class Question
      Parameters:
      newValue - A string containing a value value appropriate for the particular type of question whose value is being set.
      See Also:
    • setValue

      public void setValue(String... newValue)
      Set the current response to this question.
      Parameters:
      newValue - a set of strings (or null if none), representing paths to nodes within the tree represented by the tree model
      See Also:
    • setValue

      public void setValue(Object... nodes)
      Set the current response to this question. The response is set to the paths of a set of specified nodes within the tree represented by the tree model.
      Parameters:
      nodes - a set of nodes (or null if none) within the tree represented by the tree model, whose paths will be set as the current response to the question
      See Also:
    • getValueOnPath

      public String[] 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.
    • 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.