| Home >> All >> jbreport >> [ core Javadoc ] |
jbreport.core: Javadoc index of package jbreport.core.
Package Samples:
jbreport.core
Classes:
DefaultXMLParseHandler: This is the default xml parser handling class. It is registered with the actual sax parser, and will receive the appropriate callbacks. It should not know about concrete implementations of reporting elements, it should just make the appropriate calls to the ReportElementFactory instance. The sequence of events when traversing the parse tree is the following. On startElement, see if the top node in the stack knows how to deal with its own children, [it does] then pass the element type, attributes and cdata to the top stack node while still in this node. [it does not] then try to create the appropriate ...
ReportVisitorState: This is used to define the state of a traversal to the Visitor of a class. We provide this, as various types of callbacks will be made available that might result in the same instance being visited more than once. This is required in order to cater for visitors that generate markup which consists of begin and end tags. It can also be used to generate display trees, the depth of which is obtained in a more efficient manner than would otherwise be possible. We also make it possible for user state to be moved around during the the traversal by means of the getUserData() and setUserData() methods.
RepositoryImpl: This represents a storage area for a bunch of other element types, including but not limited to, datasources, queries, documents, etc. As many repositories are allowed, this class provides methods to search for repositories. It should be noted that a repository forms its' own namespace, and that elements such as queries can be obtained by referring to a given namespace. ie. should a Query x be required from Repository y, we can either get Repository y, and then call getQuery("x") on it, or if we already have a Repository z, then the call getQuery("y.x") will return the same Query element.
ReportVisitor: Define the operations that are available to iterators walking a ReportElement hierarchy. These methods will be called by the ReportElements themselves, when their accept methods are called. All methods are defined as taking a ReportElement instance. Access to properties of the concrete instance should be done through the appropriate accessors on the ReportElement interface. Under no circumstances should the concrete ReportElement instance be cast to a concrete type.
Group: This provides a home for both queries and break elements. All ReportSection elements should be enclosed by a group, should they require either data handling or breaks. The alternative to this would be some form of on-the-fly normalization. This route was considered and discounted as the author felt this would be difficult to debug and maintain.
ReportElementFactoryImpl: This is the default implementation of the ReportElementFactory interface. It reads the appropropriate element mapping in from the parse.properties file, and then uses that to map the element types into java classes. This is still quite a simple file, as none of the element identifiers are used in more than one context.
DefaultReportVisitor: This is an implementation of the ReportVisitor interface which does nothing. It is provided as a convenience to aid writing concrete implementations of the ReportVisitor class. For more advanced uses, this class implements the Composite pattern, and enables more than one ReportVisitor to be used for every traversal.
Traversable: Defines an interface which allows classes to traverse the hierarchy of elements in a predefined fashion. At each point in the traversal, this enables a callback to a well-defined method. We use the Iterator [GOF 257] pattern to perform the iteration and the Visitor [GOF 331] pattern to perform the operation.
XMLAware: This interface defines the operations that will be performed on an element that implements this interface during the xml parse tree traversal. It's not really necessary at the moment, but I don't want any public methods in AbstractReportElement that are not defined by some interface.
Include: This will render the named elements that are referenced. This is used to include standard sections of raw output data without cluttering the essential document declaration.
Style: This represents either a style or a set of styles - known as a style-sheet within a repository. It includes special methods for locating inherited data within a stylesheet.
QueryBoundResult: This is used to get a particular cell of data from the results of the query to the datasource. It would normally be used to present information during section breaks.
ReportSectionImpl: This is the default implementation of a ReportSection instance. It is made public as classes in other packages might need to implement the ReportSection interface.
Document: Represents a complete document that can be rendered to produce a valid output result. This would be the equivalent of an html page, acrobat document, etc.
TLine: This is used to format the output of section headers into a table-like format. This will render to a table with a single line - in many cases.
AbstractReportElement: This provides default implementations of all the interfaces that are implemented by most elements that exist as part of the report framework.
ReportCompositeImpl: The default concrete implementation of the ReportComposite interface. This is public as classes in other packages might need to extend this.
XMLHandler: This defines the methods that are available for use by XMLParseElement instances when interaction with the parser is required.
NullReportStylesheet: This provides the ReportStylesheet functionality for when the stylesheet does not do anything but return null when queried.
XMLParsingElement: This interface defines the methods that should be implemented so that an XML parse tree can be appropriately constructed.
TableRow: This contains all the data relating to a single row in the table. The number of columns obtained from the table.
Table: This will create a table in the document. The table is normally bound to the result of a datasource query.
TreeTraverser: This class is used to traverse a tree of elements, and call the accept method on each element in the tree.
Fragment: This element can be inserted into other elements as raw data to be rendered as-is in the final output.
SectionBreak: This provides for breaking a section into sub-sections based on various events.
| Home | Contact Us | Privacy Policy | Terms of Service |