[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[birt-dev] Actuate Extension - Has A Relationship
|
BIRT Developers,
I have a basic question on functionality/extension of the BIRT model.
As I understand the extension scheme, I can create any new type of
ReportItem I want using the reportItemModel extension point. This will
create the equivalent of a Subclass of ReportItem that has overloaded
basic ReportItem functionality. So, using this I can create a
RotatedText control as shown in the samples.
In OO terminology, I am creating an 'Is A' relationship, my new
Extension Point 'Is A' ReportItem, which means I am using a variation of
inheritance.
Inheritance is a great way to add functionality, but it is limited in
that the new functionality only will apply to objects that descend from
my new plug-in. What I would like to be able to do is add function to
the BIRT model that will be used by existing BIRT objects through
composition. Perhaps it is easiest to describe through an example.
Imagine that I have a sophisticated security system that I would like to
integrate into my BIRT reports. I want a report developer to empower
any component (Table, Grid, Row, Cell, Control) to be able to access
this functionality through a simple process (e.g. Add a property to all
of those objects that is named useExternalSecurity). In OO
terminology, I want to have a Table that 'Has A' Security module.
I can not see a way to make this type of extension in the existing BIRT
model. I know that I could go out and add JavaScript code to each
control that I want to use the function, but that is a fairly code
intensive solution. What I would like to be able to do is within the
context of one or more reports be able to over-ride / extend
functionality of any BIRT component, in a common location.
Is there any way to do this in BIRT as it exists today?
If not, is there a way that this functionality could be added?
Scott Rosenbaum
BIRT PMC