org.apache.bsf.engines.jacl

## Class JaclEngine

- java.lang.Object
- - org.apache.bsf.util.BSFEngineImpl
  - - org.apache.bsf.engines.jacl.JaclEngine

- All Implemented Interfaces:
    java.beans.PropertyChangeListener, java.util.EventListener, BSFEngine

      public class JaclEngine
      extends BSFEngineImpl

  This is the interface to Scriptics's Jacl (Tcl) from the Bean Scripting Framework.

  Author:
    Sanjiva Weerawarana

- - ### Field Summary

    - ### Fields inherited from class org.apache.bsf.util.BSFEngineImpl

      `classLoader, classPath, declaredBeans, lang, mgr, tempDir`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JaclEngine()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `call(java.lang.Object obj, java.lang.String method, java.lang.Object[] args)` This is used by an application to call into the scripting engine to make a function/method call.
    `void` | `declareBean(BSFDeclaredBean bean)` Declare a bean
    `java.lang.Object` | `eval(java.lang.String source, int lineNo, int columnNo, java.lang.Object oscript)` This is used by an application to evaluate a string containing some expression.
    `void` | `initialize(BSFManager mgr, java.lang.String lang, java.util.Vector declaredBeans)` Initialize the engine.
    `void` | `undeclareBean(BSFDeclaredBean bean)` Undeclare a previously declared bean.

    - ### Methods inherited from class org.apache.bsf.util.BSFEngineImpl

      `apply, compileApply, compileExpr, compileScript, exec, iexec, propertyChange, terminate`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JaclEngine

          public JaclEngine()

  - ### Method Detail

    - #### call

          public java.lang.Object call(java.lang.Object obj,
                                       java.lang.String method,
                                       java.lang.Object[] args)
                                throws BSFException

      Description copied from interface: `BSFEngine`
      This is used by an application to call into the scripting engine to make a function/method call. The "object" argument is the object whose method is to be called, if that applies. For non-OO languages, this is typically ignored and should be given as null. For pretend-OO languages such as VB, this would be the (String) name of the object. The arguments are given in the args array.
      Parameters:
        `method` - The name of the method to call.
        `args` - an array of arguments to be passed to the extension, which may be either Vectors of Nodes, or Strings.
        `obj` - object on which to make the call
      Throws:
        `BSFException` - if anything goes wrong while eval'ing a BSFException is thrown. The reason indicates the problem.

    - #### declareBean

          public void declareBean(BSFDeclaredBean bean)
                           throws BSFException

      Declare a bean
      Specified by:
        `declareBean` in interface `BSFEngine`
      Overrides:
        `declareBean` in class `BSFEngineImpl`
      Parameters:
        `bean` - the bean to declare
      Throws:
        `BSFException` - if the engine cannot do this operation

    - #### eval

          public java.lang.Object eval(java.lang.String source,
                                       int lineNo,
                                       int columnNo,
                                       java.lang.Object oscript)
                                throws BSFException

      This is used by an application to evaluate a string containing some expression.
      Parameters:
        `source` - (context info) the source of this expression (e.g., filename)
        `lineNo` - (context info) the line number in source for expr
        `columnNo` - (context info) the column number in source for expr
        `oscript` - the expression to evaluate
      Throws:
        `BSFException` - if anything goes wrong while eval'ing a BSFException is thrown. The reason indicates the problem.

    - #### initialize

          public void initialize(BSFManager mgr,
                                 java.lang.String lang,
                                 java.util.Vector declaredBeans)
                          throws BSFException

      Initialize the engine.
      Specified by:
        `initialize` in interface `BSFEngine`
      Overrides:
        `initialize` in class `BSFEngineImpl`
      Parameters:
        `mgr` - The BSFManager that's hosting this engine.
        `lang` - Language string which this engine is handling.
        `declaredBeans` - Vector of BSFDeclaredObject containing beans that should be declared into the language runtime at init time as best as possible.
      Throws:
        `BSFException` - if anything goes wrong while init'ing a BSFException is thrown. The reason indicates the problem.

    - #### undeclareBean

          public void undeclareBean(BSFDeclaredBean bean)
                             throws BSFException

      Undeclare a previously declared bean.
      Specified by:
        `undeclareBean` in interface `BSFEngine`
      Overrides:
        `undeclareBean` in class `BSFEngineImpl`
      Parameters:
        `bean` - the bean to undeclare
      Throws:
        `BSFException` - if the engine cannot do this operation