Package org.apache.felix.gogo.runtime
Class CommandProcessorImpl
- java.lang.Object
-
- org.apache.felix.gogo.runtime.CommandProcessorImpl
-
- All Implemented Interfaces:
CommandProcessor
@Capability(namespace="osgi.service", attribute="objectClass=\'org.apache.felix.service.command.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()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)(package private) voidafterExecute(CommandSession session, java.lang.CharSequence commandline, java.lang.Exception exception)(package private) voidafterExecute(CommandSession session, java.lang.CharSequence commandline, java.lang.Object result)(package private) voidbeforeExecute(CommandSession session, java.lang.CharSequence commandline)(package private) voidcloseSession(CommandSessionImpl session)java.lang.Objectconvert(CommandSession session, java.lang.Class<?> desiredType, java.lang.Object in)CommandSessionImplcreateSession(java.io.InputStream in, java.io.OutputStream out, java.io.OutputStream err)Create a new command session associated with IO streams.CommandSessionImplcreateSession(CommandSession parent)(package private) java.lang.ObjectdoConvert(java.lang.Class<?> desiredType, java.lang.Object in)java.lang.Objecteval(CommandSession session, java.lang.Object[] argv)java.lang.Objectexpr(CommandSessionImpl session, java.lang.CharSequence expr)protected FunctiongetCommand(java.lang.String name, java.lang.Object path)java.util.Set<java.lang.String>getCommands()private java.lang.String[]getFunctions(java.lang.Class<?> target)java.lang.Objectinvoke(CommandSessionImpl session, java.lang.Object target, java.lang.String name, java.util.List<java.lang.Object> args)java.nio.file.Pathredirect(CommandSessionImpl session, java.nio.file.Path path, int mode)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()
-
CommandProcessorImpl
public CommandProcessorImpl(ThreadIO tio)
-
-
Method Detail
-
createSession
public CommandSessionImpl createSession(CommandSession parent)
- Specified by:
createSessionin interfaceCommandProcessor
-
createSession
public CommandSessionImpl createSession(java.io.InputStream in, java.io.OutputStream out, java.io.OutputStream 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.
-
closeSession
void closeSession(CommandSessionImpl 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()
-
getCommand
protected Function getCommand(java.lang.String name, java.lang.Object path)
-
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)
-
getFunctions
private java.lang.String[] getFunctions(java.lang.Class<?> target)
-
convert
public java.lang.Object convert(CommandSession session, java.lang.Class<?> desiredType, java.lang.Object in)
-
doConvert
java.lang.Object doConvert(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
-
beforeExecute
void beforeExecute(CommandSession session, java.lang.CharSequence commandline)
-
afterExecute
void afterExecute(CommandSession session, java.lang.CharSequence commandline, java.lang.Exception exception)
-
afterExecute
void afterExecute(CommandSession session, java.lang.CharSequence commandline, java.lang.Object result)
-
expr
public java.lang.Object expr(CommandSessionImpl session, java.lang.CharSequence expr)
-
invoke
public java.lang.Object invoke(CommandSessionImpl session, java.lang.Object target, java.lang.String name, java.util.List<java.lang.Object> args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
redirect
public java.nio.file.Path redirect(CommandSessionImpl session, java.nio.file.Path path, int mode)
-
-