Interface ConsoleEngine

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String VAR_NANORC
      Console string variable of nanorc file full path
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      <T> T consoleOption​(java.lang.String option, T defval)
      Read console option value
      default java.lang.Object execute​(java.io.File script)
      Executes either JLine or ScriptEngine script.
      java.lang.Object execute​(java.io.File script, java.lang.String rawLine, java.lang.String[] args)
      Executes either JLine or ScriptEngine script.
      java.lang.Object execute​(java.lang.String name, java.lang.String rawLine, java.lang.String[] args)
      Executes command line that does not contain known command by the system registry.
      boolean executeWidget​(java.lang.Object function)
      Execute widget function
      java.lang.String expandCommandLine​(java.lang.String line)
      Substitutes command line with system registry invoke method call.
      java.lang.Object[] expandParameters​(java.lang.String[] args)
      Substituting args references with their values.
      java.lang.String expandToList​(java.util.List<java.lang.String> params)
      Expands parameter list to string
      java.lang.String getAlias​(java.lang.String name)
      Returns alias 'name' value
      java.util.List<java.lang.String> getNamedPipes()
      Returns named pipe names
      java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getPipes()
      Returns defined pipes
      java.lang.Object getVariable​(java.lang.String name)
      Get variable value
      boolean hasAlias​(java.lang.String name)
      Returns true if alias 'name' exists
      boolean hasVariable​(java.lang.String name)
      Test if variable with name exists
      boolean isExecuting()
      Checks if consoleEngine is executing script
      void persist​(java.nio.file.Path file, java.lang.Object object)
      Persist object to file
      static java.lang.String plainCommand​(java.lang.String command)
      Removes the command name first character if it is colon
      ConsoleEngine.ExecutionResult postProcess​(java.lang.Object result)
      Post processes execution result.
      ConsoleEngine.ExecutionResult postProcess​(java.lang.String line, java.lang.Object result, java.lang.String output)
      Post processes execution result.
      void println​(java.lang.Object object)
      Print object.
      void purge()
      Delete temporary console variables
      void putVariable​(java.lang.String name, java.lang.Object value)
      Create console variable
      java.util.List<Completer> scriptCompleters()
      Returns script and variable completers
      java.util.Map<java.lang.String,​java.lang.Boolean> scripts()
      Returns all scripts found from PATH
      void setConsoleOption​(java.lang.String name, java.lang.Object value)
      Set console option value
      void setLineReader​(LineReader reader)
      Sets lineReader
      void setScriptExtension​(java.lang.String extension)
      Sets file name extension used by console scripts
      void setSystemRegistry​(SystemRegistry systemRegistry)
      Sets systemRegistry
      java.lang.Object slurp​(java.nio.file.Path file)
      Read object from file
      void trace​(java.lang.Object object)
      Print object if trace is enabled
    • Field Detail

      • VAR_NANORC

        static final java.lang.String VAR_NANORC
        Console string variable of nanorc file full path
        See Also:
        Constant Field Values
    • Method Detail

      • plainCommand

        static java.lang.String plainCommand​(java.lang.String command)
        Removes the command name first character if it is colon
        Parameters:
        command - the name of the command to complete
        Returns:
        command name without starting colon
      • setLineReader

        void setLineReader​(LineReader reader)
        Sets lineReader
        Parameters:
        reader - LineReader
      • setSystemRegistry

        void setSystemRegistry​(SystemRegistry systemRegistry)
        Sets systemRegistry
        Parameters:
        systemRegistry - SystemRegistry
      • expandParameters

        java.lang.Object[] expandParameters​(java.lang.String[] args)
                                     throws java.lang.Exception
        Substituting args references with their values.
        Parameters:
        args - the arguments to be expanded
        Returns:
        expanded arguments
        Throws:
        java.lang.Exception - in case of error
      • expandCommandLine

        java.lang.String expandCommandLine​(java.lang.String line)
        Substitutes command line with system registry invoke method call.
        Parameters:
        line - command line to be expanded
        Returns:
        expanded command line
      • expandToList

        java.lang.String expandToList​(java.util.List<java.lang.String> params)
        Expands parameter list to string
        Parameters:
        params - list of script parameters
        Returns:
        expanded parameters list
      • scripts

        java.util.Map<java.lang.String,​java.lang.Boolean> scripts()
        Returns all scripts found from PATH
        Returns:
        map keys have script file names and value is true if it is console script
      • setScriptExtension

        void setScriptExtension​(java.lang.String extension)
        Sets file name extension used by console scripts
        Parameters:
        extension - console script file extension
      • hasAlias

        boolean hasAlias​(java.lang.String name)
        Returns true if alias 'name' exists
        Parameters:
        name - alias name
        Returns:
        true if alias exists
      • getAlias

        java.lang.String getAlias​(java.lang.String name)
        Returns alias 'name' value
        Parameters:
        name - alias name
        Returns:
        value of alias
      • getPipes

        java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getPipes()
        Returns defined pipes
        Returns:
        map of defined pipes
      • getNamedPipes

        java.util.List<java.lang.String> getNamedPipes()
        Returns named pipe names
        Returns:
        list of named pipe names
      • scriptCompleters

        java.util.List<Completer> scriptCompleters()
        Returns script and variable completers
        Returns:
        script and variable completers
      • persist

        void persist​(java.nio.file.Path file,
                     java.lang.Object object)
        Persist object to file
        Parameters:
        file - file where object should be written
        object - object to persist
      • slurp

        java.lang.Object slurp​(java.nio.file.Path file)
                        throws java.io.IOException
        Read object from file
        Parameters:
        file - file from where object should be read
        Returns:
        object
        Throws:
        java.io.IOException - in case of error
      • consoleOption

        <T> T consoleOption​(java.lang.String option,
                            T defval)
        Read console option value
        Type Parameters:
        T - option type
        Parameters:
        option - option name
        defval - default value
        Returns:
        option value
      • setConsoleOption

        void setConsoleOption​(java.lang.String name,
                              java.lang.Object value)
        Set console option value
        Parameters:
        name - the option name
        value - value to assign console option
      • execute

        java.lang.Object execute​(java.lang.String name,
                                 java.lang.String rawLine,
                                 java.lang.String[] args)
                          throws java.lang.Exception
        Executes command line that does not contain known command by the system registry. If the line is neither JLine or ScriptEngine script it will be evaluated as ScriptEngine statement.
        Parameters:
        name - parsed command/script name
        rawLine - raw command line
        args - parsed arguments of the command
        Returns:
        command line execution result
        Throws:
        java.lang.Exception - in case of error
      • execute

        default java.lang.Object execute​(java.io.File script)
                                  throws java.lang.Exception
        Executes either JLine or ScriptEngine script.
        Parameters:
        script - script file
        Returns:
        script execution result
        Throws:
        java.lang.Exception - in case of error
      • execute

        java.lang.Object execute​(java.io.File script,
                                 java.lang.String rawLine,
                                 java.lang.String[] args)
                          throws java.lang.Exception
        Executes either JLine or ScriptEngine script.
        Parameters:
        script - script file
        rawLine - raw command line
        args - script arguments
        Returns:
        script execution result
        Throws:
        java.lang.Exception - in case of error
      • postProcess

        ConsoleEngine.ExecutionResult postProcess​(java.lang.String line,
                                                  java.lang.Object result,
                                                  java.lang.String output)
        Post processes execution result. If result is to be assigned to the console variable then method will return null.
        Parameters:
        line - command line
        result - command result to process
        output - command redirected output
        Returns:
        processed result
      • postProcess

        ConsoleEngine.ExecutionResult postProcess​(java.lang.Object result)
        Post processes execution result.
        Parameters:
        result - command result to process
        Returns:
        processed result
      • trace

        void trace​(java.lang.Object object)
        Print object if trace is enabled
        Parameters:
        object - object to print
      • println

        void println​(java.lang.Object object)
        Print object.
        Parameters:
        object - object to print
      • putVariable

        void putVariable​(java.lang.String name,
                         java.lang.Object value)
        Create console variable
        Parameters:
        name - name of the variable
        value - value of the variable
      • getVariable

        java.lang.Object getVariable​(java.lang.String name)
        Get variable value
        Parameters:
        name - name of the variable
        Returns:
        variable value
      • hasVariable

        boolean hasVariable​(java.lang.String name)
        Test if variable with name exists
        Parameters:
        name - name of the variable
        Returns:
        true if variable with name exists
      • purge

        void purge()
        Delete temporary console variables
      • executeWidget

        boolean executeWidget​(java.lang.Object function)
        Execute widget function
        Parameters:
        function - to execute
        Returns:
        true on success
      • isExecuting

        boolean isExecuting()
        Checks if consoleEngine is executing script
        Returns:
        true when executing script