public static Shell createConsoleShell(String prompt, String appName, Object... handlers) {
        ConsoleIO io = new ConsoleIO();

        List<String> path = new ArrayList<String>(1);
        path.add(prompt);

        MultiMap<String, Object> modifAuxHandlers = new ArrayHashMultiMap<String, Object>();
        modifAuxHandlers.put("!", io);

        Shell theShell = new Shell(new Shell.Settings(io, io, modifAuxHandlers, false),
                new CommandTable(new DashJoinedNamer(true)), path);
        theShell.setAppName(appName);

        theShell.addMainHandler(theShell, "!");
        theShell.addMainHandler(new HelpCommandHandler(), "?");
        for (Object h : handlers) {
            theShell.addMainHandler(h, "");
        }

        return theShell;
    }
public static Shell createConsoleShell ( String prompt , String appName , Object ... handlers ) { ConsoleIO io = new ConsoleIO ( ) ; List < String > path = new ArrayList < String > ( 1 ) ; path . add ( prompt ) ; MultiMap < String , Object > modifAuxHandlers = new ArrayHashMultiMap < String , Object > ( ) ; modifAuxHandlers . put ( "!" , io ) ; Shell theShell = new Shell ( new Shell . Settings ( io , io , modifAuxHandlers , false ) , new CommandTable ( new DashJoinedNamer ( true ) ) , path ) ; theShell . setAppName ( appName ) ; theShell . addMainHandler ( theShell , "!" ) ; theShell . addMainHandler ( new HelpCommandHandler ( ) , "?" ) ; for ( Object h : handlers ) { theShell . addMainHandler ( h , "" ) ; } return theShell ; }
One of facade methods for operating the Shell.

Run the obtained Shell with commandLoop().

@see org.gearvrf.debug.cli.Shell#Shell(org.gearvrf.debug.cli.Shell.Settings, org.gearvrf.debug.cli.CommandTable, java.util.List)

@param prompt Prompt to be displayed
@param appName The app name string
@param handlers Command handlers
@return Shell that can be either further customized or run directly by calling commandLoop().