Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.jdaemon.six
Class DescriptorBuilder  view DescriptorBuilder download DescriptorBuilder.java

java.lang.Object
  extended byorg.jdaemon.six.BuilderDelegator
      extended byorg.jdaemon.six.TransformerStack
          extended byorg.jdaemon.six.DescriptorBuilder
All Implemented Interfaces:
Builder

public class DescriptorBuilder
extends TransformerStack

Interface for outputting Report metadata in order to dynamically build a stylesheet.

Although a given report can be rendered by a static stylesheet, the limitations of XSL make it difficult to create a single stylesheet that will render a large variety of different reports. For instance, simple tasks like hiding a column of data require either that the name of the column be hardwired into the stylesheet, or that we use some non-standard XSL features. We solve this problem instead by defining a report metadata language that can be rendered into a stylesheet using XSL. In essence, we use a meta-stylesheet to create stylesheets from Report meta-data.

This might seem over-complicated but it has the huge advantage that our generated stylesheets can be relatively simple, and so (hopefully) mutually compatible across different implementations. This in turn will allow us to use client-side XSLT on IE 6 and NS 6


Field Summary
 
Fields inherited from class org.jdaemon.six.TransformerStack
stack
 
Fields inherited from class org.jdaemon.six.BuilderDelegator
delegate
 
Constructor Summary
DescriptorBuilder(Builder parent)
          Creates a new instance of StyleBuilder
 
Method Summary
 void endCellDescriptor()
          End a cell-descriptor element
 void endGroupDescriptor()
          End a grouping-descriptor element.
 void endReportDescriptor()
          End a report-descriptor element.
 void endRowDescriptor()
          End a row-descriptor element
 void endSortDescriptor()
          End a sort-descriptor element
 void startCellDescriptor(java.lang.String class_id, org.jdaemon.util.AttributeList attributes)
          Begin a cell-descriptor element
 void startGroupDescriptor(org.jdaemon.util.AttributeList attributes)
          Begin a group-descriptor element
 void startReportDescriptor(java.lang.String class_id, org.jdaemon.util.AttributeList attributes)
          Begin a report-descriptor element
 void startRowDescriptor(java.lang.String class_id, org.jdaemon.util.AttributeList attributes)
          Begin a row-descriptor element
 void startSortDescriptor(java.lang.String class_id, org.jdaemon.util.AttributeList attributes)
          Begin a sort-descriptor element
 
Methods inherited from class org.jdaemon.six.TransformerStack
pop, push
 
Methods inherited from class org.jdaemon.six.BuilderDelegator
endElement, flush, startElement, writeObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DescriptorBuilder

public DescriptorBuilder(Builder parent)
Creates a new instance of StyleBuilder

Method Detail

startReportDescriptor

public void startReportDescriptor(java.lang.String class_id,
                                  org.jdaemon.util.AttributeList attributes)
Begin a report-descriptor element

A report-descriptor element describes a report of a particular class. In principle, a report-descriptor with a class 'myreport' should accurately describe all reports with class 'myreport'.

A report-descriptor may contain either one of the following: a group-descriptor element a sort-descriptor element The former being the case when the report contains totals for all the data presented and the latter being the case when only group totals are present.


endReportDescriptor

public void endReportDescriptor()
End a report-descriptor element.


startGroupDescriptor

public void startGroupDescriptor(org.jdaemon.util.AttributeList attributes)
Begin a group-descriptor element

A group-descriptor element describes data with associated totals

A group-descriptor may contain: a sort-descriptor element to describe the way data within this group is sorted row-descriptor elements to describe total and data rows. Typically a grouping descriptor will either contain a sort-descriptor (for sorts and sub-groupings) and a row-descriptor (for totals), or it will contain two row-descriptors, one for the bulk data and one for the totals.


endGroupDescriptor

public void endGroupDescriptor()
End a grouping-descriptor element.


startSortDescriptor

public void startSortDescriptor(java.lang.String class_id,
                                org.jdaemon.util.AttributeList attributes)
Begin a sort-descriptor element

A sort-descriptor element describes the ordering and aggregation of rows

A sort-descriptor may contain either of the following: a sort-descriptor element describing sub-sorts a group-descriptor to describe data and associated totals


endSortDescriptor

public void endSortDescriptor()
End a sort-descriptor element


startRowDescriptor

public void startRowDescriptor(java.lang.String class_id,
                               org.jdaemon.util.AttributeList attributes)
Begin a row-descriptor element

A row-descriptor element describes rows within a report of a particular class.

A row-descriptor may contain: cell-descriptor elements to describe the cells within the row


endRowDescriptor

public void endRowDescriptor()
End a row-descriptor element


startCellDescriptor

public void startCellDescriptor(java.lang.String class_id,
                                org.jdaemon.util.AttributeList attributes)
Begin a cell-descriptor element

A cell-descriptor element describes cells within a report of a particular class.


endCellDescriptor

public void endCellDescriptor()
End a cell-descriptor element