Package org.jcsp.demos.util
Class Ask
java.lang.Object
org.jcsp.demos.util.Ask
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate 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 -
Method Summary
Modifier and TypeMethodDescriptionstatic void
static void
static void
static void
blank()
static boolean
Ask.Boolean issues the prompt and returns a boolean depending on the first non-white-space character typed.static byte
Ask.Byte issues the prompt and returns a byte between min and max inclusive.static char
Ask.Char issues the prompt and returns a char depending on the first non-white-space character typed.static double
Ask.Double issues the prompt and returns a double between min and max inclusive.static float
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
Ask.Int issues the prompt and returns an int between min and max inclusive.static long
Ask.Long issues the prompt and returns an long between min and max inclusive.static int
static String
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
Ask.Short issues the prompt and returns a short between min and max inclusive.static void
show()
static String
Ask.string issues the prompt and returns the String that is typed.static void
Ask.Void issues the prompt and returns whenis pressed.
-
Field Details
-
buttonContainer
-
prompts
-
title
-
descr
-
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
-
oneTokenReply
private static boolean oneTokenReplyIf oneTokenReply, extra tokens in replies cause the input to be rejected.
-
-
Constructor Details
-
Ask
private Ask()Don't allow any instances!
-
-
Method Details
-
app
-
addPrompt
-
addPrompt
-
readInt
-
readStr
-
show
public static void show() -
blank
public static void blank() -
Int
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 <= max.- Returns:
- user input complying with the rules.
-
Long
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 <= max.- Returns:
- user input complying with the rules.
-
Byte
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 <= max.- Returns:
- user input complying with the rules.
-
Short
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 <= max.- Returns:
- user input complying with the rules.
-
Float
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 <= max.- Returns:
- user input complying with the rules.
-
Double
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 <= max.- Returns:
- user input complying with the rules.
-
Boolean
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
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
Ask.Void issues the prompt and returns whenis pressed. - Parameters:
prompt
- the string used to prompt for a.
-
string
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.
-