Each SdmxSource module has a standardised naming convention and package structure to make it easy to discover the functionality provided by each module. The package structure is as follows:
Manager – Provides high level interfaces, usually the entry point from an external module into a module. A manager usually delegates work to builders and engines.
Engine – does the work, usually delegated by a manager.
Builder – builds something from one or more objects.
Model – Java objects that contain state, usually to transfer within the module.
Util – any additional utility classes specific to the module.
The SdmxAPI defines high level SDMX Interfaces that lend themselves to having more then one implementation. Some of the Interfaces defined in the SDMX API have multiple implementations amongst the SdmxSource project.
The SdmxBeans contain implementations of all the domain Objects.
The structure parser provides functionality to validate and build SdmxBeans and SuperBeans from SDMX and EDI messages. The structure parser can also write SDMX-ML from SdmxBeans. The Structure parser offers the ability to resolve cross references, and externally referenced structures.
The EDI Parser parses an EDI message into SdmxBeans and/or a DataReaderEngine. The EDI parser can also write EDI structure messages from SdmxBeans, and write EDI data with the EDIDataWriterEngine.
The EDI parser is used by the StructureParser to handle EDI structure messages.
The Data Parser offers the ability to discover meta information about an SDMX or EDI dataset, transform data, create SDMX Schemas, Validate Datasets, and more.
This module provides implementation classes for interfaces which define methods for retrieving Sdmx Structures and Registrations.