org.eclipse.birt.data.engine.aggregation.extension
Identifier:
org.eclipse.birt.data.AggregationExtension
Since:
1.01
Description:
This extension point is used to support the extension of BIRT aggregations.Each implementation of this extension must comply to interfaces defined in the org.eclipse.birt.engine.api.aggregation package.
All extended aggregations would be referenced in design time with prefix "Total". Say, user may define an aggregation with name "UserAggression". Then this aggregation will be referenced as "Total.UserAggression()" in design.
Configuration Markup:
<!ELEMENT extension (Aggregations)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
This extension point is used to extend aggregation functions. User may define their own aggregation functions through this extension point.
<!ELEMENT Aggregations (Aggregation*)>
Aggregations is a collection of aggregation.
<!ELEMENT UIInfo EMPTY>
<!ATTLIST UIInfo
tip CDATA #IMPLIED
textData CDATA #IMPLIED
parameterMetaInfo CDATA #IMPLIED>
UI information which is used in expression builder.
- tip - The tip which would be displayed in ui when mouse pointer hovers.
- textData - The text which would be insert into script editor in expression builder.
- parameterMetaInfo - The parameter metadata info. Say, a function Sum may presented in ui as "Sum(number a)". Here the "number a" is the parameter metadata info.
<!ELEMENT Aggregation (UIInfo?)>
<!ATTLIST Aggregation
name CDATA #REQUIRED
aggregationClass CDATA #REQUIRED>
An aggregation name should identical to its function name. Say, to invoke an extended aggregation function ABC() in BIRT, the name of that function should be "ABC". And user call that function using script "Total.ABC()". The following function names are of built-in functions and are excluded from user-selectable function names: COUNT,SUM,MAX,MIN,AVE,WEIGHTEDAVE,MOVINGAVE,MEDIAN,MODE,STDDEV,VARIANCE,FIRST,LAST,RUNNINGSUM,IRR,MIRR,NPV,
RUNNINGNPV,COUNTDISTINCT;
- name - The name of this aggregation. The name should be unique and should equal to the function name.
- aggregationClass - The class which implements the aggregation.
Examples:
API Information:
All aggregation extension must implement interfaces defined in
org.eclipse.birt.data.engine.api.aggregation package. See the package's JavaDoc documentation and API interfaces for more information.
Supplied Implementation:
The plugin in directory
test\org.eclipse.birt.data\test\plugins\org.eclipse.birt.thirdparty.aggregation is an example implementation of this extension point.
Copyright (c) 2004-2005 Actuate Corporation.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html