This extension point is used to support the extension of BIRT aggregations.Each implementation of this extension must comply to interfaces defined in the <i>org.eclipse.birt.data.engine.api.aggregation</i> package.
All extended aggregations would be referenced in design time with prefix "Total". Say, user may defined an aggregation with name "UserAggression". Then this aggregation will be referenced as "Total.UserAggression()" in design.
This extension point is used to extend aggregation functions. User may define their own aggregation functions through this extension point.
Aggregations is a collection of aggregation.
UI information which is used in expression builder.
The tip which would be displayed in ui when mouse pointer hovers.
The text which would be insert into script editor in expression builder.
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.
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;
The name of this aggregation. The name should be unique and should equal to the function name.
The class which extends org.eclipse.birt.data.engine.api.aggregation.Aggregation.
1.01
<plugin
id="org.eclipse.birt.thirdparty.aggregation"
name="Aggr"
version="1.0.1"
provider-name="Eclipse.org">
<runtime>
<library name="aggregation.jar">
<export name="*"/>
</library>
</runtime>
<requires>
<import plugin="org.eclipse.birt.data"/>
</requires>
<extension
point="org.eclipse.birt.data.aggregation">
<Aggregations>
<Aggregation
name= "NewAve"
aggregationClass = "org.eclipse.birt.thirdparty.aggregation.TotalAve"
>
<UIInfo
tip="New Ave tip~"
textData="Total.NewAve()"
parameterMetaInfo="String a, String b,Stringc"
/>
</Aggregation>
<Aggregation
name="NewCount"
aggregationClass = "org.eclipse.birt.thirdparty.aggregation.TotalCount"
>
<UIInfo
tip="New Count tip~"
textData="Total.NewCount()"
parameterMetaInfo="String aa, String bb,String cc"
/>
</Aggregation>
<Aggregation
name ="NewSum"
aggregationClass = "org.eclipse.birt.thirdparty.aggregation.TotalSum"
>
<UIInfo
tip="New Sum tip~"
textData="Total.NewSum()"
parameterMetaInfo="String aaa, String bbb,String ccc"
/>
</Aggregation>
</Aggregations>
</extension>
</plugin>
All aggregation extension must implement interfaces defined in
<i>org.eclipse.birt.data.engine.api.aggregation</i> package. See the package's JavaDoc documentation and API interfaces for more information.
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