Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search


Chart Engine API

This project aims to provide API and Extensibility support for the Charting Engine.



Specification Leads

David Michonneau


Capability List

  • API
    • Creating a chart
    • Saving a chart
    • Loading a chart
    • Generating a chart
  • Extensions
    • Custom charts
    • Custom series
    • Custom device renderers
    • Custom model renderers

New in 2.0

  • Generator API
    • An external application context can be passed to the engine for scripting (IExternalContext)
    • New prepare method that automatically creates a RuntimeContext
    • External style processor can be fed to engine to control how the chart renders with external styles (IStyleProcessor, IStyle)
    • New interface IActionRenderer allows the user to customize actions at rendering time. For instance Trigger URLs can be adjusted based on the based URL of the rendering environment.
    • Multiple Dataset capability per Series to enable expressions in Triggers
    • External expression evaluator can be plugged in the chart engine
    • Automatic databinding, either through a sql.ResultSet or through a custom row expression evaluator (IDataRowExpressionEvaluator)
    • New classloader interface (IScriptClassLoader) to load Java event handlers
  • Device renderer API
    • New support for dynamic DPI (Dots per inch) resolution
    • JPEG renderer supports new compression quality setting
    • New IImageMapEmitter interface to allow any renderer to get access to an ImageMap. Useful for interactive charts.
    • New ICallBackNotifier interface to support interactive java callback mechanism for charts in SWT/Swing
    • Improved rendering quality in HTML and PDF BIRT reports.
    • SWT renderer can use SWT 3.1 enhancements to render the chart

New in 2.1

  • Device renderer API
    • new PDF renderer

Planned for 2.2

  • New Simple Model API accessible from scripting
    • Set of clear interfaces that only expose what can be changed at scripting time
    • Integration with Report’s Simple Model API
  • Centralized and clearer Engine API
    • One single entry point class (gathering Generator, SerializerImpl, PluginSettings)
    • Change Engine API classes to interfaces (RuntimeContext,…) in one api package
  • Save runtime data in Model’s xml

Specification Document(s)

Related Bugzilla Entries

110683 Chart Engine API Improvements

Back to the top