|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.Thread
de.bsvrz.sys.startstopp.buv.CopyOfCmdInterpreter
public class CopyOfCmdInterpreter
Kommando-Interpreter
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.lang.Thread |
---|
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler |
Field Summary | |
---|---|
private java.net.Socket |
client
|
Command |
closeConnCmd
Kommando zum schliessen der Verbindung (Server horcht weiter) |
private boolean |
closeConnection
|
private CmdMenu |
currentMenu
|
private java.io.BufferedReader |
in
|
private static de.bsvrz.sys.funclib.debug.Debug |
logger
|
private java.io.BufferedWriter |
out
|
private int |
port
|
static java.lang.String |
PROMPT
Das Prompt für die Darstellung einer Eingabeaufforderung an der Konsole |
private CmdMenu |
rootMenu
|
private java.net.ServerSocket |
serverSocket
|
private boolean |
showHidden
True falls zusätzliche Kommandos angezeigt werden sollen. |
private boolean |
stopServer
|
Command |
stopServerCmd
Kommando zum beenden des Serverdienstes auf localhost |
private int |
timeout
|
Fields inherited from class java.lang.Thread |
---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
Constructor Summary | |
---|---|
CopyOfCmdInterpreter(int port,
int timeOutMinutes)
Erzeugt den Telnet-Server |
|
CopyOfCmdInterpreter(int port,
int timeOutMinutes,
boolean showHidden)
Erzeugt den Telnet-Server |
|
CopyOfCmdInterpreter(int port,
int timeOutMinutes,
CmdMenu root)
Erzeugt den Telnet-Server |
Method Summary | |
---|---|
private java.lang.String |
getHelp(java.lang.String ind)
Hilfe für Menüeintrag zurückgeben |
private java.lang.String |
getUserInput()
Benutzereingabe vom In-Stream lesen und z.B. an menuLoop() zurückgeben, Abbruch bei Überschreitung des Server-Timeout |
void |
menuLoop()
Menü anzeigen, Navigation durchführen, Kommandos ausführen |
void |
println(java.lang.String str)
Einen Text in den Out-Stream (z.B. via Telnet) ausgeben |
private void |
processConnections()
Warten auf Verbindung, Menü in Loop anzeigen, Verbindung schliessen |
void |
run()
|
void |
setMenu(CmdMenu root)
Menü für den Interpreter setzen (falls noch nicht geschehen) |
private void |
showMenu()
Aktuelles Menü darstellen |
void |
stopServerCmd()
Beendet den Telnet-Servers. |
private void |
waitForConnection()
Socket-Verbindung (Telnet) akzeptieren und Timeout setzen |
Methods inherited from class java.lang.Thread |
---|
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static final de.bsvrz.sys.funclib.debug.Debug logger
public static java.lang.String PROMPT
private boolean closeConnection
private boolean stopServer
private int port
private int timeout
private CmdMenu currentMenu
private CmdMenu rootMenu
private java.net.Socket client
private java.net.ServerSocket serverSocket
private java.io.BufferedReader in
private java.io.BufferedWriter out
private boolean showHidden
public Command closeConnCmd
public Command stopServerCmd
Constructor Detail |
---|
public CopyOfCmdInterpreter(int port, int timeOutMinutes)
port
- der Port auf dem der Server horchttimeOutMinutes
- Timeout für eine Socket-Verbindungpublic CopyOfCmdInterpreter(int port, int timeOutMinutes, CmdMenu root)
port
- Port auf dem der Server horchtroot
- das HauptmenütimeOutMinutes
- Timeout für eine Socket-Verbindungpublic CopyOfCmdInterpreter(int port, int timeOutMinutes, boolean showHidden)
port
- Port auf dem der Server horchttimeOutMinutes
- Timeout für eine Socket-VerbindungshowHidden
- true
falls zusätzliche Kommandos angezeigt werden sollenMethod Detail |
---|
public void run()
run
in interface java.lang.Runnable
run
in class java.lang.Thread
Runnable.run()
private void processConnections() throws java.net.UnknownHostException, java.io.IOException
java.io.IOException
java.net.UnknownHostException
private void waitForConnection() throws java.io.IOException
java.io.IOException
public void menuLoop()
private java.lang.String getUserInput() throws java.lang.Exception
menuLoop()
zurückgeben, Abbruch bei Überschreitung des Server-Timeout
java.lang.Exception
private java.lang.String getHelp(java.lang.String ind)
ind
- Index des Menüeintrags (Submenü oder Kommando)
private void showMenu() throws java.lang.Exception
java.lang.Exception
public void println(java.lang.String str) throws java.lang.Exception
str
- der darzustellende String
java.lang.Exception
public void setMenu(CmdMenu root)
root
- das Menüpublic void stopServerCmd() throws java.io.IOException
java.io.IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |