Package org.apache.felix.gogo.runtime
Class CommandProcessorImpl
- java.lang.Object
-
- org.apache.felix.gogo.runtime.CommandProcessorImpl
-
- All Implemented Interfaces:
CommandProcessor
public class CommandProcessorImpl extends java.lang.Object implements CommandProcessor
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.concurrent.ConcurrentMap<java.lang.String,java.util.Map<java.lang.Object,java.lang.Integer>>commandsprotected java.util.Map<java.lang.String,java.lang.Object>constantsprotected java.util.Set<Converter>convertersprotected java.util.Set<CommandSessionListener>listenersprotected java.util.WeakHashMap<CommandSession,java.lang.Object>sessionsprotected booleanstoppedprotected ThreadIOthreadIO-
Fields inherited from interface org.apache.felix.service.command.CommandProcessor
COMMAND_FUNCTION, COMMAND_SCOPE
-
-
Constructor Summary
Constructors Constructor Description CommandProcessorImpl(ThreadIO tio)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCommand(java.lang.String scope, java.lang.Object target)voidaddCommand(java.lang.String scope, java.lang.Object target, java.lang.Class<?> functions)voidaddCommand(java.lang.String scope, java.lang.Object target, java.lang.Class<?> functions, int ranking)voidaddCommand(java.lang.String scope, java.lang.Object target, java.lang.String function)voidaddCommand(java.lang.String scope, java.lang.Object target, java.lang.String function, int ranking)java.lang.ObjectaddConstant(java.lang.String name, java.lang.Object target)voidaddConverter(Converter c)voidaddListener(CommandSessionListener l)java.lang.Objectconvert(java.lang.Class<?> desiredType, java.lang.Object in)CommandSessioncreateSession(java.io.InputStream in, java.io.PrintStream out, java.io.PrintStream err)Create a new command session associated with IO streams.java.lang.Objecteval(CommandSession session, java.lang.Object[] argv)java.lang.Objectexpr(CommandSessionImpl session, java.lang.CharSequence expr)java.util.Set<java.lang.String>getCommands()voidremoveCommand(java.lang.Object target)voidremoveCommand(java.lang.String scope, java.lang.String function)voidremoveCommand(java.lang.String scope, java.lang.String function, java.lang.Object target)java.lang.ObjectremoveConstant(java.lang.String name)voidremoveConverter(Converter c)voidremoveListener(CommandSessionListener l)voidstop()
-
-
-
Field Detail
-
converters
protected final java.util.Set<Converter> converters
-
listeners
protected final java.util.Set<CommandSessionListener> listeners
-
commands
protected final java.util.concurrent.ConcurrentMap<java.lang.String,java.util.Map<java.lang.Object,java.lang.Integer>> commands
-
constants
protected final java.util.Map<java.lang.String,java.lang.Object> constants
-
threadIO
protected final ThreadIO threadIO
-
sessions
protected final java.util.WeakHashMap<CommandSession,java.lang.Object> sessions
-
stopped
protected boolean stopped
-
-
Constructor Detail
-
CommandProcessorImpl
public CommandProcessorImpl(ThreadIO tio)
-
-
Method Detail
-
createSession
public CommandSession createSession(java.io.InputStream in, java.io.PrintStream out, java.io.PrintStream err)
Description copied from interface:CommandProcessorCreate a new command session associated with IO streams. The session is bound to the life cycle of the bundle getting this service. The session will be automatically closed when this bundle is stopped or the service is returned. The shell will provide any available commands to this session and can set additional variables.- Specified by:
createSessionin interfaceCommandProcessor- Parameters:
in- The value used for System.inout- The stream used for System.outerr- The stream used for System.err- Returns:
- A new session.
-
stop
public void stop()
-
addConverter
public void addConverter(Converter c)
-
removeConverter
public void removeConverter(Converter c)
-
addListener
public void addListener(CommandSessionListener l)
-
removeListener
public void removeListener(CommandSessionListener l)
-
getCommands
public java.util.Set<java.lang.String> getCommands()
-
addCommand
public void addCommand(java.lang.String scope, java.lang.Object target)
-
addCommand
public void addCommand(java.lang.String scope, java.lang.Object target, java.lang.Class<?> functions)
-
addCommand
public void addCommand(java.lang.String scope, java.lang.Object target, java.lang.Class<?> functions, int ranking)
-
addConstant
public java.lang.Object addConstant(java.lang.String name, java.lang.Object target)
-
removeConstant
public java.lang.Object removeConstant(java.lang.String name)
-
addCommand
public void addCommand(java.lang.String scope, java.lang.Object target, java.lang.String function)
-
addCommand
public void addCommand(java.lang.String scope, java.lang.Object target, java.lang.String function, int ranking)
-
removeCommand
public void removeCommand(java.lang.String scope, java.lang.String function)
-
removeCommand
public void removeCommand(java.lang.String scope, java.lang.String function, java.lang.Object target)
-
removeCommand
public void removeCommand(java.lang.Object target)
-
convert
public java.lang.Object convert(java.lang.Class<?> desiredType, java.lang.Object in)
-
eval
public java.lang.Object eval(CommandSession session, java.lang.Object[] argv) throws java.lang.Exception
- Throws:
java.lang.Exception
-
expr
public java.lang.Object expr(CommandSessionImpl session, java.lang.CharSequence expr)
-
-