Class IntQuestion

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

public abstract class IntQuestion extends Question
A question to which the response is an integer.
  • Field Details

    • value

      protected int value
      The current response for this question. MIN_VALUE is reserved as an integer NotANumber. This field should be treated as read-only. Use setValue to change the value.
    • suggestions

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

    • IntQuestion

      protected IntQuestion(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.
    • IntQuestion

      protected IntQuestion(Interview interview, String tag, int min, int max)
      Create a question with a nominated tag.
      Parameters:
      interview - The interview containing this question.
      tag - A unique tag to identify this specific question.
      min - The inclusive lower bound for responses to this question
      max - The inclusive upper bound for responses to this question
      Throws:
      IllegalArgumentException - if min is greater than or equal to max.
  • Method Details

    • setBounds

      protected void setBounds(int min, int max)
      Set the bounds for the response to this question. If the current value is valid and not within bounds, it will be adjusted to the nearest bound.
      Parameters:
      min - The inclusive lower bound for responses to this question
      max - The inclusive upper bound for responses to this question
      Throws:
      IllegalArgumentException - if min is greater than or equal to max.
    • getLowerBound

      public int getLowerBound()
      Get the inclusive lower bound for responses to this question.
      Returns:
      the lower bound
    • getUpperBound

      public int getUpperBound()
      Get the inclusive upper bound for responses to this question.
      Returns:
      the upper bound
    • getSuggestions

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

      public void setSuggestions(int... newSuggestions)
      Set the set of suggested responses.
      Parameters:
      newSuggestions - The values to be set, or null if none
      See Also:
    • getDefaultValue

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

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

      @Deprecated public boolean isValid()
      Deprecated.
      see #isValueValid
      Check if the value is set. Unset values are represented by the special value Integer.MIN_VALUE.
      Returns:
      true if a value has been set for this question and is within the specified bounds
      See Also:
    • getValue

      public int getValue()
      Get the current (default or latest) response to this question. If the value is unset, the result will be Integer.MIN_VALUE.
      Returns:
      The current value.
      See Also:
    • setValue

      public void setValue(String s) throws Interview.Fault
      Set the response to this question to the value represented by a string-valued argument. Argument is decoded against current locale.
      Specified by:
      setValue in class Question
      Parameters:
      s - A string containing the numeric value to be set. The number should be in the range of valid values defined for this question; if it is not, the value will be retained, but isValueValid() will return false.
      Throws:
      Interview.Fault - This exception is just retained for backwards compatibility; it should never actually be thrown.
      See Also:
    • setValue

      public void setValue(int newValue)
      Set the current value.
      Parameters:
      newValue - The value to be set. It should be in the range of valid values defined for this question.
      See Also:
    • getValueOnPath

      public int 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:
    • setValue

      public void setValue(String s, Locale l)
      Set the response to this question to the value represented by a string-valued argument, given in certain locale.
      Parameters:
      s - A string containing the numeric value to be set. The number should be in the range of valid values defined for this question; if it is not, the value will be retained, but isValueValid() will return false.
      l - A locale that should be used to decode numeric value from given string parameter
      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.
    • setLabelHints

      protected void setLabelHints(int start, int increment)
      Set hints for the rendering system for the values that might be labelled.
      Parameters:
      start - The lowest value to be labelled
      increment - The increment for successive labels
    • getLabelStartHint

      public int getLabelStartHint()
      Get a hint for the rendering system for the lowest value that might be labelled.
      Returns:
      The lowest value that might be labelled.
    • getLabelIncrementHint

      public int getLabelIncrementHint()
      Get a hint for the rendering system for the increment between labels.
      Returns:
      The increment between values that might be labelled.
    • 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.