Evaluator Factory

The evaluator factory provides access to system-supplied and user-defined script evaluators.

Evaluator

An evaluator supports evaluation of expressions in arbitrary scripting languages. This capability is necessary in order to support the <xpdl:Script> element, which specifies the language used for expressions within an XPDL package. OBE comes with a basic evaluator factory implementation which supports three different evaluator types.

BSF Evaluator

This evaluator supports a variety of scripting language via the Apache Bean Scripting Framework (BSF). This pluggable scripting framework supports any BSF-compliant scripting language, which as standard includes:

Jaxen Evaluator

This evaluator supports the W3C XPath 1.0 langauge via the Apache Jaxen library. Its strength lies it its complete and robust implementation of XPath semantics and its ability to work with standard DOM documents.

JXPath Evaluator

This evaluator supports the W3C XPath 1.0 langauge via the Apache JXPath library. Its strength lies in its ability to use XPath expressions to perform reflective navigations and computations over complex Java object graphs.

Evaluator Meta-data

Evaluator meta-data are used to register an evaluator type. The basic evaluator factory implementation that comes with OBE reads and stores these data in the configuration file BasicEvaluatorFactory.xml. ; entries have the format:
<bsf-evaluator id="nmtoken" type="nmtoken"? threadsafe="true|false"?>
<display-name .../>?
<author .../>?
<description .../>?
<doc-url .../>?
<grammar .../>?
<language .../>?
</bsf-evaluator>

<jaxen-evaluator id="nmtoken" type="nmtoken"? threadsafe="true|false"?>
<display-name .../>?
<author .../>?
<description .../>?
<doc-url .../>?
<grammar .../>?
</jaxen-evaluator>

<jxpath-evaluator id="nmtoken" type="nmtoken"? threadsafe="true|false"?>
<display-name .../>?
<author .../>?
<description .../>?
<doc-url .../>?
<grammar .../>?
</jxpath-evaluator>
id
The ID of the grammar, expressed as a MIME content type.
grammar
The URL of the document containing the formal grammar definition for the language.
language
The name of the pluggable BSF-compliant language.