Introduction to Expressions

 OBO-Edit includes a powerful scripting language called OSL, the OBO Scripting Language. This language is a heavily extended version of the Java Expression Language (Jexl) from the Apache Commons Project (http://jakarta.apache.org/commons/jexl/index.html).

OSL extends Jexl with the following features:

In this guide, the terms "script" and "expression" are used more or less interchangably, with "expression" usually referring to a shorter, single-line script used inside a layout or search.

What Do They Do?

Currently, OSL expressions can be used in 3 places:

Future versions of OBO-Edit will have many more uses for scripts.

What You Need to Know to Use OSL

OSL is a powerful, full-featured scripting language. OSL users should be comfortable programming in a complex scripting language (OSL's syntax and features are very similar to JavaScript). OSL scripts in OBO-Edit have direct access to somes of OBO-Edit's Java datamodels, so some familiarity with Java and the conventions of javadoc are also very useful.