Package org.apache.bsf.engines.jacl

# Class JaclEngine

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

All Implemented Interfaces:
  `PropertyChangeListener`, `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
  Description
  `JaclEngine()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `call(Object obj, String method, 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
  `Object`
  `eval(String source, int lineNo, int columnNo, Object oscript)`
  This is used by an application to evaluate a string containing some expression.
  `void`
  `initialize(BSFManager mgr, String lang, 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 Details

  - ### JaclEngine

    public JaclEngine()

- ## Method Details

  - ### call

    public Object call(Object obj, String method, 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 Object eval(String source, int lineNo, int columnNo, 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, String lang, 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