Class BeanShellFacade<T>


  • public abstract class BeanShellFacade<T>
    extends java.lang.Object
    This class will be the interface for beanshell interaction. In jEdit it will be used with the static methods of BeanShell
    Since:
    jEdit 4.3pre13
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected BeanShellFacade()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object _eval​(T view, NameSpace namespace, java.lang.String command)
      Evaluates the specified BeanShell expression.
      BshMethod cacheBlock​(java.lang.String id, java.lang.String code, boolean namespace)
      Caches a block of code, returning a handle that can be passed to runCachedBlock().
      protected static Interpreter createInterpreter​(NameSpace nameSpace)  
      java.lang.Object eval​(T param, java.lang.String command)
      Evaluates the specified BeanShell expression with the global namespace
      java.lang.Object eval​(T param, NameSpace namespace, java.lang.String command)
      Evaluates the specified BeanShell expression.
      void evalSelection​(T param, TextArea textArea)
      Evaluates the text selected in the specified text area.
      NameSpace getNameSpace()  
      protected abstract void handleException​(T param, java.lang.String path, java.lang.Throwable t)  
      protected void init()
      Initialize things.
      protected abstract void resetDefaultVariables​(NameSpace namespace)  
      java.lang.Object runCachedBlock​(BshMethod method, T param, NameSpace namespace)
      Runs a cached block of code in the specified namespace.
      protected abstract void setupDefaultVariables​(NameSpace namespace, T param)  
      protected void setVariable​(NameSpace nameSpace, java.lang.String name, java.lang.Object object)
      Set a beanshell variable in the namespace without overriding it
      protected static void unwrapException​(java.lang.Exception e)
      This extracts an exception from a 'wrapping' exception, as BeanShell sometimes throws.
      • Methods inherited from class java.lang.Object

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

      • BeanShellFacade

        protected BeanShellFacade()
    • Method Detail

      • init

        protected void init()
        Initialize things. It is called by the constructor. You can override it to import other packages
      • evalSelection

        public void evalSelection​(T param,
                                  TextArea textArea)
        Evaluates the text selected in the specified text area.
        Parameters:
        param - some sort of parameter
        textArea - the textArea
      • eval

        public java.lang.Object eval​(T param,
                                     java.lang.String command)
        Evaluates the specified BeanShell expression with the global namespace
        Parameters:
        param - The parameter
        command - The expression
        Returns:
        an object
      • eval

        public java.lang.Object eval​(T param,
                                     NameSpace namespace,
                                     java.lang.String command)
        Evaluates the specified BeanShell expression. Errors are reported in a dialog box.
        Parameters:
        param - The parameter
        namespace - The namespace
        command - The expression
        Returns:
        an object
      • _eval

        public java.lang.Object _eval​(T view,
                                      NameSpace namespace,
                                      java.lang.String command)
                               throws java.lang.Exception
        Evaluates the specified BeanShell expression. Unlike eval(), this method passes any exceptions to the caller.
        Parameters:
        view - The view. Within the script, references to buffer, textArea and editPane are determined with reference to this parameter.
        namespace - The namespace
        command - The expression
        Returns:
        an object
        Throws:
        java.lang.Exception - instances are thrown when various BeanShell errors occur
      • cacheBlock

        public BshMethod cacheBlock​(java.lang.String id,
                                    java.lang.String code,
                                    boolean namespace)
                             throws java.lang.Exception
        Caches a block of code, returning a handle that can be passed to runCachedBlock().
        Parameters:
        id - An identifier.
        code - The code
        namespace - If true, the namespace will be set
        Returns:
        a hsh method
        Throws:
        java.lang.Exception - instances are thrown when various BeanShell errors occur
      • runCachedBlock

        public java.lang.Object runCachedBlock​(BshMethod method,
                                               T param,
                                               NameSpace namespace)
                                        throws java.lang.Exception
        Runs a cached block of code in the specified namespace. Faster than evaluating the block each time.
        Parameters:
        method - The method instance returned by cacheBlock()
        param - a parameter
        namespace - The namespace to run the code in
        Returns:
        an object
        Throws:
        java.lang.Exception - instances are thrown when various BeanShell errors occur
      • getNameSpace

        public NameSpace getNameSpace()
        Returns:
        the global namespace.
      • setVariable

        protected void setVariable​(NameSpace nameSpace,
                                   java.lang.String name,
                                   java.lang.Object object)
                            throws UtilEvalError
        Set a beanshell variable in the namespace without overriding it
        Parameters:
        nameSpace - the namespace
        name - the name of the variable
        object - the value of the variable
        Throws:
        UtilEvalError - when there is an error
      • handleException

        protected abstract void handleException​(T param,
                                                java.lang.String path,
                                                java.lang.Throwable t)
      • unwrapException

        protected static void unwrapException​(java.lang.Exception e)
                                       throws java.lang.Exception
        This extracts an exception from a 'wrapping' exception, as BeanShell sometimes throws. This gives the user a more accurate error traceback
        Parameters:
        e - the exception
        Throws:
        java.lang.Exception - on error