Class Ask

java.lang.Object
org.jcsp.demos.util.Ask

public class Ask extends Object
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    private static class 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static Container
     
    private static String
     
    private static BufferedReader
     
    private static InputStreamReader
    This Ask class contains a set of static methods for safe interactive input of individual primitive types.
    private static boolean
    If oneTokenReply, extra tokens in replies cause the input to be rejected.
    private static Hashtable
     
    private static String
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    Ask()
    Don't allow any instances!
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    addPrompt(String prompt)
     
    static void
    addPrompt(String prompt, int min, int max, int def)
     
    static void
    app(String prompt, String description)
     
    static void
     
    static boolean
    Boolean(String prompt)
    Ask.Boolean issues the prompt and returns a boolean depending on the first non-white-space character typed.
    static byte
    Byte(String prompt, byte min, byte max)
    Ask.Byte issues the prompt and returns a byte between min and max inclusive.
    static char
    Char(String prompt, char[] valid)
    Ask.Char issues the prompt and returns a char depending on the first non-white-space character typed.
    static double
    Double(String prompt, double min, double max)
    Ask.Double issues the prompt and returns a double between min and max inclusive.
    static float
    Float(String prompt, float min, float max)
    Ask.Float issues the prompt and returns a float between min and max inclusive.
    static boolean
    Ask.getOneTokenReply returns whether multiple response tokens will be rejected.
    static int
    Int(String prompt, int min, int max)
    Ask.Int issues the prompt and returns an int between min and max inclusive.
    static long
    Long(String prompt, long min, long max)
    Ask.Long issues the prompt and returns an long between min and max inclusive.
    static int
    readInt(String prompt)
     
    static String
    readStr(String prompt)
     
    static void
    setOneTokenReply(boolean b)
    Ask.setOneTokenReply (true) specifies that more than one token in the user reply will be rejected, even if the first token is valid.
    static short
    Short(String prompt, short min, short max)
    Ask.Short issues the prompt and returns a short between min and max inclusive.
    static void
     
    static String
    string(String prompt)
    Ask.string issues the prompt and returns the String that is typed.
    static void
    Void(String prompt)
    Ask.Void issues the prompt and returns when is pressed.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • buttonContainer

      private static Container buttonContainer
    • prompts

      private static Hashtable prompts
    • title

      private static String title
    • descr

      private static String descr
    • isr

      private static InputStreamReader isr
      This Ask class contains a set of static methods for safe interactive input of individual primitive types. They will not return until an acceptable answer has been entered. The implementation techniques draw on those in the `Java Gently' textbook by Judy Bishop.
    • in

      private static BufferedReader in
    • oneTokenReply

      private static boolean oneTokenReply
      If oneTokenReply, extra tokens in replies cause the input to be rejected.
  • Constructor Details

    • Ask

      private Ask()
      Don't allow any instances!
  • Method Details

    • app

      public static void app(String prompt, String description)
    • addPrompt

      public static void addPrompt(String prompt, int min, int max, int def)
    • addPrompt

      public static void addPrompt(String prompt)
    • readInt

      public static int readInt(String prompt)
    • readStr

      public static String readStr(String prompt)
    • show

      public static void show()
    • blank

      public static void blank()
    • Int

      public static int Int(String prompt, int min, int max)
      Ask.Int issues the prompt and returns an int between min and max inclusive. Keyboard errors in typing the reply are all trapped. The method will not return until a valid int has been entered in the indicated range.
      Parameters:
      prompt - the string used to prompt for input.
      min - user input must have a value >= min.
      max - user input must have a value invalid input: '<'= max.
      Returns:
      user input complying with the rules.
    • Long

      public static long Long(String prompt, long min, long max)
      Ask.Long issues the prompt and returns an long between min and max inclusive. Keyboard errors in typing the reply are all trapped. The method will not return until a valid long has been entered in the indicated range.
      Parameters:
      prompt - the string used to prompt for input.
      min - user input must have a value >= min.
      max - user input must have a value invalid input: '<'= max.
      Returns:
      user input complying with the rules.
    • Byte

      public static byte Byte(String prompt, byte min, byte max)
      Ask.Byte issues the prompt and returns a byte between min and max inclusive. Keyboard errors in typing the reply are all trapped. The method will not return until a valid byte has been entered in the indicated range.
      Parameters:
      prompt - the string used to prompt for input.
      min - user input must have a value >= min.
      max - user input must have a value invalid input: '<'= max.
      Returns:
      user input complying with the rules.
    • Short

      public static short Short(String prompt, short min, short max)
      Ask.Short issues the prompt and returns a short between min and max inclusive. Keyboard errors in typing the reply are all trapped. The method will not return until a valid short has been entered in the indicated range.
      Parameters:
      prompt - the string used to prompt for input.
      min - user input must have a value >= min.
      max - user input must have a value invalid input: '<'= max.
      Returns:
      user input complying with the rules.
    • Float

      public static float Float(String prompt, float min, float max)
      Ask.Float issues the prompt and returns a float between min and max inclusive. Keyboard errors in typing the reply are all trapped. The method will not return until a valid float has been entered in the indicated range.
      Parameters:
      prompt - the string used to prompt for input.
      min - user input must have a value >= min.
      max - user input must have a value invalid input: '<'= max.
      Returns:
      user input complying with the rules.
    • Double

      public static double Double(String prompt, double min, double max)
      Ask.Double issues the prompt and returns a double between min and max inclusive. Keyboard errors in typing the reply are all trapped. The method will not return until a valid double has been entered in the indicated range.
      Parameters:
      prompt - the string used to prompt for input.
      min - user input must have a value >= min.
      max - user input must have a value invalid input: '<'= max.
      Returns:
      user input complying with the rules.
    • Boolean

      public static boolean Boolean(String prompt)
      Ask.Boolean issues the prompt and returns a boolean depending on the first non-white-space character typed. 'y' or 'Y' cause true to be returned, while 'n' or 'N' cause false to be returned. Anything else is rejected.
      Parameters:
      prompt - the string used to prompt for input.
      Returns:
      whether the user typed yes or no (according to the above rules).
    • Char

      public static char Char(String prompt, char[] valid)
      Ask.Char issues the prompt and returns a char depending on the first non-white-space character typed. This character must be one in the valid character array. Anything else is rejected.
      Parameters:
      prompt - the string used to prompt for input.
      valid - the array of characters defining valid user responses.
      Returns:
      user input complying with the rules.
    • Void

      public static void Void(String prompt)
      Ask.Void issues the prompt and returns when is pressed.
      Parameters:
      prompt - the string used to prompt for a .
    • string

      public static String string(String prompt)
      Ask.string issues the prompt and returns the String that is typed.
      Parameters:
      prompt - the string used to prompt for input.
      Returns:
      whatever the user inputs.
    • setOneTokenReply

      public static void setOneTokenReply(boolean b)
      Ask.setOneTokenReply (true) specifies that more than one token in the user reply will be rejected, even if the first token is valid. This is the default condition for this class.

      Ask.setOneTokenReply (false) specifies that multiple tokens are allowed, but that only the first will be processed.

      The false allows user input to be documented with comments (in the second and following tokens) explaining the meaning of the first token, which contains the actual data. This is useful when preparing user input as a file, from which the standard input stream will later be redirected, so that each line of input can be documented.

      Parameters:
      b - if true, the response must consist of a single token - otherwise, multiple tokens are allowed but only the first will be processed.
    • getOneTokenReply

      public static boolean getOneTokenReply()
      Ask.getOneTokenReply returns whether multiple response tokens will be rejected.
      Returns:
      whether multiple response tokens will be rejected.