|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||
See:
Description
| Interface Summary | |
|---|---|
| AxisBuilder | builds the row or column headings |
| AxisConfig | exposes properties to configure an axis. |
| AxisHeaderBuilder | |
| CellBuilder | Created on 18.10.2002 |
| ClickableMember | creates a hyperlink or popup menu on members in the table. |
| ColumnAxisBuilder | |
| ColumnAxisConfig | |
| CornerBuilder | Created on 18.10.2002 |
| PartBuilder | Builds a part of the table |
| RowAxisBuilder | Created on 24.10.2002 |
| RowAxisConfig | |
| SlicerBuilder | Created on 18.10.2002 |
| SpanBuilder | creates an element in a table axis. |
| SpanBuilder.SBContext | |
| TableComponentExtension | Extends a TableComponent. |
| Class Summary | |
|---|---|
| AxisBuilderSupport | Created on 24.10.2002 |
| AxisHeaderBuilderSupport | |
| CellBuilderDecorator | Created on 18.10.2002 |
| CellBuilderImpl | Created on 18.10.2002 |
| ColumnAxisBuilderImpl | |
| CornerBuilderDecorator | Created on 18.10.2002 |
| CornerBuilderImpl | renders the upper left corner |
| LevelAxisDecorator | Decorates an Axis by adding the parents of all members. |
| PartBuilderDecorator | forwards lifecycle events to decoree |
| PartBuilderSupport | Created on 18.10.2002 |
| RowAxisBuilderImpl | common functionality for row axis builders |
| SlicerBuilderDecorator | Created on 18.10.2002 |
| SlicerBuilderImpl | creates a DOM Element from slicer member |
| SpanBuilderDecorator | Created on 18.10.2002 |
| SpanBuilderImpl | renders a row or column heading. |
| TableComponent | Contains a reference to the olap data plus additional gui settings. |
| TableComponentExtensionSupport | Created on 09.01.2003 |
| TableComponentFactory | creates a tablecomponent from xml configuration file |
| TableComponentTag | creates a TableComponentImpl |
Renders an OLAP Table.
The TableComponent is extended thru TableComponentExtensions. The plain table component w/o extensions paints the table w/o any navigations. The extensions add UI elements like expand / collapse buttons and RequestListeners to respond on user actions.
An extension is initialized once when the compnent is created. During initialization it may register decorators with the renderer and/or RequestListeners with the table component. The extensions are listed in confix.xml
TableComponentExtension by
deriving from TableComponentExtensionSupport. In its initialize() method you
add a decorator to the tables CellBuilder. The decorator will extend CellBuilderDecorator.
Finally you register the extension in jpivot/table/config.xml
Example Extension:
public class MyTableExtension extends TableComponentExtensionSupport {
public static final String ID = "myextension";
public String getId() {
return ID;
}
public void initialize(RequestContext context, TableComponent table) throws Exception {
super.initialize(context, table);
MyCellBuilderDecorator cbd = new MyCellBuilderDecorator(table.getCellBuilder());
table.setCellBuilder(cbd);
}
...
}
The ID is used to access the extension from JSP pages via JSTL Expression Language.
Example of a CellBuilderDecorator:
public class MyCellBuilderDecorator extends CellBuilderDecorator {
public MyCellBuilderDecorator(CellBuilder delegate) {
super(delegate);
}
public Element build(Cell cell, boolean even) {
Element el = super.build(cell, even);
// add your attributes or children here
return el;
}
public void startBuild(RequestContext context) {
super.startBuild(context);
// initialisation stuff goes here
}
public void stopBuild() {
// clean up stuff goes here
super.stopBuild();
}
}
Example registering the extension with the table component in config.xml:
<table class="com.tonbeller.jpivot.table.TableComponent"> <cellBuilder class="com.tonbeller.jpivot.table.CellBuilderImpl"/> ... <extension class="my.package.MyTableExtension"/> </table>
|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||