J-Sim v1.2.1-p7 API

drcl.ruv
Class Shell

java.lang.Object
  extended bydrcl.DrclObj
      extended bydrcl.comp.Component
          extended bydrcl.ruv.Shell
All Implemented Interfaces:
java.lang.Cloneable, ObjectDuplicable, java.io.Serializable, StackTraceFilter
Direct Known Subclasses:
ShellPython, ShellTcl

public abstract class Shell
extends Component
implements StackTraceFilter

The base class for all shell classes. Properties

Ports (in addition to those defined in drcl.comp.Component): The class defines a default "command" port to receives commands.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class drcl.comp.Component
Component.Locks
 
Field Summary
protected static java.lang.String COMMAND_EXIT
           
protected static java.lang.String COMMAND_QUIT
           
protected  Port port
           
protected  Port result
           
 
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_EXPOSED, FLAG_GARBAGE_DISPLAY_ENABLED, FLAG_GARBAGE_ENABLED, FLAG_HAS_EXPOSED_CHILD, FLAG_PORT_NOTIFICATION, FLAG_STARTED, FLAG_STOPPED, FLAG_TRACE_ENABLED, FLAG_UNDEFINED_START, id, infoPort, locks, 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.Object eval(java.io.BufferedReader r_)
           
protected abstract  java.lang.Object eval(java.lang.String cmd_)
           
 java.lang.Object evalFile(java.lang.String script_, java.lang.String[] args_)
           
 void evalResource(java.lang.String resource_)
          Script is from resource.
 java.lang.String filter(java.lang.Exception e_)
          Filters the stack trace in the exception and returns the result.
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_)
           
 boolean isResultAffirmative(java.lang.Object result_)
          Returns true if the result is affirmative for this shell language.
 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_)
           
 
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, isDirectlyRelatedTo, 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, yield
 
Methods inherited from class drcl.DrclObj
clone
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

COMMAND_QUIT

protected static final java.lang.String COMMAND_QUIT
See Also:
Constant Field Values

COMMAND_EXIT

protected static final java.lang.String COMMAND_EXIT
See Also:
Constant Field Values

port

protected Port port

result

protected Port result
Constructor Detail

Shell

public Shell()
      throws java.lang.Exception

Shell

public Shell(java.lang.String id_)
      throws java.lang.Exception
Method Detail

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
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.

Specified by:
duplicate in interface ObjectDuplicable
Overrides:
duplicate in class Component

init

protected abstract void init()
                      throws ShellEvalException
Throws:
ShellEvalException

eval

protected abstract java.lang.Object eval(java.lang.String cmd_)
                                  throws ShellEvalException,
                                         java.lang.InterruptedException
Throws:
ShellEvalException
java.lang.InterruptedException

isCommandComplete

protected abstract boolean isCommandComplete(java.lang.String cmd_)

setArguments

protected abstract void setArguments(java.lang.String[] args_)
                              throws ShellEvalException
Throws:
ShellEvalException

getIncompletePrompt

protected java.lang.String getIncompletePrompt()

evalFile

public final java.lang.Object evalFile(java.lang.String script_,
                                       java.lang.String[] args_)
                                throws ShellEvalException,
                                       java.lang.InterruptedException
Throws:
ShellEvalException
java.lang.InterruptedException

evalResource

public final void evalResource(java.lang.String resource_)
                        throws ShellEvalException
Script is from resource.

Throws:
ShellEvalException

eval

public java.lang.Object eval(java.io.BufferedReader r_)
                      throws ShellEvalException,
                             java.lang.InterruptedException
Throws:
ShellEvalException
java.lang.InterruptedException

print

public void print(java.lang.String msg_)

println

public void println(java.lang.String msg_)

isResultAffirmative

public boolean isResultAffirmative(java.lang.Object result_)
Returns true if the result is affirmative for this shell language.


_autocomplete

protected abstract java.lang.String _autocomplete(java.lang.String cmd_,
                                                  int pos_)
                                           throws ShellEvalException
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.

Throws:
ShellEvalException
See Also:
Commands.autocomplete(String, Paths[], Shell)

filter

public java.lang.String filter(java.lang.Exception e_)
Description copied from interface: StackTraceFilter
Filters the stack trace in the exception and returns the result.

Specified by:
filter in interface StackTraceFilter

J-Sim v1.2.1-p7 API

Copyright © 1998-2003 Distributed Real-time Computing Lab (DRCL). All Rights Reserved.     ~ To J-Sim Home ~