Package edu.uiuc.ncsa.sas
Class StringIO
- java.lang.Object
-
- edu.uiuc.ncsa.sas.StringIO
-
- All Implemented Interfaces:
IOInterface
public class StringIO extends Object implements IOInterface
An IO class backed by strings. This is used in e.g. web apps as a dummy where the actual control flow is managed by something else. Callflush()
between calls to reset everything.Created by Jeff Gaynor
on 8/15/22 at 2:14 PM
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearQueue()
Some implementations will have a queue e.g.void
flush()
Flush anything waiting to be printed.String
getInput()
StringBuilder
getOutput()
boolean
isBufferingOn()
return current state of buffering.boolean
isQueueEmpty()
Check if the queue is empty.void
print(Object x)
Print the string representation of an object, without a carriage return.void
println(Object x)
Print the string representation of an object with a carriage return.String
readline()
Read a line of input with no prompt.String
readline(String prompt)
read a line of input, printing the prompt (on the left) first.void
setBufferingOn(boolean bufferOn)
If this object supports buffering of commands, this will toggle it.void
setInput(String input)
void
setOutput(StringBuilder output)
-
-
-
Constructor Detail
-
StringIO
public StringIO(String input)
-
-
Method Detail
-
getInput
public String getInput()
-
setInput
public void setInput(String input)
-
getOutput
public StringBuilder getOutput()
-
setOutput
public void setOutput(StringBuilder output)
-
readline
public String readline(String prompt) throws IOException
Description copied from interface:IOInterface
read a line of input, printing the prompt (on the left) first. The prompt is not returned.- Specified by:
readline
in interfaceIOInterface
- Returns:
- Throws:
IOException
-
readline
public String readline() throws IOException
Description copied from interface:IOInterface
Read a line of input with no prompt.- Specified by:
readline
in interfaceIOInterface
- Returns:
- Throws:
IOException
-
print
public void print(Object x)
Description copied from interface:IOInterface
Print the string representation of an object, without a carriage return.- Specified by:
print
in interfaceIOInterface
-
println
public void println(Object x)
Description copied from interface:IOInterface
Print the string representation of an object with a carriage return.- Specified by:
println
in interfaceIOInterface
-
flush
public void flush()
Description copied from interface:IOInterface
Flush anything waiting to be printed. Normally this is done with the print methods.- Specified by:
flush
in interfaceIOInterface
-
clearQueue
public void clearQueue()
Description copied from interface:IOInterface
Some implementations will have a queue e.g. if the user paste text from the clipboard). TheIOInterface.readline(String)
methods will queue these up and return them in sequence -- this is done silently. If for some reason you need only a single line and want to discard anything else, invoke this.- Specified by:
clearQueue
in interfaceIOInterface
-
isQueueEmpty
public boolean isQueueEmpty()
Description copied from interface:IOInterface
Check if the queue is empty.- Specified by:
isQueueEmpty
in interfaceIOInterface
- Returns:
-
setBufferingOn
public void setBufferingOn(boolean bufferOn)
Description copied from interface:IOInterface
If this object supports buffering of commands, this will toggle it. Buffering means that every result ofIOInterface.readline(String)
will be stored and up down arrows will cycle through them.- Specified by:
setBufferingOn
in interfaceIOInterface
-
isBufferingOn
public boolean isBufferingOn()
Description copied from interface:IOInterface
return current state of buffering.- Specified by:
isBufferingOn
in interfaceIOInterface
- Returns:
-
-