com.ibm.bsf.engines.xslt
Class XSLTEngine

java.lang.Object
  |
  +--com.ibm.bsf.util.BSFEngineImpl
        |
        +--com.ibm.bsf.engines.xslt.XSLTEngine
All Implemented Interfaces:
BSFEngine, java.util.EventListener, java.beans.PropertyChangeListener

public class XSLTEngine
extends BSFEngineImpl

Xerces XSLT interface to BSF. Requires Xalan and Xerces from Apache. This integration uses the BSF registry to pass in any src document and stylesheet base URI that the user may wish to set.

Author:
Sanjiva Weerawarana
, Sam Ruby

Field Summary
 
Fields inherited from class com.ibm.bsf.util.BSFEngineImpl
classLoader, classPath, debug, debugStream, declaredBeans, lang, mgr, tempDir
 
Constructor Summary
XSLTEngine()
           
 
Method Summary
 java.lang.Object call(java.lang.Object object, java.lang.String method, java.lang.Object[] args)
          call the named method of the given object.
 void declareBean(BSFDeclaredBean bean)
          Declare a bean after the engine has been started.
 java.lang.Object eval(java.lang.String source, int lineNo, int columnNo, java.lang.Object oscript)
          Evaluate an 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 com.ibm.bsf.util.BSFEngineImpl
apply, compileApply, compileExpr, compileScript, exec, propertyChange, setDebug, terminate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XSLTEngine

public XSLTEngine()
Method Detail

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.

eval

public java.lang.Object eval(java.lang.String source,
                             int lineNo,
                             int columnNo,
                             java.lang.Object oscript)
                      throws BSFException
Evaluate an expression. In this case, an expression is assumed to be a stylesheet of the template style (see the XSLT spec).

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.

call

public java.lang.Object call(java.lang.Object object,
                             java.lang.String method,
                             java.lang.Object[] args)
                      throws BSFException
call the named method of the given object.

Parameters:
object - object on which to make the call
method - name of the method / procedure to call
args - the arguments to be given to the procedure
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
Description copied from interface: BSFEngine
Declare a bean after the engine has been started. Declared beans are beans that are named and which the engine must make available to the scripts it runs in the most first class way possible.

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

undeclareBean

public void undeclareBean(BSFDeclaredBean bean)
                   throws BSFException
Description copied from interface: BSFEngine
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