Package edu.uiuc.ncsa.sas.cli
Class CLI_IO
- java.lang.Object
-
- edu.uiuc.ncsa.sas.cli.CLI_IO
-
- All Implemented Interfaces:
IOInterface
,Runnable
public class CLI_IO extends Object implements IOInterface, Runnable
This implementation of theIOInterface
is for SAS command line clients. It will do the IO with an SAS server.
-
-
Constructor Summary
Constructors Constructor Description CLI_IO(IOInterface localIO, Client sasClient)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearQueue()
Some implementations will have a queue e.g.protected String
doExecute(String input)
void
flush()
Flush anything waiting to be printed.IOInterface
getLocalIO()
protected void
init()
Initialize the service client.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
run()
void
setBufferingOn(boolean bufferOn)
If this object supports buffering of commands, this will toggle it.void
setLocalIO(IOInterface localIO)
-
-
-
Constructor Detail
-
CLI_IO
public CLI_IO(IOInterface localIO, Client sasClient) throws Exception
- Throws:
Exception
-
-
Method Detail
-
getLocalIO
public IOInterface getLocalIO()
-
setLocalIO
public void setLocalIO(IOInterface localIO)
-
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
-
doExecute
protected String doExecute(String input) throws IOException
- 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:
-
-