Class CommandSessionImpl

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected CommandSessionImpl​(CommandProcessorImpl shell, java.io.InputStream in, java.io.PrintStream out, java.io.PrintStream err)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Close this command session.
      java.lang.Object convert​(java.lang.Class<?> desiredType, java.lang.Object in)
      Convert an object to another type.
      java.lang.Object execute​(java.lang.CharSequence commandline)
      Execute a program in this session.
      java.lang.Object expr​(java.lang.CharSequence expr)  
      java.lang.CharSequence format​(java.lang.Object result, int inspect)
      Convert an object to string form (CharSequence).
      java.lang.CharSequence format​(java.lang.Object target, int level, Converter escape)
      Convert an objet to a CharSequence object in the requested format.
      java.lang.Object get​(java.lang.String name)
      Get the value of a variable.
      java.io.PrintStream getConsole()
      Return the PrintStream for the console.
      java.io.InputStream getKeyboard()
      Return the input stream that is the first of the pipeline.
      void put​(java.lang.String name, java.lang.Object value)
      Set the value of a variable.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • in

        protected java.io.InputStream in
      • out

        protected java.io.PrintStream out
      • variables

        protected final java.util.Map<java.lang.String,​java.lang.Object> variables
    • Constructor Detail

      • CommandSessionImpl

        protected CommandSessionImpl​(CommandProcessorImpl shell,
                                     java.io.InputStream in,
                                     java.io.PrintStream out,
                                     java.io.PrintStream err)
    • Method Detail

      • close

        public void close()
        Description copied from interface: CommandSession
        Close this command session. After the session is closed, it will throw IllegalStateException when it is used.
        Specified by:
        close in interface CommandSession
      • execute

        public java.lang.Object execute​(java.lang.CharSequence commandline)
                                 throws java.lang.Exception
        Description copied from interface: CommandSession
        Execute a program in this session.
        Specified by:
        execute in interface CommandSession
        Returns:
        the result of the execution
        Throws:
        java.lang.Exception
      • getKeyboard

        public java.io.InputStream getKeyboard()
        Description copied from interface: CommandSession
        Return the input stream that is the first of the pipeline. This stream is sometimes necessary to communicate directly to the end user. For example, a "less" or "more" command needs direct input from the keyboard to control the paging.
        Specified by:
        getKeyboard in interface CommandSession
        Returns:
        InpuStream used closest to the user or null if input is from a file.
      • get

        public java.lang.Object get​(java.lang.String name)
        Description copied from interface: CommandSession
        Get the value of a variable.
        Specified by:
        get in interface CommandSession
        Returns:
      • put

        public void put​(java.lang.String name,
                        java.lang.Object value)
        Description copied from interface: CommandSession
        Set the value of a variable.
        Specified by:
        put in interface CommandSession
        Parameters:
        name - Name of the variable.
        value - Value of the variable
      • getConsole

        public java.io.PrintStream getConsole()
        Description copied from interface: CommandSession
        Return the PrintStream for the console. This must always be the stream "closest" to the user. This stream can be used to post messages that bypass the piping. If the output is piped to a file, then the object returned must be null.
        Specified by:
        getConsole in interface CommandSession
        Returns:
      • format

        public java.lang.CharSequence format​(java.lang.Object target,
                                             int level,
                                             Converter escape)
                                      throws java.lang.Exception
        Description copied from interface: Converter
        Convert an objet to a CharSequence object in the requested format. The format can be INSPECT, LINE, or PART. Other values must throw IllegalArgumentException.
        Specified by:
        format in interface Converter
        Parameters:
        target - The object to be converted to a String
        level - One of INSPECT, LINE, or PART.
        escape - Use this object to format sub ordinate objects.
        Returns:
        A printed object of potentially multiple lines
        Throws:
        java.lang.Exception
      • convert

        public java.lang.Object convert​(java.lang.Class<?> desiredType,
                                        java.lang.Object in)
        Description copied from interface: CommandSession
        Convert an object to another type.
        Specified by:
        convert in interface CommandSession
        Specified by:
        convert in interface Converter
        Parameters:
        desiredType - The type that the returned object can be assigned to
        in - The object that must be converted
        Returns:
        An object that can be assigned to the desired type or null.
      • format

        public java.lang.CharSequence format​(java.lang.Object result,
                                             int inspect)
        Description copied from interface: CommandSession
        Convert an object to string form (CharSequence). The level is defined in the Converter interface, it can be one of INSPECT, LINE, PART. This function always returns a non null value. As a last resort, toString is called on the Object.
        Specified by:
        format in interface CommandSession
        Returns:
      • expr

        public java.lang.Object expr​(java.lang.CharSequence expr)