drcl.ruv
Class Shell
java.lang.Object
|
+--drcl.DrclObj
|
+--drcl.comp.Component
|
+--drcl.ruv.Shell
- All Implemented Interfaces:
- java.lang.Cloneable, ObjectDuplicable, java.io.Serializable
- Direct Known Subclasses:
- ShellPython, ShellTcl
- public abstract class Shell
- extends Component
The base class for all shell classes.
Properties
- non-duplicable
- non-disposable
Ports (in addition to those defined in drcl.comp.Component):
- "file" port (input): receives the file name of a script (String) to execute.
- "result" port (output): sends out results of executions. At the end of execution,
it sends a null.
- command port: all the other ports are considered as command ports;
it receives commands (String) to execute and replies complete/incomplete (boolean).
The class defines a default "command" port to receives commands.
- See Also:
- Serialized Form
| Fields inherited from class drcl.comp.Component |
FLAG_COMPONENT_NOTIFICATION, FLAG_DEBUG_ENABLED, FLAG_DIRECT_OUTPUT_ENABLED, FLAG_ENABLED, FLAG_ERROR_ENABLED, FLAG_EVENT_ENABLED, FLAG_GARBAGE_DISPLAY_ENABLED, FLAG_GARBAGE_ENABLED, FLAG_PORT_NOTIFICATION, FLAG_STARTED, FLAG_STOPPED, FLAG_TRACE_ENABLED, FLAG_UNDEFINED_START, id, infoPort, lockHead, name, parent, PortGroup_DEFAULT_GROUP, PortGroup_EVENT, PortGroup_SERVICE, Root, Trace_DATA, Trace_SEND |
|
Constructor Summary |
Shell()
|
Shell(java.lang.String id_)
|
|
Method Summary |
protected abstract java.lang.String |
_autocomplete(java.lang.String cmd_,
int pos_)
Subclasses should override this method to provide autocomplete function. |
void |
duplicate(java.lang.Object source_)
Duplicates the content of source_, including ID, name, child components and
connections among them, to this component. |
java.lang.String |
eval(java.io.BufferedReader r_)
|
protected abstract java.lang.String |
eval(java.lang.String cmd_)
|
java.lang.String |
evalFile(java.lang.String script_,
java.lang.String[] args_)
|
void |
evalResource(java.lang.String resource_)
Script is from resource. |
protected java.lang.String |
getIncompletePrompt()
|
protected java.lang.String |
getPrompt()
|
java.lang.String |
info()
Returns information regarding this component. |
protected abstract void |
init()
|
protected abstract boolean |
isCommandComplete(java.lang.String cmd_)
|
protected boolean |
isResultAffirmative(java.lang.String result_)
|
void |
print(java.lang.String msg_)
|
void |
println(java.lang.String msg_)
|
void |
process(java.lang.Object data_,
Port inPort_)
The main callback method of a component. |
void |
reset()
Resets the component for being used anew. |
protected abstract void |
setArguments(java.lang.String[] args_)
|
protected void |
setPrompt(java.lang.String prompt_)
|
protected java.lang.String |
waitUntil()
|
void |
waitUntil(java.lang.String cmd_)
|
| Methods inherited from class drcl.comp.Component |
_resume, _start, _stop, addComponent, addComponent, addEventPort, addEventPort, addForkPort, addPort, addPort, addPort, addPort, addPort, addPort, addPort, addPort, addServerPort, addServerPort, cancelFork, componentAdded, componentRemoved, connect, containsComponent, containsComponent, containsPort, debug, disconnectAll, disconnectAllPeers, disconnectAllPorts, drop, drop, error, error, expose, exposeEventPorts, exposePort, exposePort, exposePort, exposePort, exposePort, findAvailable, findAvailable, findAvailable, finishing, fork, forkAt, getAllComponents, getAllPorts, getAllPorts, getAllWiresInside, getAllWiresInsideOut, getAllWiresOut, getComponent, getComponentFlag, getComponentFlag, getContract, getContractHT, getContractHT, getDebugFlagsInBinary, getDebugLevelNames, getForkManager, getID, getName, getParent, getPort, getPort, getRoot, getRuntime, getTime, iduplicate, isAncestorOf, isComponentNotificationEnabled, isContainer, isDebugEnabled, isDebugEnabledAt, isDirectOutputEnabled, isEnabled, isErrorNoticeEnabled, isEventExportEnabled, isGarbageDisplayEnabled, isGarbageEnabled, isPortNotificationEnabled, isPortRemovable, isStarted, isStopped, isTraceEnabled, lock, notify, notifyAll, operate, portAdded, portRemoved, reboot, removeAll, removeAllComponents, removeAllPorts, removeAllPorts, removeComponent, removeComponent, removePort, removePort, removePort, resume, run, sduplicate, send, sendAt, setComponentFlag, setComponentFlag, setComponentNotificationEnabled, setContract, setDebugEnabled, setDebugEnabled, setDebugEnabledAt, setDebugEnabledAt, setDebugEnabledAt, setDirectOutputEnabled, setDirectOutputEnabled, setEnabled, setErrorNoticeEnabled, setErrorNoticeEnabled, setEventExportEnabled, setEventExportEnabled, setExecutionBoundary, setGarbageDisplayEnabled, setGarbageDisplayEnabled, setGarbageEnabled, setGarbageEnabled, setID, setID, setName, setPort, setPort, setPortNotificationEnabled, setPortRemovable, setRuntime, setTraceEnabled, setTraceEnabled, sleepFor, sleepUntil, stop, toString, unexpose, unlock, useLocalForkManager, useLocalForkManager, wait |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
COMMAND_QUIT
protected static final java.lang.String COMMAND_QUIT
COMMAND_EXIT
protected static final java.lang.String COMMAND_EXIT
port
protected Port port
result
protected Port result
Shell
public Shell()
throws java.lang.Exception
Shell
public Shell(java.lang.String id_)
throws java.lang.Exception
reset
public void reset()
- Description copied from class:
Component
- Resets the component for being used anew.
All the internal variables must be set to the initial state.
All the ports and child components are reset as well.
- Overrides:
reset in class Component
info
public java.lang.String info()
- Description copied from class:
Component
- Returns information regarding this component.
Subclasses should override this method to provide useful information at run-time.
- Overrides:
info in class Component
setPrompt
protected void setPrompt(java.lang.String prompt_)
getPrompt
protected java.lang.String getPrompt()
process
public void process(java.lang.Object data_,
Port inPort_)
- Description copied from class:
Component
- The main callback method of a component.
Being invoked when data arrives at a port of its.
- Overrides:
process in class Component
- Following copied from class:
drcl.comp.Component
- Parameters:
data_ - the arrival data.inPort_ - the port where the data arrives.
duplicate
public void duplicate(java.lang.Object source_)
- Description copied from class:
Component
- Duplicates the content of source_, including ID, name, child components and
connections among them, to this component.
Subclasses need to override this method to copy its own variables.
- Overrides:
duplicate in class Component
init
protected abstract void init()
throws java.lang.Exception
eval
protected abstract java.lang.String eval(java.lang.String cmd_)
throws java.lang.Exception
isCommandComplete
protected abstract boolean isCommandComplete(java.lang.String cmd_)
setArguments
protected abstract void setArguments(java.lang.String[] args_)
throws java.lang.Exception
getIncompletePrompt
protected java.lang.String getIncompletePrompt()
evalFile
public final java.lang.String evalFile(java.lang.String script_,
java.lang.String[] args_)
throws java.lang.Exception
evalResource
public final void evalResource(java.lang.String resource_)
throws java.lang.Exception
- Script is from resource.
eval
public java.lang.String eval(java.io.BufferedReader r_)
throws java.lang.Exception
waitUntil
public void waitUntil(java.lang.String cmd_)
isResultAffirmative
protected boolean isResultAffirmative(java.lang.String result_)
waitUntil
protected java.lang.String waitUntil()
throws java.lang.Exception
print
public void print(java.lang.String msg_)
println
public void println(java.lang.String msg_)
_autocomplete
protected abstract java.lang.String _autocomplete(java.lang.String cmd_,
int pos_)
throws java.lang.Exception
- Subclasses should override this method to provide autocomplete function.
Basically this method finds the partial path from the particial command that the user
has typed and then execute autocomplete commands in Commands or a wrap-up version of which
to return the common prefix string of all matched components or ports.
- See Also:
Commands.autocomplete(String, Paths[], Shell)
Copyright © 2001 - DRCL, OSU ~ Back to JavaSim Home ~