public class CommandProcessorImpl extends java.lang.Object implements CommandProcessor
Modifier and Type | Field and Description |
---|---|
protected java.util.concurrent.ConcurrentMap<java.lang.String,java.util.Map<java.lang.Object,java.lang.Integer>> |
commands |
protected java.util.Map<java.lang.String,java.lang.Object> |
constants |
protected java.util.Set<Converter> |
converters |
protected java.util.Set<CommandSessionListener> |
listeners |
protected java.util.WeakHashMap<CommandSession,java.lang.Object> |
sessions |
protected boolean |
stopped |
protected ThreadIO |
threadIO |
COMMAND_FUNCTION, COMMAND_SCOPE
Constructor and Description |
---|
CommandProcessorImpl() |
CommandProcessorImpl(ThreadIO tio) |
Modifier and Type | Method and Description |
---|---|
void |
addCommand(java.lang.String scope,
java.lang.Object target) |
void |
addCommand(java.lang.String scope,
java.lang.Object target,
java.lang.Class<?> functions) |
void |
addCommand(java.lang.String scope,
java.lang.Object target,
java.lang.Class<?> functions,
int ranking) |
void |
addCommand(java.lang.String scope,
java.lang.Object target,
java.lang.String function) |
void |
addCommand(java.lang.String scope,
java.lang.Object target,
java.lang.String function,
int ranking) |
java.lang.Object |
addConstant(java.lang.String name,
java.lang.Object target) |
void |
addConverter(Converter c) |
void |
addListener(CommandSessionListener l) |
(package private) void |
afterExecute(CommandSession session,
java.lang.CharSequence commandline,
java.lang.Exception exception) |
(package private) void |
afterExecute(CommandSession session,
java.lang.CharSequence commandline,
java.lang.Object result) |
(package private) void |
beforeExecute(CommandSession session,
java.lang.CharSequence commandline) |
(package private) void |
closeSession(CommandSessionImpl session) |
java.lang.Object |
convert(CommandSession session,
java.lang.Class<?> desiredType,
java.lang.Object in) |
CommandSessionImpl |
createSession(CommandSession parent) |
CommandSessionImpl |
createSession(java.io.InputStream in,
java.io.OutputStream out,
java.io.OutputStream err)
Create a new command session associated with IO streams.
|
(package private) java.lang.Object |
doConvert(java.lang.Class<?> desiredType,
java.lang.Object in) |
java.lang.Object |
eval(CommandSession session,
java.lang.Object[] argv) |
java.lang.Object |
expr(CommandSessionImpl session,
java.lang.CharSequence expr) |
protected Function |
getCommand(java.lang.String name,
java.lang.Object path) |
java.util.Set<java.lang.String> |
getCommands() |
private java.lang.String[] |
getFunctions(java.lang.Class<?> target) |
void |
removeCommand(java.lang.Object target) |
void |
removeCommand(java.lang.String scope,
java.lang.String function) |
void |
removeCommand(java.lang.String scope,
java.lang.String function,
java.lang.Object target) |
java.lang.Object |
removeConstant(java.lang.String name) |
void |
removeConverter(Converter c) |
void |
removeListener(CommandSessionListener l) |
void |
stop() |
protected final java.util.Set<Converter> converters
protected final java.util.Set<CommandSessionListener> listeners
protected final java.util.concurrent.ConcurrentMap<java.lang.String,java.util.Map<java.lang.Object,java.lang.Integer>> commands
protected final java.util.Map<java.lang.String,java.lang.Object> constants
protected final ThreadIO threadIO
protected final java.util.WeakHashMap<CommandSession,java.lang.Object> sessions
protected boolean stopped
public CommandProcessorImpl()
public CommandProcessorImpl(ThreadIO tio)
public CommandSessionImpl createSession(CommandSession parent)
createSession
in interface CommandProcessor
public CommandSessionImpl createSession(java.io.InputStream in, java.io.OutputStream out, java.io.OutputStream err)
CommandProcessor
createSession
in interface CommandProcessor
in
- The value used for System.inout
- The stream used for System.outerr
- The stream used for System.errvoid closeSession(CommandSessionImpl session)
public void stop()
public void addConverter(Converter c)
public void removeConverter(Converter c)
public void addListener(CommandSessionListener l)
public void removeListener(CommandSessionListener l)
public java.util.Set<java.lang.String> getCommands()
protected Function getCommand(java.lang.String name, java.lang.Object path)
public void addCommand(java.lang.String scope, java.lang.Object target)
public void addCommand(java.lang.String scope, java.lang.Object target, java.lang.Class<?> functions)
public void addCommand(java.lang.String scope, java.lang.Object target, java.lang.Class<?> functions, int ranking)
public java.lang.Object addConstant(java.lang.String name, java.lang.Object target)
public java.lang.Object removeConstant(java.lang.String name)
public void addCommand(java.lang.String scope, java.lang.Object target, java.lang.String function)
public void addCommand(java.lang.String scope, java.lang.Object target, java.lang.String function, int ranking)
public void removeCommand(java.lang.String scope, java.lang.String function)
public void removeCommand(java.lang.String scope, java.lang.String function, java.lang.Object target)
public void removeCommand(java.lang.Object target)
private java.lang.String[] getFunctions(java.lang.Class<?> target)
public java.lang.Object convert(CommandSession session, java.lang.Class<?> desiredType, java.lang.Object in)
java.lang.Object doConvert(java.lang.Class<?> desiredType, java.lang.Object in)
public java.lang.Object eval(CommandSession session, java.lang.Object[] argv) throws java.lang.Exception
java.lang.Exception
void beforeExecute(CommandSession session, java.lang.CharSequence commandline)
void afterExecute(CommandSession session, java.lang.CharSequence commandline, java.lang.Exception exception)
void afterExecute(CommandSession session, java.lang.CharSequence commandline, java.lang.Object result)
public java.lang.Object expr(CommandSessionImpl session, java.lang.CharSequence expr)