Windward provides the ability to supply data for a template from virtually any source.
Included with Windward are classes that supply data from an XML stream or a SQL database. However, if you need to generate reports and the necessary data is not available as an XML stream or from a SQL database, then you can write your own data source.
The DataSourceProvider and associated classes provide all data source specific methods necessary for substituting data into a report. It has an XML-like flavor but does not require the data source to be XML or SQL.
The net.windward.datasource package contains the interfaces that must be implemented by a data provider. There is no code in this package other than a single exception class.
You will find that the data provider implementation requires some code that generally could be handled by Windward Reports and not pushed down to the provider. However, for the rare cases where the data provider needs to handle an issue in a non-standard way, all work was pushed down to the data provider level. For example, while the out tag has a default value, it’s up to the data provider to use that value if a group does not exist. This way the default value can be a key to the actual default value, instead of being limited to being the literal string.
This interface and all implementations provided by Windward Studios are copyrighted by Windward Studios. You can write your own implementation of these interfaces with two restrictions:
This interface can only be used with Windward. It cannot be used with other programs.